<?xml version="1.0" encoding="UTF-8"?>
<chapter id="details.search">
<chapterinfo>
  <authorgroup>
    <author> &Darin.Strait; &Darin.Strait.mail; </author>
  </authorgroup>
  <date>2010-07-25</date>
  <releaseinfo>4.5</releaseinfo>
</chapterinfo>

<title>Search Transactions</title>

<sect1 id="details.search.general">
<title>General</title>

<para>
  The <guilabel>Search Transactions</guilabel> dialog searches your data based
  on criteria that you specify. You can access the dialog by going to
  the <guimenu>Edit</guimenu> menu and selecting
  <guimenuitem>Find transaction...</guimenuitem>.
</para>

<para>
  There are two main tabs in this dialog. The <quote>Criteria</quote> tab
  displays a number of sub-tabs for specifying the search criteria.
</para>

<para>
  The results will be displayed under the <quote>Result</quote> tab after the
  search has completed. Below the list of results, &kappname; shows the number
  of transactions that met the search criteria.  Double-clicking on an
  individual transaction in the result list will bring up the appropriate ledger
  and display the transaction.
</para>

<para>
  When the <guibutton>Find</guibutton> button is pressed, the search is
  initiated and all criteria that have been entered on any tab will be taken
  into account.
</para>

<para>
 The <guibutton>Reset</guibutton> button resets all of the fields on all of the
 criteria sub-tabs back to the defaults. This allows you to specify new search
 criteria.
</para>

<para>
  The <guibutton>Close</guibutton> button closes the <guilabel>Search
  Transactions</guilabel> dialog box.
</para>

</sect1>

<sect1 id="details.search.criteria">
<title>Search Criteria</title>

<para>
  There are several sub-tabs under the main <quote>Criteria</quote> tab, each of
  which allows you to specify different types of search criteria.  Below the
  area for specifying the criteria, &kappname; lists each of the different types
  of criteria that are currently specified for the search.
</para>

<sect2 id="details.search.text">
<title>Text</title>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="find-text.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Search transactions Dialog, Text tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
  This tab allows you to specify text to search for.  There are also two check
  boxes that control how the text is used in the search.
</para>

<para>
  By default, this will match on simple substrings. For example:
</para>

<para>
<itemizedlist>
  <listitem>
    <para><quote>Best</quote> will find <quote>Best Cakes, Inc.</quote></para>
  </listitem>
  <listitem>
    <para>
      <quote>est</quote> will also find <quote>Best Cakes, Inc.</quote>
    </para>
  </listitem>
</itemizedlist>
</para>

<para>
  In the dropdown field next to the text field,
  select <guilabel>Contains</guilabel> if you want to find transactions that
  contain the text, or select <guilabel>Does not contain</guilabel> if you want
  to find transactions that do not contain the specified text.
</para>

<para>
  If you check the <guilabel>Case Sensitive</guilabel> box, the search will be
  case sensitive.  For example, <quote>best</quote> would not find <quote>Best
  Cakes, Inc.</quote> if this option is set.
</para>

<para>
  If you check the <guilabel>Treat Text as regular expression</guilabel> box,
  the text will be treated as a regular expression.  For details on how to
  craft a regular expression, visit the &Qt; documentation about the
  <ulink url="http://qt-project.org/doc/qt-4.8/qregexp.html#1">QRegExp
  class</ulink>.
</para>
</sect2>

<sect2 id="details.search.account">
<title>Account</title>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="find-account.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Search transactions Dialog, Account tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
  This tab allows you to specify the accounts that should be searched. 
</para>

<para>
  Accounts are displayed in a tree format. Accounts that are marked for search
  are indicated with a check box. If you click the <guibutton>All</guibutton>
  button, all accounts are marked for searching. If you click the
  <guibutton>None</guibutton> button, no accounts will be marked for
  searching. Individual accounts can be marked or unmarked by clicking on the
  box next to the account name using the &LMB;. A complete hierarchy of accounts
  can be marked or unmarked by clicking on the box using the &RMB;.
</para>
</sect2>

