r18236 - gnucash/trunk/src/report/standard-reports - Add some machinery to the budget report to allow columns to be accumulated. This allows, for
Phil Longstaff
plongstaff at code.gnucash.org
Mon Aug 3 11:52:02 EDT 2009
Author: plongstaff
Date: 2009-08-03 11:52:02 -0400 (Mon, 03 Aug 2009)
New Revision: 18236
Trac: http://svn.gnucash.org/trac/changeset/18236
Modified:
gnucash/trunk/src/report/standard-reports/budget.scm
Log:
Add some machinery to the budget report to allow columns to be accumulated. This allows, for
example, all months after the current one to be combined into a single one to save space.
At this point, this ability is not visible to the user. I first need to figure out how to find
the current period in a budget.
Modified: gnucash/trunk/src/report/standard-reports/budget.scm
===================================================================
--- gnucash/trunk/src/report/standard-reports/budget.scm 2009-08-02 20:18:52 UTC (rev 18235)
+++ gnucash/trunk/src/report/standard-reports/budget.scm 2009-08-03 15:52:02 UTC (rev 18236)
@@ -51,15 +51,17 @@
(define optname-show-full-names (N_ "Show Full Account Names"))
(define optname-select-columns (N_ "Select Columns"))
(define optname-show-budget (N_ "Show Budget"))
+(define opthelp-show-budget (N_ "Display a column for the budget values"))
(define optname-show-actual (N_ "Show Actual"))
+(define opthelp-show-actual (N_ "Display a column for the actual values"))
(define optname-show-difference (N_ "Show Difference"))
-(define opthelp-show-budget (N_ "Display a column for the budget values"))
-(define opthelp-show-actual (N_ "Display a column for the actual values"))
(define opthelp-show-difference (N_ "Display the difference as budget - actual"))
(define optname-show-totalcol (N_ "Show Column with Totals"))
+(define opthelp-show-totalcol (N_ "Display a column with the row totals"))
(define optname-rollup-budget (N_ "Roll up budget amounts to parent"))
(define opthelp-rollup-budget (N_ "If parent account does not have its own budget value, use the sum of the child account budget values"))
-(define opthelp-show-totalcol (N_ "Display a column with the row totals"))
+(define optname-compress-periods (N_ "Compress prior/later periods"))
+(define opthelp-compress-periods (N_ "Accumulate columns for periods before and after the current period to allow focus on the current period."))
(define optname-bottom-behavior (N_ "Flatten list to depth limit"))
(define opthelp-bottom-behavior
(N_ "Displays accounts which exceed the depth limit at the depth limit"))
@@ -159,8 +161,20 @@
(show-budget? (get-val params 'show-budget))
(show-diff? (get-val params 'show-difference))
(show-totalcol? (get-val params 'show-totalcol))
- (rollup-budget? (get-val params 'rollup-budget))
- )
+ (rollup-budget? (get-val params 'rollup-budget))
+ (num-rows (gnc:html-acct-table-num-rows acct-table))
+ (rownum 0)
+ (numcolumns (gnc:html-table-num-columns html-table))
+ (num-periods (gnc-budget-get-num-periods budget))
+ ;;(html-table (or html-table (gnc:make-html-table)))
+ ;; WARNING: we implicitly depend here on the details of
+ ;; gnc:html-table-add-account-balances. Specifically, we
+ ;; assume that it makes twice as many columns as it uses for
+ ;; account labels. For now, that seems to be a valid
+ ;; assumption.
+ (colnum (quotient numcolumns 2))
+
+ )
;; Calculate the sum of all budgets of all children of an account for a specific period
;;
@@ -172,21 +186,23 @@
;; Return value:
;; budget value to use for account for specified period.
(define (budget-account-sum budget children period)
- (let* ((sum (cond
- ((null? children) (gnc-numeric-zero))
- (else (gnc-numeric-add
- (gnc:get-account-period-rolledup-budget-value budget (car children) period)
- (budget-account-sum budget (cdr children) period)
- GNC-DENOM-AUTO GNC-RND-ROUND))
+ (let* ((sum
+ (cond
+ ((null? children) (gnc-numeric-zero))
+ (else
+ (gnc-numeric-add
+ (gnc:get-account-period-rolledup-budget-value budget (car children) period)
+ (budget-account-sum budget (cdr children) period)
+ GNC-DENOM-AUTO GNC-RND-ROUND))
)
))
sum)
)
;; Calculate the value to use for the budget of an account for a specific period.
- ;; 1) If the account has a budget value set for the period, use it
- ;; 2) If the account has children, use the sum of budget values for the children
- ;; 3) Otherwise, use 0.
+ ;; - If the account has a budget value set for the period, use it
+ ;; - If the account has children, use the sum of budget values for the children
+ ;; - Otherwise, use 0.
;;
;; Parameters:
;; budget - budget to use
@@ -213,6 +229,48 @@
(define (total-number-cell-tag x)
(if (negative-numeric-p x) "total-number-cell-neg" "total-number-cell"))
+ ;; Calculate the value to use for the budget of an account for a specific set of periods.
+ ;; If there is 1 period, use that period's budget value. Otherwise, sum the budgets for
+ ;; all of the periods.
+ ;;
+ ;; Parameters:
+ ;; budget - budget to use
+ ;; acct - account
+ ;; periodlist - list of budget periods to use
+ ;;
+ ;; Return value:
+ ;; Budget sum
+ (define (gnc:get-account-periodlist-budget-value budget acct periodlist)
+ (cond
+ ((= (length periodlist) 1)(gnc:get-account-period-rolledup-budget-value budget acct (car periodlist)))
+ (else (gnc-numeric-add (gnc:get-account-period-rolledup-budget-value budget acct (car periodlist))
+ (gnc:get-account-periodlist-budget-value budget acct (cdr periodlist))
+ GNC-DENOM-AUTO GNC-RND-ROUND))
+ )
+ )
+
+ ;; Calculate the value to use for the actual of an account for a specific set of periods.
+ ;; This is the sum of the actuals for each of the periods.
+ ;;
+ ;; Parameters:
+ ;; budget - budget to use
+ ;; acct - account
+ ;; periodlist - list of budget periods to use
+ ;;
+ ;; Return value:
+ ;; Budget sum
+ (define (gnc:get-account-periodlist-actual-value budget acct periodlist)
+ (cond
+ ((= (length periodlist) 1)
+ (gnc-budget-get-account-period-actual-value budget acct (car periodlist)))
+ (else
+ (gnc-numeric-add
+ (gnc-budget-get-account-period-actual-value budget acct (car periodlist))
+ (gnc:get-account-periodlist-actual-value budget acct (cdr periodlist))
+ GNC-DENOM-AUTO GNC-RND-ROUND))
+ )
+ )
+
;; Adds a line to tbe budget report.
;;
;; Parameters:
@@ -225,8 +283,8 @@
;; exchange-fn - exchange function (not used)
(define (gnc:html-table-add-budget-line!
html-table rownum colnum
- budget acct rollup-budget? exchange-fn)
- (let* ((num-periods (gnc-budget-get-num-periods budget))
+ budget acct rollup-budget? column-list exchange-fn)
+ (let* (
(period 0)
(current-col (+ colnum 1))
(bgt-total (gnc-numeric-zero))
@@ -234,210 +292,222 @@
(act-total (gnc-numeric-zero))
(comm (xaccAccountGetCommodity acct))
(reverse-balance? (gnc-reverse-balance acct))
+ (income-acct? (eq? (xaccAccountGetType acct) ACCT-TYPE-INCOME))
)
- (while (< period num-periods)
- (let* (
-
- ;; budgeted amount
- (bgt-numeric-val (if rollup-budget?
- (gnc:get-account-period-rolledup-budget-value budget acct period)
- (gnc-budget-get-account-period-value budget acct period)))
- (bgt-unset? (if rollup-budget?
- (gnc-numeric-zero-p bgt-numeric-val)
- (not (gnc-budget-is-account-period-value-set budget acct period))))
- (bgt-val (if bgt-unset? "."
- (gnc:make-gnc-monetary comm bgt-numeric-val)))
- ;; actual amount
- (act-numeric-abs (gnc-budget-get-account-period-actual-value
- budget acct period))
- (act-numeric-val (if reverse-balance?
- (gnc-numeric-neg act-numeric-abs)
- act-numeric-abs))
- (act-val (gnc:make-gnc-monetary comm act-numeric-val))
-
- ;; difference (budget to actual)
- (dif-numeric-val (gnc-numeric-sub bgt-numeric-val
- act-numeric-val GNC-DENOM-AUTO
- (+ GNC-DENOM-LCD GNC-RND-NEVER)))
- (dif-val #f)
- )
-
- (if (eq? ACCT-TYPE-INCOME (xaccAccountGetType acct))
- (set! dif-numeric-val (gnc-numeric-neg dif-numeric-val)))
- (set! dif-val (if (and bgt-unset? (gnc-numeric-zero-p act-numeric-val)) "."
- (gnc:make-gnc-monetary comm dif-numeric-val)))
- (if (not bgt-unset?)
- (begin
- (set! bgt-total (gnc-numeric-add bgt-total bgt-numeric-val GNC-DENOM-AUTO GNC-RND-ROUND))
- (set! bgt-total-unset? #f))
- )
- (set! act-total (gnc-numeric-add act-total act-numeric-val GNC-DENOM-AUTO GNC-RND-ROUND))
- (if show-budget?
- (begin
- (gnc:html-table-set-cell/tag!
- html-table rownum current-col "number-cell" bgt-val)
- (set! current-col (+ current-col 1))
- )
+ ;; Displays a set of budget column values
+ ;;
+ ;; Parameters
+ ;; html-table - html table being created
+ ;; rownum - row number
+ ;; total? - is this a set of total columns
+ ;; bgt-numeric-val - budget value, or #f if column not to be shown
+ ;; act-numeric-val - actual value, or #f if column not to be shown
+ ;; dif-numeric val - difference value, or #f if column not to be shown
+ (define (gnc:html-table-display-budget-columns!
+ html-table rownum total?
+ bgt-numeric-val act-numeric-val dif-numeric-val)
+ (let* ((bgt-val #f)(act-val #f)(dif-val #f)
+ (style-tag (if total? "total-number-cell" "number-cell"))
+ (style-tag-neg (string-append style-tag "-neg"))
+ )
+ (if bgt-numeric-val
+ (begin
+ (set! bgt-val (if (gnc-numeric-zero-p bgt-numeric-val) "."
+ (gnc:make-gnc-monetary comm bgt-numeric-val)))
+ (gnc:html-table-set-cell/tag!
+ html-table rownum current-col style-tag bgt-val)
+ (set! current-col (+ current-col 1))
)
- (if show-actual?
- (begin
- (gnc:html-table-set-cell/tag!
- html-table rownum current-col (number-cell-tag act-numeric-val) act-val)
- (set! current-col (+ current-col 1))
- )
+ )
+ (if act-numeric-val
+ (begin
+ (set! act-val (gnc:make-gnc-monetary comm act-numeric-val))
+ (gnc:html-table-set-cell/tag!
+ html-table rownum current-col
+ (if (gnc-numeric-negative-p act-numeric-val) style-tag-neg style-tag)
+ act-val)
+ (set! current-col (+ current-col 1))
)
- (if show-diff?
- (begin
- (gnc:html-table-set-cell/tag!
- html-table rownum current-col (number-cell-tag dif-numeric-val) dif-val)
- (set! current-col (+ current-col 1))
- )
+ )
+ (if dif-numeric-val
+ (begin
+ (set! dif-val
+ (if (and (gnc-numeric-zero-p bgt-numeric-val) (gnc-numeric-zero-p act-numeric-val))
+ "."
+ (gnc:make-gnc-monetary comm dif-numeric-val)))
+ (gnc:html-table-set-cell/tag!
+ html-table rownum current-col
+ (if (gnc-numeric-negative-p dif-numeric-val) style-tag-neg style-tag)
+ dif-val)
+ (set! current-col (+ current-col 1))
)
- (set! period (+ period 1))
)
+ )
)
- ;; Totals
- (if show-totalcol?
- (begin
- (if show-budget?
- (begin
- (gnc:html-table-set-cell/tag!
- html-table rownum current-col "total-number-cell"
- (if bgt-total-unset? "."
- (gnc:make-gnc-monetary comm bgt-total)))
- (set! current-col (+ current-col 1))
- )
- )
- (if show-actual?
- (begin
- (gnc:html-table-set-cell/tag!
- html-table rownum current-col (total-number-cell-tag act-total)
- (gnc:make-gnc-monetary comm act-total))
- (set! current-col (+ current-col 1))
- )
- )
- (if show-diff?
- (let* ((dif-total
- (gnc-numeric-sub bgt-total
- act-total GNC-DENOM-AUTO
- (+ GNC-DENOM-LCD GNC-RND-NEVER)))
- (dif-val #f)
- )
- (if (eq? ACCT-TYPE-INCOME (xaccAccountGetType acct))
- (set! dif-total (gnc-numeric-neg dif-total)))
- (set! dif-val (if (and bgt-total-unset? (gnc-numeric-zero-p act-total)) "."
- (gnc:make-gnc-monetary comm dif-total)))
- (gnc:html-table-set-cell/tag!
- html-table rownum current-col (total-number-cell-tag dif-total)
- dif-val
- )
- (set! current-col (+ current-col 1))
- )
- )
- )
- )
+ ;; Adds a set of column values to the budget report for a specific list
+ ;; of periods.
+ ;;
+ ;; Parameters:
+ ;; html-table - html table being created
+ ;; rownum - row number
+ ;; budget - budget to use
+ ;; acct - account being displayed
+ ;; period-list - list of periods to use
+ (define (gnc:html-table-add-budget-line-columns!
+ html-table rownum budget acct period-list)
+ (let* (
+ ;; budgeted amount
+ (bgt-numeric-val (gnc:get-account-periodlist-budget-value budget acct period-list))
+
+ ;; actual amount
+ (act-numeric-abs (gnc:get-account-periodlist-actual-value budget acct period-list))
+ (act-numeric-val
+ (if reverse-balance?
+ (gnc-numeric-neg act-numeric-abs)
+ act-numeric-abs))
+
+ ;; difference (budget to actual)
+ (dif-numeric-val
+ (gnc-numeric-sub
+ bgt-numeric-val act-numeric-val
+ GNC-DENOM-AUTO (+ GNC-DENOM-LCD GNC-RND-NEVER)))
+ )
+
+ (if (not (gnc-numeric-zero-p bgt-numeric-val))
+ (begin
+ (set! bgt-total (gnc-numeric-add bgt-total bgt-numeric-val GNC-DENOM-AUTO GNC-RND-ROUND))
+ (set! bgt-total-unset? #f))
+ )
+ (set! act-total (gnc-numeric-add act-total act-numeric-val GNC-DENOM-AUTO GNC-RND-ROUND))
+ (if income-acct?
+ (set! dif-numeric-val
+ (gnc-numeric-sub
+ act-numeric-val bgt-numeric-val
+ GNC-DENOM-AUTO (+ GNC-DENOM-LCD GNC-RND-NEVER))))
+ (gnc:html-table-display-budget-columns!
+ html-table rownum #f
+ bgt-numeric-val act-numeric-val dif-numeric-val)
+ )
)
+
+ (while (not (null? column-list))
+ (let* ((col-info (car column-list)))
+ (cond
+ ((equal? col-info 'total)
+ (gnc:html-table-display-budget-columns!
+ html-table rownum #t
+ bgt-total act-total
+ (if income-acct?
+ (gnc-numeric-sub
+ act-total bgt-total
+ GNC-DENOM-AUTO (+ GNC-DENOM-LCD GNC-RND-NEVER))
+ (gnc-numeric-sub
+ bgt-total act-total
+ GNC-DENOM-AUTO (+ GNC-DENOM-LCD GNC-RND-NEVER)))
+ ))
+ ((list? col-info)
+ (gnc:html-table-add-budget-line-columns!
+ html-table rownum budget acct col-info))
+ (t
+ (gnc:html-table-add-budget-line-columns!
+ html-table rownum budget acct (list col-info)))
+ )
+ (set! column-list (cdr column-list))
+ )
+ )
)
+ )
+
+ ;; Adds header rows to the budget report. The columns are specified by the
+ ;; column-list parameter.
+ ;;
+ ;; Parameters:
+ ;; html-table - html table being created
+ ;; colnum - starting column number
+ ;; budget - budget to use
+ ;; column-list - column info list
(define (gnc:html-table-add-budget-headers!
- html-table colnum budget)
- (let* ((num-periods (gnc-budget-get-num-periods budget))
+ html-table colnum budget column-list)
+ (let* (
(period 0)
(current-col (+ colnum 1))
+ (col-list column-list)
)
;; prepend 2 empty rows
(gnc:html-table-prepend-row! html-table '())
(gnc:html-table-prepend-row! html-table '())
- (while (< period num-periods)
- (let* (
- (tc #f)
- (date (gnc-budget-get-period-start-date budget period))
- )
+ (while (not (= (length col-list) 0))
+ (let* (
+ (col-info (car col-list))
+ (tc #f)
+ )
+ (cond
+ ((equal? col-info 'total)
(gnc:html-table-set-cell!
- html-table 0 (+ current-col period)
- (gnc-print-date date))
- (set! tc (gnc:html-table-get-cell html-table 0 (+ current-col period)))
- (gnc:html-table-cell-set-colspan! tc (if show-diff? 3 2))
- (gnc:html-table-cell-set-tag! tc "centered-label-cell")
- (set! period (+ period 1))
- )
+ html-table 0 current-col "Total")
+ )
+ ((list? col-info)
+ (gnc:html-table-set-cell!
+ html-table 0 current-col "Multiple periods")
+ )
+ (t
+ (let* ((date (gnc-budget-get-period-start-date budget col-info)))
+ (gnc:html-table-set-cell!
+ html-table 0 current-col (gnc-print-date date))
+ )
+ )
+ )
+ (set! tc (gnc:html-table-get-cell html-table 0 current-col))
+ (gnc:html-table-cell-set-colspan! tc (if show-diff? 3 2))
+ (gnc:html-table-cell-set-tag! tc "centered-label-cell")
+ (set! current-col (+ current-col 1))
+ (set! col-list (cdr col-list))
+ )
)
- (if show-totalcol?
- (let* (
- (tc #f))
- (gnc:html-table-set-cell/tag!
- html-table 0 (+ current-col num-periods) "centered-label-cell"
- "Total")
- (set! tc (gnc:html-table-get-cell html-table 0 (+ current-col num-periods)))
- (gnc:html-table-cell-set-colspan! tc (if show-diff? 3 2))
- )
- )
;; make the column headers
- (set! period 0)
- (while (< period num-periods)
- (if show-budget?
- (begin
- (gnc:html-table-set-cell/tag!
- html-table 1 current-col "centered-label-cell"
- (_ "Bgt")) ;; Translators: Abbreviation for "Budget"
- (set! current-col (+ current-col 1))
- )
- )
- (if show-actual?
- (begin
- (gnc:html-table-set-cell/tag!
- html-table 1 current-col "centered-label-cell"
- (_ "Act")) ;; Translators: Abbreviation for "Actual"
- (set! current-col (+ current-col 1))
- )
- )
- (if show-diff?
- (begin
- (gnc:html-table-set-cell/tag!
- html-table 1 current-col "centered-label-cell"
- (_ "Diff")) ;; Translators: Abbrevation for "Difference"
- (set! current-col (+ current-col 1))
- )
- )
- (set! period (+ period 1))
- )
- (if show-totalcol?
- (begin
- (if show-budget?
- (begin
- (gnc:html-table-set-cell/tag!
- html-table 1 current-col "centered-label-cell"
- (_ "Bgt")) ;; Translators: Abbreviation for "Budget"
- (set! current-col (+ current-col 1))
- )
- )
- (if show-actual?
- (begin
- (gnc:html-table-set-cell/tag!
- html-table 1 current-col "centered-label-cell"
- (_ "Act")) ;; Translators: Abbreviation for "Actual"
- (set! current-col (+ current-col 1))
- )
- )
- (if show-diff?
- (begin
- (gnc:html-table-set-cell/tag!
- html-table 1 current-col "centered-label-cell"
- (_ "Diff")) ;; Translators: Abbrevation for "Difference"
- (set! current-col (+ current-col 1))
- )
- )
- )
- )
+ (set! col-list column-list)
+ (set! current-col (+ colnum 1))
+ (while (not (= (length column-list) 0))
+ (let* ((col-info (car column-list)))
+ (if show-budget?
+ (begin
+ (gnc:html-table-set-cell/tag!
+ html-table 1 current-col "centered-label-cell"
+ (_ "Bgt")) ;; Translators: Abbreviation for "Budget"
+ (set! current-col (+ current-col 1))
+ )
+ )
+ (if show-actual?
+ (begin
+ (gnc:html-table-set-cell/tag!
+ html-table 1 current-col "centered-label-cell"
+ (_ "Act")) ;; Translators: Abbreviation for "Actual"
+ (set! current-col (+ current-col 1))
+ )
+ )
+ (if show-diff?
+ (begin
+ (gnc:html-table-set-cell/tag!
+ html-table 1 current-col "centered-label-cell"
+ (_ "Diff")) ;; Translators: Abbrevation for "Difference"
+ (set! current-col (+ current-col 1))
+ )
+ )
+ (set! column-list (cdr column-list))
+ )
)
)
+ )
(let* ((num-rows (gnc:html-acct-table-num-rows acct-table))
(rownum 0)
+;; (column-info-list '((0 1 2 3 4 5) 6 7 8 (9 10 11)))
+ (column-info-list '())
(numcolumns (gnc:html-table-num-columns html-table))
;;(html-table (or html-table (gnc:make-html-table)))
;; WARNING: we implicitly depend here on the details of
@@ -446,32 +516,42 @@
;; account labels. For now, that seems to be a valid
;; assumption.
(colnum (quotient numcolumns 2))
+ (period 0)
)
- ''(display (list "colnum: " colnum "numcolumns: " numcolumns))
+ (while (< period num-periods)
+ (set! column-info-list (append column-info-list (list period)))
+ (set! period (+ 1 period)))
+
+ (if show-totalcol?
+ (set! column-info-list (append column-info-list (list 'total))))
+
+(gnc:debug "column-info-list=" column-info-list)
+
;; call gnc:html-table-add-budget-line! for each account
(while (< rownum num-rows)
- (let* ((env (append
- (gnc:html-acct-table-get-row-env acct-table rownum)
- params))
- (acct (get-val env 'account))
- (exchange-fn (get-val env 'exchange-fn))
- )
- (gnc:html-table-add-budget-line!
- html-table rownum colnum
- budget acct rollup-budget? exchange-fn)
- (set! rownum (+ rownum 1)) ;; increment rownum
- )
- ) ;; end of while
+ (let*
+ (
+ (env
+ (append (gnc:html-acct-table-get-row-env acct-table rownum) params))
+ (acct (get-val env 'account))
+ (exchange-fn (get-val env 'exchange-fn))
+ )
+ (gnc:html-table-add-budget-line!
+ html-table rownum colnum
+ budget acct rollup-budget? column-info-list exchange-fn)
+ (set! rownum (+ rownum 1)) ;; increment rownum
+ )
+ ) ;; end of while
;; column headers
- (gnc:html-table-add-budget-headers! html-table colnum budget)
-
+ (gnc:html-table-add-budget-headers! html-table colnum budget column-info-list)
)
- )
- ) ;; end of define
+ )
+) ;; end of define
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; budget-renderer
;; set up the document and add the table
@@ -494,7 +574,7 @@
optname-show-subaccounts))
(accounts (get-option gnc:pagename-accounts
optname-accounts))
- (bottom-behavior (get-option gnc:pagename-accounts optname-bottom-behavior))
+ (bottom-behavior (get-option gnc:pagename-accounts optname-bottom-behavior))
(rollup-budget? (get-option gnc:pagename-display
optname-rollup-budget))
(row-num 0) ;; ???
@@ -525,15 +605,15 @@
(define split-in-list?
(lambda (split splits)
- (cond
- ((null? splits) #f)
- ((same-split? (car splits) split) #t)
- (else (split-in-list? split (cdr splits))))))
+ (cond
+ ((null? splits) #f)
+ ((same-split? (car splits) split) #t)
+ (else (split-in-list? split (cdr splits))))))
(define account-in-alist
(lambda (account alist)
(cond
- ((null? alist) #f)
+ ((null? alist) #f)
((same-account? (caar alist) account) (car alist))
(else (account-in-alist account (cdr alist))))))
@@ -544,12 +624,12 @@
;; helper for account depth
(define (accounts-get-children-depth accounts)
(apply max
- (map (lambda (acct)
- (let ((children (gnc-account-get-children acct)))
- (if (null? children)
- 1
- (+ 1 (accounts-get-children-depth children)))))
- accounts)))
+ (map (lambda (acct)
+ (let ((children (gnc-account-get-children acct)))
+ (if (null? children)
+ 1
+ (+ 1 (accounts-get-children-depth children)))))
+ accounts)))
;; end of defines
;; add subaccounts if requested
@@ -567,7 +647,7 @@
(gnc:html-document-add-object!
doc
(gnc:html-make-no-account-warning
- reportname (gnc:report-id report-obj))))
+ reportname (gnc:report-id report-obj))))
((not budget-valid?)
;; No budget selected.
(gnc:html-document-add-object!
@@ -582,8 +662,8 @@
;; _something_ but the actual value isn't used.
(env (list (list 'end-date (gnc:get-today))
(list 'display-tree-depth tree-depth)
- (list 'depth-limit-behavior
- (if bottom-behavior 'flatten 'summarize))
+ (list 'depth-limit-behavior
+ (if bottom-behavior 'flatten 'summarize))
))
(acct-table #f)
(html-table (gnc:make-html-table))
More information about the gnucash-changes
mailing list