Full multiple currencies support in Pnl-Report

Christian Stimming stimming@uclink.berkeley.edu
Sun, 08 Oct 2000 19:59:42 -0700


This is a multi-part message in MIME format.
--------------5548E0A25BC23C989E75FEE6
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 7bit

I rewrote the scheme code which supports multiple currencies in the
Profit and Loss- and the Balance Sheet Report. Changes:

* If there are children accounts with different currencies under one
account, their amounts will be summed and showed for each currency
seperately. This works up to any depth. (Used to work only until level-1
accounts.)

* If there is more than one currency in the File, the "(subaccounts)"
and "Balance" columns are split in two. In the left subcolumn, the
"foreign" currency with its amount is shown. In the right subcolumn, the
equivalent value of the "foreign" currency's amount is shown in terms of
one "domestic" currency. 

* This "domestic" currency can be chosen as one parameter in the
parameter menu. Its default is the default currency of gnucash. 

* The exchange rate between the foreign and domestic currency are
currently hard-coded in balance-and-pnl.scm:34. Of course, in future
they shall be entered as parameters. However, it looks like the
appropriate option widget doesn't exist yet, thus it will take some more
time for me to write this.

* The total amount shows the added value of the rightmost column, that
is, all amounts in the domestic currency plus all exchanged amounts of
all foreign currencies. 

* There is an option to seperately show the "subtotal" for each foreign
currency, that is, one total amount for each currency in the
second-right column. Default is not to show that.

* The From- and To-Dates are now shown in the table's caption.


Christian
--------------5548E0A25BC23C989E75FEE6
Content-Type: application/octet-stream;
 name="gnucash.diff.gz"
Content-Transfer-Encoding: x-uuencode
Content-Disposition: attachment;
 filename="gnucash.diff.gz"

begin 644 gnucash.diff.gz
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
@C='Q\?251GB:DTQ>H9%]9-MH`O/E%/\#YTS@N(U4````
`
end

--------------5548E0A25BC23C989E75FEE6--