I'll be aiming to replace and upgrade the following reports:

 * balance-sheet
 * income-statement
 * account-summary
 * budget-flow
 * cashflow

Basically all of above are using html-acct-table to create a 2D grid (vertical = accountlist, horizontal = indented amounts). I think I can upgrade to use a cleaner html-multicolumn-acct-table instead.

I will be merging their display/parent-balance-mode and display/parent-total-mode options into one. As far as I can see, there are only two valid combinations that will produce useful subtotal strategy:

1. parent-account-balances = "Account balance",
   parent-account-subtotals = "Show subtotals" - this matches my
   'multilevel subtotal strategy (i.e. each parent+children account
   family is followed by the parent+children subtotal)
2. parent-account-balances = "Subtotal", parent-account-subtotals = "Do
   Not Show" - this matches my 'recursive-bal subtotal strategy (i.e.
   parent amount incorporates whole children amounts, and if parent has
   own amount, display it as a child account on the next line)

The other options are invalid - i.e. Parent-account-balances = 'Do not show' will obligatorily lead to amounts missing whereby parent-account has an amount. And the Parent-account-subtotal = "Text book-style (experimental)" is internally known as 'canonically-tabbed', and the code is peppered with comments that "The canonically-tabbed option is currently broken."

Any other combination for subtotals will lead to duplication of amounts, or missing amounts.

Conclusion:

I will merge these two options into the saner 2-option recursive-bal vs. multilevel subtotal strategy. I'll try to maximise compatibility with saved reports, as well as set up a transitioning report for users wishing to use old reports (with another guid). But after 1 year I think it will be wise to remove old code.

Any queries please ask!

C

_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to