Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 6a806edc410677c1fd1cd473b6901408 > files > 73

ghc-hledger-lib-devel-0.14-2.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Hledger.Data.Transaction</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Hledger-Data-Transaction.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Hledger-Data-Transaction.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hledger-lib-0.14: Reusable types and utilities for the hledger accounting tool and financial apps in general.</p></div><div id="content"><div id="module-header"><p class="caption">Hledger.Data.Transaction</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A <code><a href="Hledger-Data-Types.html#t:Transaction">Transaction</a></code> consists of two or more related <code><a href="Hledger-Data-Types.html#t:Posting">Posting</a></code>s which balance
to zero, representing a movement of some commodity(ies) between accounts,
plus a date and optional metadata like description and cleared status.
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:nulltransaction">nulltransaction</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a></li><li class="src short"><a href="#v:showTransaction">showTransaction</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></li><li class="src short"><a href="#v:showTransactionUnelided">showTransactionUnelided</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></li><li class="src short"><a href="#v:showTransactionForPrint">showTransactionForPrint</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></li><li class="src short"><a href="#v:showTransaction-39-">showTransaction'</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></li><li class="src short"><a href="#v:showAccountName">showAccountName</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Hledger-Data-Types.html#t:PostingType">PostingType</a> -&gt; <a href="Hledger-Data-Types.html#t:AccountName">AccountName</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></li><li class="src short"><a href="#v:realPostings">realPostings</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; [<a href="Hledger-Data-Types.html#t:Posting">Posting</a>]</li><li class="src short"><a href="#v:virtualPostings">virtualPostings</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; [<a href="Hledger-Data-Types.html#t:Posting">Posting</a>]</li><li class="src short"><a href="#v:balancedVirtualPostings">balancedVirtualPostings</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; [<a href="Hledger-Data-Types.html#t:Posting">Posting</a>]</li><li class="src short"><a href="#v:transactionPostingBalances">transactionPostingBalances</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; (<a href="Hledger-Data-Types.html#t:MixedAmount">MixedAmount</a>, <a href="Hledger-Data-Types.html#t:MixedAmount">MixedAmount</a>, <a href="Hledger-Data-Types.html#t:MixedAmount">MixedAmount</a>)</li><li class="src short"><a href="#v:isTransactionBalanced">isTransactionBalanced</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="/usr/share/doc/ghc/html/libraries/containers-0.4.0.0/Data-Map.html#t:Map">Map</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> <a href="Hledger-Data-Types.html#t:Commodity">Commodity</a>) -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:balanceTransaction">balanceTransaction</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="/usr/share/doc/ghc/html/libraries/containers-0.4.0.0/Data-Map.html#t:Map">Map</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> <a href="Hledger-Data-Types.html#t:Commodity">Commodity</a>) -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Either.html#t:Either">Either</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a></li><li class="src short"><a href="#v:nonzerobalanceerror">nonzerobalanceerror</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></li><li class="src short"><a href="#v:journalTransactionWithDate">journalTransactionWithDate</a> :: <a href="Hledger-Data-Types.html#t:WhichDate">WhichDate</a> -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a></li><li class="src short"><a href="#v:txnTieKnot">txnTieKnot</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a></li><li class="src short"><a href="#v:settxn">settxn</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="Hledger-Data-Types.html#t:Posting">Posting</a> -&gt; <a href="Hledger-Data-Types.html#t:Posting">Posting</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:nulltransaction" class="def">nulltransaction</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a><a href="src/Hledger-Data-Transaction.html#nulltransaction" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:showTransaction" class="def">showTransaction</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a><a href="src/Hledger-Data-Transaction.html#showTransaction" class="link">Source</a></p><div class="doc"><p>Show a journal transaction, formatted for the print command. ledger 2.x's
standard format looks like this:
</p><pre>
yyyy<em>mm</em>dd[ *][ CODE] description.........          [  ; comment...............]
    account name 1.....................  ...$amount1[  ; comment...............]
    account name 2.....................  ..$-amount1[  ; comment...............]

pcodewidth    = no limit -- 10          -- mimicking ledger layout.
pdescwidth    = no limit -- 20          -- I don't remember what these mean,
pacctwidth    = 35 minimum, no maximum  -- they were important at the time.
pamtwidth     = 11
pcommentwidth = no limit -- 22
</pre></div></div><div class="top"><p class="src"><a name="v:showTransactionUnelided" class="def">showTransactionUnelided</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a><a href="src/Hledger-Data-Transaction.html#showTransactionUnelided" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:showTransactionForPrint" class="def">showTransactionForPrint</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a><a href="src/Hledger-Data-Transaction.html#showTransactionForPrint" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:showTransaction-39-" class="def">showTransaction'</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a><a href="src/Hledger-Data-Transaction.html#showTransaction%27" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:showAccountName" class="def">showAccountName</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Hledger-Data-Types.html#t:PostingType">PostingType</a> -&gt; <a href="Hledger-Data-Types.html#t:AccountName">AccountName</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a><a href="src/Hledger-Data-Transaction.html#showAccountName" class="link">Source</a></p><div class="doc"><p>Show an account name, clipped to the given width if any, and
 appropriately bracketed/parenthesised for the given posting type.
