Hi!
The Profit and Loss report in gnucash-1.4.5 (as in prior versions) has a
nasty bug when using multiple currencies: All balances are printed with
the default currency rather than the appropriate currency for each
account.
The attached patch fixes this.
However, the Total Balance still shows no useful value in the case of
multiple currencies. The simple (and probably the only practical)
solution would be to print one Total Balance for each currency. (Maybe
I'll post that soon...)
Have fun
Christian
diff -urN gnucash/src/scm/report/balance-and-pnl.scm
gnucash-1.4.5a/src/scm/report/balance-and-pnl.scm
--- gnucash/src/scm/report/balance-and-pnl.scm Fri Jun 9 16:59:40 2000
+++ gnucash-1.4.5a/src/scm/report/balance-and-pnl.scm Sat Sep 2 03:32:59 2000
@@ -77,7 +77,9 @@
(gnc:account-get-type level-2-account))))
(html-table-row-align
(list
- account-name type-name (gnc:amount->formatted-string l2-value #f))
+ account-name type-name
+ (gnc:amount->formatted-currency-string
+ l2-value (gnc:account-get-currency level-2-account) #f))
(list "left" "center" "right"))))
(define (render-level-1-account account l1-value)
@@ -85,7 +87,8 @@
(type (gnc:account-get-type-string (gnc:account-get-type account))))
(html-table-row-align
(list name type " "
- (gnc:amount->formatted-string l1-value #f)
+ (gnc:amount->formatted-currency-string
+ l1-value (gnc:account-get-currency account) #f)
" " " ")
(list "left" "center" "right" "right" "right" "right"))))
diff -urN gnucash/src/scm/report-utilities.scm
gnucash-1.4.5a/src/scm/report-utilities.scm
--- gnucash/src/scm/report-utilities.scm Fri Jun 2 02:00:28 2000
+++ gnucash-1.4.5a/src/scm/report-utilities.scm Sat Sep 2 03:30:44 2000
@@ -32,6 +32,12 @@
(define (gnc:amount->formatted-string amount shares_value?)
(gnc:amount->string amount #t #t shares_value?))
+(define (gnc:amount->formatted-currency-string amount
+ this_currency shares_value?)
+ (gnc:amount->string-helper (exact->inexact amount)
+ #t #t shares_value?
+ this_currency))
+
(define (gnc:account-has-shares? account)
(let ((type (gnc:account-type->symbol (gnc:account-get-type account))))
(member type '(STOCK MUTUAL CURRENCY))))