<sect2 id="details.search.date">
<title>Date</title>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="find-date.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Search transactions Dialog, Date tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
  This tab allows you to specify which dates should be searched.
</para>

<para>
  The <quote>Range</quote> control provides a convenient way to set the From and
  To controls.  The From and To controls can be manipulated individually. Dates
  can be entered manually. The controls will prevent you from entering
  non-existing dates. Date values can also be changed by clicking on the up and
  down arrows when a particular part of a date is highlighted.  Clicking on the
  small calendar icon will bring up a calendar to easily select dates.
</para>
</sect2>


<sect2 id="details.search.amount">
<title>Amount</title>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="find-amount.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Search transactions Dialog, Amount tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
  This tab allows you to specify what amounts should be searched for.
</para>

<para>
  You can search for an exact amount or for a range of amounts. If you click on
  the calculator icon, a small on-screen calculator will pop up to assist you in
  entering a value.
</para>
</sect2>

<sect2 id="details.search.category">
<title>Category</title>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="find-category.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Search transactions Dialog, Category tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
  This tab allows you to specify which categories should be searched. 
</para>

<para>
  Categories are displayed in a tree format. Categories that are marked for
  search are indicated with a box. If you click the <guibutton>All</guibutton>
  button, all categories are marked for searching. If you click
  the <guibutton>None</guibutton> button, no categories will be marked for
  searching. If you click the <guibutton>Income</guibutton> button, income
  categories will be marked and expense categories will be unmarked. If you
  click the <guibutton>Expense</guibutton> button, income categories will be
  unmarked and expense categories will be marked.
</para>

<para>
  Individual categories can be marked or unmarked by clicking on the box next to
  the category name using the &LMB;. A complete hierarchy of categories can be
  marked or unmarked by clicking on the box using the &RMB;.
</para>
</sect2>

<sect2 id="details.search.payee">
<title>Payee</title>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="find-payee.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Search transactions Dialog, Payee tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
  This tab allows you to specify which payees should be searched. 
</para>

<para>
  Payees that are marked for search are indicated with a box. If you click
  the <guibutton>All</guibutton> button, all payees are marked for searching. If
  you click the <guibutton>None</guibutton> button, no payees will be marked for
  searching. Individual payees can be marked or unmarked by clicking on the box
  next to the payee name.
</para>

<para>
  If you check the <guilabel>Select transactions without payees</guilabel> box,
  only transactions with no payee will be selected.
</para>

</sect2>

<sect2 id="details.search.details">
<title>Details</title>

<para>
  This tab allows you to specify various additional search criteria.
</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="find-details.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Search transactions Dialog, Details tab</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
<itemizedlist>
  <title>Type can be one of the following:</title>
  <listitem><para>All Types</para></listitem>
  <listitem><para>Payments</para></listitem>
  <listitem><para>Deposits</para></listitem>
  <listitem><para>Transfers</para></listitem>
</itemizedlist>

<itemizedlist>
  <title>State can be one of the following:</title>
  <listitem><para>All states</para></listitem>
  <listitem><para>Not reconciled</para></listitem>
  <listitem><para>Cleared</para></listitem>
  <listitem><para>Reconciled</para></listitem>
</itemizedlist>

<itemizedlist>
  <title>Validity can be one of the following:</title>
  <listitem><para>Any transaction</para></listitem>
  <listitem><para>Valid transaction</para></listitem>
  <listitem><para>Invalid transaction</para></listitem>
</itemizedlist>
</para>

<para>
  You can search for a particular transaction number or search for a range of
  transaction numbers.
</para>

</sect2>
</sect1>

<sect1 id="details.search.results">
<title>Search results</title>

<para>
  The <quote>Result</quote> tab displays the Date, Account, Details,
  Reconciliation status, Payment, and Deposit for each transaction
  that matches the search criteria you have entered.  Right clicking
  on the header row of the results list allows you to alter the sort
  order of the results.
</para>

<para>
  Double-clicking on a transaction will display the corresponding
  account ledger and focus on the selected transaction.
</para>

</sect1>

</chapter>
