diff --git a/gnucash/report/report-system/report-system.scm b/gnucash/report/report-system/report-system.scm index ed4f2a0d8f..8fd439e883 100644 --- a/gnucash/report/report-system/report-system.scm +++ b/gnucash/report/report-system/report-system.scm @@ -686,6 +686,7 @@ (export gnc:account-get-type-string-plural) (export gnc:accounts-get-commodities) (export gnc:get-current-account-tree-depth) +(export gnc:accounts-and-all-descendants) (export gnc:acccounts-get-all-subaccounts) (export gnc:make-stats-collector) ;deprecated (export gnc:make-drcr-collector) ;deprecated diff --git a/gnucash/report/report-system/report-utilities.scm b/gnucash/report/report-system/report-utilities.scm index bb886ac274..3d5e140b84 100644 --- a/gnucash/report/report-system/report-utilities.scm +++ b/gnucash/report/report-system/report-utilities.scm @@ -149,6 +149,15 @@ construct gnc:make-gnc-monetary and use gnc:monetary->string instead.") (append-map gnc-account-get-descendants-sorted accountlist)) +;; Return accountslist *and* their descendant accounts +(define (gnc:accounts-and-all-descendants accountslist) + (sort-and-delete-duplicates + (append accountslist + (gnc:acccounts-get-all-subaccounts accountslist)) + (lambda (a b) + (string