With the newest (beta) aqbanking versions there is a renamed
version of the previous getter of the txn purpose available, which
had been switched to a different semantic in between.
Reuse adjusting-splits and filter for positive values.
This function was buggy... see total-query is defined as the
output of qof-query-merge-in-place, or qof-query-destroy, both
returning #unspecified; this fails when passed to qof-query-run.
bugfix. after writing commit message to 23d0fa132, I had to verify the
strong statement regarding txns on last report-date, and found that I
was incorrect. ensure txns are previously accounted for.
This causes CMake to include their headers with -isystem instead of -I,
so the compiler doesn't generate warnings on them. ArchLinux was failing
to build because of such warnings.
Includes a function from cmake 3.6 to allow this to work on systems like
Ubuntu 14.04 that still provide only cmake 3.5.
with the function/declaration that they substituted.
Note that this doesn't use the recommended new GObject creation macros
because the class names in libgnucash/engine don't follow the gnome
naming convention.
This
* adds normal double quotes around the guild function call
* removes escaped quotes from paths
* add 'VERBATIM' keyword to let cmake perform its own escape logic on the commands
Verified to work on Windows and linux with both ninja and make.
* Ensure all the files included in report.scm are built before
any module calls '(use-modules (gnucash report))'
* Break circular dependency between report.scm and the files it loads via
'(load-from-path ...)'
For example file 'gnucash/report/html-linechart' is loaded via
'(load-from-path ...)' in 'reports.scm' it shouldn't call
'(use-modules (gnucash report))'. That would make it indirectly
depend on its own.
* In the same way 'engine-utilities.scm' was in a circular dependency loop
with 'engine.scm' though even more indirectly via (gnc-module-load ...)'.
The initialization code of libgncmod-engine calls
'(use-modules (gnucash engine))' which in turn tries to load-from-path
'engine-utilities.scm', completing the loop.
logic error to calculate last period date pair for col-header.
pnl report-dates are stored as a list of time64. consider a regular
profit&loss for "quarterly income & expense amounts for last
calendar year". dates are 1-jan to 31-dec. the report-dates are
'(1-jan 1-apr 1-jul 1-oct 31-dec). the inc/exp accounts balances are
queried for the above dates, and the delta change (sans closing
entries) constitutes the desired answer.
the col-header needs to report "1-jan to 31-mar", which it does by
retrieving 2 consecutive dates in the list (1-jan 1-apr), then
decrease second date by 1 day to obtain "1-jan to 31-mar" . however
this fails for the last period which would return '1-oct to 30-dec'.
this commit changes display for last period to return last report-date
so that the header is fixed to '1-oct to 31-dec'.
this is cosmetic for header dates only, calculations of periodic
income/expense amounts were never affected and included entries on the
last report-date (e.g. 31-dec as above).
minor efficiency change. append-reverse is faster than append, and
storing the appended lists is rather convenient for this
report which uses them a lot.