More important, the AQBanking API has some naming changes.
This commit is substantially cribbed from Martin Pruess's
adaptation in the AQBanking repository. Thanks, Martin!
Requires Gwenhywfar >= 4.9.99 and AQBanking >= 5.3.4, the versions
just before the ones provided by Ubuntu 14.04LTS
Removes all definitions and ifdeffed code for earlier versions.
Removes the never-completed SEPA character checking that was if-zeroed.
Previously the splits handling used nested conditionals. Rearrange and
tidy; i.e. handle empty-splits or empty-interval-splits first, and use
last conditional to test for internal-transactions handling. This
avoids nested conditionals.
If the original date is an end-of-month date, we take it as an
indicator they always want monthdelta dates to be end-of-months.
This works for monthly/quarterly/halfyearly/annual.
Addendum to commit 65bfeaf5de which was
deemed to be an incomplete fix.
Also I'd forgotten to activate a test in test-date-utilities. Enable it.
previous setting would set document-title which adds an <h1> element
and prevents the chart from fitting into the canvas viewport set 100%
width x height.
This commit removes the need for analyze-splits, and counts all
split-amounts directly into the daily-totals list.
Because we're not using analyze-splits, there's no need for startbal
anymore.
The gnc:case-exchange-fn seems to be designed for single-date reports,
whereas gnc:case-exchange-time-fn for multi-date reports. It may be
faster to have a single exchange-fn definition.
The main reason for this change is to harmonize - all multidate charts
are using case-exchange-time-fn.
previous will call gnc:account-get-comm-balance-at-date which calls
xaccAccountGetBalanceAsOfDate for every account at every date
point. The xaccAccountGetBalanceAsOfDate is an expensive function
because it scans the account's whole splitlist from the start every
time. use gnc:account-get-balances-at-dates instead which scans an
account only once to generate a balancelist.
this should be a much faster chart.
this commit will initialize the sx accumulator by adding all
instantiated sx amounts, from the earliest split posted-date among the
selected accounts, until the report start-date.