</p></div></div><div class="top"><p class="src"><a name="v:realPostings" class="def">realPostings</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; [<a href="Hledger-Data-Types.html#t:Posting">Posting</a>]<a href="src/Hledger-Data-Transaction.html#realPostings" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:virtualPostings" class="def">virtualPostings</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; [<a href="Hledger-Data-Types.html#t:Posting">Posting</a>]<a href="src/Hledger-Data-Transaction.html#virtualPostings" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:balancedVirtualPostings" class="def">balancedVirtualPostings</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; [<a href="Hledger-Data-Types.html#t:Posting">Posting</a>]<a href="src/Hledger-Data-Transaction.html#balancedVirtualPostings" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:transactionPostingBalances" class="def">transactionPostingBalances</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; (<a href="Hledger-Data-Types.html#t:MixedAmount">MixedAmount</a>, <a href="Hledger-Data-Types.html#t:MixedAmount">MixedAmount</a>, <a href="Hledger-Data-Types.html#t:MixedAmount">MixedAmount</a>)<a href="src/Hledger-Data-Transaction.html#transactionPostingBalances" class="link">Source</a></p><div class="doc"><p>Get the sums of a transaction's real, virtual, and balanced virtual postings.
</p></div></div><div class="top"><p class="src"><a name="v:isTransactionBalanced" class="def">isTransactionBalanced</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="/usr/share/doc/ghc/html/libraries/containers-0.4.0.0/Data-Map.html#t:Map">Map</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> <a href="Hledger-Data-Types.html#t:Commodity">Commodity</a>) -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Hledger-Data-Transaction.html#isTransactionBalanced" class="link">Source</a></p><div class="doc"><p>Is this transaction balanced ? A balanced transaction's real
 (non-virtual) postings sum to 0, and any balanced virtual postings
 also sum to 0.
</p></div></div><div class="top"><p class="src"><a name="v:balanceTransaction" class="def">balanceTransaction</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="/usr/share/doc/ghc/html/libraries/containers-0.4.0.0/Data-Map.html#t:Map">Map</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> <a href="Hledger-Data-Types.html#t:Commodity">Commodity</a>) -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Either.html#t:Either">Either</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a><a href="src/Hledger-Data-Transaction.html#balanceTransaction" class="link">Source</a></p><div class="doc"><p>Ensure this transaction is balanced, possibly inferring a missing
 amount or a conversion price first, or return an error message.
</p><p>Balancing is affected by the provided commodities' display precisions.
</p><p>We can infer an amount when there are multiple real postings and
 exactly one of them is amountless; likewise for balanced virtual
 postings. Inferred amounts are converted to cost basis when possible.
</p><p>We can infer a price when all amounts were specified and the sum of
 real postings' amounts is exactly two non-explicitly-priced amounts in
 different commodities; likewise for balanced virtual postings.
</p></div></div><div class="top"><p class="src"><a name="v:nonzerobalanceerror" class="def">nonzerobalanceerror</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a><a href="src/Hledger-Data-Transaction.html#nonzerobalanceerror" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:journalTransactionWithDate" class="def">journalTransactionWithDate</a> :: <a href="Hledger-Data-Types.html#t:WhichDate">WhichDate</a> -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a><a href="src/Hledger-Data-Transaction.html#journalTransactionWithDate" class="link">Source</a></p><div class="doc"><p>Convert the primary date to either the actual or effective date.
</p></div></div><div class="top"><p class="src"><a name="v:txnTieKnot" class="def">txnTieKnot</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a><a href="src/Hledger-Data-Transaction.html#txnTieKnot" class="link">Source</a></p><div class="doc"><p>Ensure a transaction's postings refer back to it.
</p></div></div><div class="top"><p class="src"><a name="v:settxn" class="def">settxn</a> :: <a href="Hledger-Data-Types.html#t:Transaction">Transaction</a> -&gt; <a href="Hledger-Data-Types.html#t:Posting">Posting</a> -&gt; <a href="Hledger-Data-Types.html#t:Posting">Posting</a><a href="src/Hledger-Data-Transaction.html#settxn" class="link">Source</a></p><div class="doc"><p>Set a posting's parent transaction.
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>