From e048e7e7f789a7b082a594023f7c812e97c3be93 Mon Sep 17 00:00:00 2001 From: Chris Shoemaker Date: Sat, 15 Apr 2006 21:37:00 +0000 Subject: [PATCH] Avoid trying to represent "forever-ago" with a timepair. Instead, call gnc:accountlist-get-comm-balance-at-date when we really just want the balance at one date. This fixes the retained-earnings calculation on the balance sheet report. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@13790 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/report/report-system/report-system.scm | 1 + src/report/report-system/report-utilities.scm | 9 +++++++++ src/report/standard-reports/balance-sheet.scm | 6 ++---- src/report/standard-reports/equity-statement.scm | 11 ++++------- src/report/standard-reports/trial-balance.scm | 1 - 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/report/report-system/report-system.scm b/src/report/report-system/report-system.scm index a49504b809..8d71b2666b 100644 --- a/src/report/report-system/report-system.scm +++ b/src/report/report-system/report-system.scm @@ -585,6 +585,7 @@ (export gnc:account-get-comm-balance-interval) (export gnc:group-get-comm-balance-interval) (export gnc:accountlist-get-comm-balance-interval) +(export gnc:accountlist-get-comm-balance-at-date) (export gnc:query-set-match-non-voids-only!) (export gnc:query-set-match-voids-only!) (export gnc:split-voided?) diff --git a/src/report/report-system/report-utilities.scm b/src/report/report-system/report-utilities.scm index bdf2019978..fc0f1d1221 100644 --- a/src/report/report-system/report-utilities.scm +++ b/src/report/report-system/report-utilities.scm @@ -645,6 +645,15 @@ accountlist) collector)) +(define (gnc:accountlist-get-comm-balance-at-date accountlist date) + (let ((collector (gnc:make-commodity-collector))) + (for-each (lambda (account) + (gnc:commodity-collector-merge + collector (gnc:account-get-comm-balance-at-date + account date #f))) + accountlist) + collector)) + ;; utility function - ensure that a query matches only non-voids. Destructive. (define (gnc:query-set-match-non-voids-only! query book) (let ((temp-query (gnc:malloc-query))) diff --git a/src/report/standard-reports/balance-sheet.scm b/src/report/standard-reports/balance-sheet.scm index c7255560e0..21b9a397e1 100644 --- a/src/report/standard-reports/balance-sheet.scm +++ b/src/report/standard-reports/balance-sheet.scm @@ -277,7 +277,6 @@ (gnc:option-value (gnc:lookup-option (gnc:report-options report-obj) pagename optname))) - (define forever-ago (cons 0 0)) (gnc:report-starting reportname) @@ -481,9 +480,8 @@ (gnc:report-percent-done 12) ;; sum any retained earnings (set! neg-retained-earnings - (gnc:accountlist-get-comm-balance-interval - income-expense-accounts - forever-ago date-tp)) + (gnc:accountlist-get-comm-balance-at-date + income-expense-accounts date-tp)) (set! retained-earnings (gnc:make-commodity-collector)) (retained-earnings 'minusmerge neg-retained-earnings diff --git a/src/report/standard-reports/equity-statement.scm b/src/report/standard-reports/equity-statement.scm index 17f2db4a54..6deec36df4 100644 --- a/src/report/standard-reports/equity-statement.scm +++ b/src/report/standard-reports/equity-statement.scm @@ -193,7 +193,6 @@ (gnc:option-value (gnc:lookup-option (gnc:report-options report-obj) pagename optname))) - (define forever-ago (cons 0 0)) (gnc:report-starting reportname) @@ -440,13 +439,11 @@ ;; start and end retained earnings (income - expenses) (set! neg-pre-start-retained-earnings - (gnc:accountlist-get-comm-balance-interval - income-expense-accounts - forever-ago start-date-tp)) ; OK + (gnc:accountlist-get-comm-balance-at-date + income-expense-accounts start-date-tp)) ; OK (set! neg-pre-end-retained-earnings - (gnc:accountlist-get-comm-balance-interval - income-expense-accounts - forever-ago end-date-tp)) ; OK + (gnc:accountlist-get-comm-balance-at-date + income-expense-accounts end-date-tp)) ; OK ;; neg-pre-end-retained-earnings is not used to calculate ;; profit but is used to calculate unrealized gains diff --git a/src/report/standard-reports/trial-balance.scm b/src/report/standard-reports/trial-balance.scm index 82f5da09d4..90e56a90ac 100644 --- a/src/report/standard-reports/trial-balance.scm +++ b/src/report/standard-reports/trial-balance.scm @@ -287,7 +287,6 @@ (gnc:option-value (gnc:lookup-option (gnc:report-options report-obj) pagename optname))) - (define forever-ago (cons 0 0)) (gnc:report-starting reportname)