Hi Andreas, Attached are two patches correcting issues with my recently submitted budget-related reports. As requested, these patches apply on top of my previously-sent patch.
As always, your feedback is appreciated. The whitespace conventions for .scm files are not entirely clear to me. The whitespace in my scheme code is quirky. It appears that this is not entirely unusual in the existing report code, but I may follow up with a patch to correct this, unless such patches are generally not preferred. Thanks for your time. Thanks, Forest -- Forest Bond http://www.alittletooquiet.net http://www.pytagsfs.org
=== modified file 'src/report/report-system/report.scm' --- src/report/report-system/report.scm 2009-01-12 11:42:59 +0000 +++ src/report/report-system/report.scm 2009-01-13 04:18:44 +0000 @@ -35,7 +35,7 @@ (define gnc:menuname-reports "Reports/StandardReports") (define gnc:menuname-asset-liability (N_ "_Assets & Liabilities")) (define gnc:menuname-income-expense (N_ "_Income & Expense")) -(define gnc:menuname-budget "B_udget") +(define gnc:menuname-budget (N_ "B_udget")) (define gnc:menuname-taxes (N_ "_Taxes")) (define gnc:menuname-utility (N_ "_Sample & Custom")) (define gnc:menuname-custom (N_ "_Custom"))
=== modified file 'src/report/standard-reports/budget-balance-sheet.scm' --- src/report/standard-reports/budget-balance-sheet.scm 2009-01-12 11:42:59 +0000 +++ src/report/standard-reports/budget-balance-sheet.scm 2009-01-14 01:55:58 +0000 @@ -462,6 +462,7 @@ (liability-balance #f) (liability-get-balance-fn #f) + (unrealized-gain #f) (existing-equity #f) (new-equity #f) (equity-balance #f) @@ -622,24 +623,6 @@ (gnc:report-percent-done 16) - ;; Total existing equity; negative. - (set! existing-equity - (get-assoc-account-balances-total-negated - equity-account-initial-balances)) - ;; Include existing retained earnings. - (existing-equity 'merge existing-retained-earnings #f) - - ;; Total new equity; positive. - (set! new-equity - (gnc:get-assoc-account-balances-total - equity-account-budget-balances)) - ;; Include new retained earnings. - (new-equity 'merge new-retained-earnings #f) - - - (gnc:report-percent-done 18) - - ;; Total existing assets. (set! existing-assets (gnc:get-assoc-account-balances-total @@ -665,9 +648,55 @@ (asset-balance 'merge unallocated-assets #f) + (gnc:report-percent-done 18) + + + ;; Calculate unrealized gains. + (set! unrealized-gain (gnc:make-commodity-collector)) + (let* + ( + (get-total-value-fn + (lambda (account) + (gnc:account-get-comm-value-at-date account date-tp #f))) + (asset-basis + (gnc:accounts-get-comm-total-assets + asset-accounts get-total-value-fn)) + (liability-basis + (gnc:commodity-collector-get-negated + (gnc:accounts-get-comm-total-assets + liability-accounts get-total-value-fn))) + ) + + ;; Calculate unrealized gains from assets. + (unrealized-gain 'merge existing-assets #f) + (unrealized-gain 'minusmerge asset-basis #f) + + ;; Combine with unrealized gains from liabilities + (unrealized-gain 'minusmerge existing-liabilities #f) + (unrealized-gain 'merge liability-basis #f)) + + (gnc:report-percent-done 22) + ;; Total existing equity; negative. + (set! existing-equity + (get-assoc-account-balances-total-negated + equity-account-initial-balances)) + ;; Include existing retained earnings. + (existing-equity 'merge existing-retained-earnings #f) + ;; Include unrealized gains. + (existing-equity 'merge unrealized-gain #f) + + + ;; Total new equity; positive. + (set! new-equity + (gnc:get-assoc-account-balances-total + equity-account-budget-balances)) + ;; Include new retained earnings. + (new-equity 'merge new-retained-earnings #f) + + ;; Total equity. (set! equity-balance (gnc:make-commodity-collector)) (equity-balance 'merge existing-equity #f) @@ -816,6 +845,14 @@ (_ "Total Retained Losses") retained-earnings)) + + (if (not (gnc-commodity-collector-allzero? unrealized-gain)) + (add-subtotal-line right-table + (_ "Unrealized Gains") + (_ "Unrealized Losses") + unrealized-gain)) + + (if total-equity? (begin (if new-existing?
signature.asc
Description: Digital signature
_______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel