gnucash maint: Multiple changes pushed
Christopher Lam
clam at code.gnucash.org
Thu Mar 14 04:32:56 EDT 2019
Updated via https://github.com/Gnucash/gnucash/commit/12a46e62 (commit)
via https://github.com/Gnucash/gnucash/commit/29c0e192 (commit)
via https://github.com/Gnucash/gnucash/commit/784b34a0 (commit)
via https://github.com/Gnucash/gnucash/commit/6e76cb3d (commit)
via https://github.com/Gnucash/gnucash/commit/1ade6fe6 (commit)
via https://github.com/Gnucash/gnucash/commit/a4d76177 (commit)
via https://github.com/Gnucash/gnucash/commit/d0deda92 (commit)
via https://github.com/Gnucash/gnucash/commit/0cf973c1 (commit)
via https://github.com/Gnucash/gnucash/commit/55583829 (commit)
via https://github.com/Gnucash/gnucash/commit/b6a70819 (commit)
via https://github.com/Gnucash/gnucash/commit/274897fb (commit)
via https://github.com/Gnucash/gnucash/commit/0e60c775 (commit)
from https://github.com/Gnucash/gnucash/commit/9a0aaedc (commit)
commit 12a46e62de250c24501d310151c7866757e545ee
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Mon Mar 11 22:45:01 2019 +0800
[balance-forecast] use gnc:case-exchange-time-fn
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.
commit 29c0e192830307eb7be5039b1924d0407e215400
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Mar 10 13:38:51 2019 +0800
[balance-forecast] reuse i18n strings
this commit will modify to reuse some strings which are already
translated, and also add help strings for the various options.
commit 784b34a0488535d9f94ce13573dbf897a8686f51
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Wed Mar 6 20:29:22 2019 +0800
[balance-forecast] add null-account and zero-amounts handling
commit 6e76cb3d3be7efab0ce0ec29c3b0fdd502db3e86
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Tue Mar 5 20:40:59 2019 +0800
[balance-forecast] refactor to avoid xaccAccountGetBalanceAsOfDate
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.
commit 1ade6fe6b44ca59d472d65bf200d9db2953c92d4
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Tue Mar 5 17:46:11 2019 +0800
[balance-forecast] adjust sx accumulator until report from-date
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.
commit a4d76177fbf33b5458ceacf4c74d920603be7880
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Tue Mar 5 13:08:25 2019 +0800
[balance-forecast] modify boolean option to effect number box
1. convert simple boolean to complex boolean to toggle amounts
2. convert list processing functions to scheme conventions
commit d0deda92525a8959f0518b2e59966f41c964ebba
Author: Ryan Turner <zdbiohazard2 at gmail.com>
Date: Thu Feb 28 21:52:21 2019 -0800
[balance-forecast] More clean-up.
* Draw the "balance" line over the "minimum" line.
* X axis labels should be for the end of the period,
as that's when all the balance samples are taken.
commit 0cf973c1234179b8a4b514e312fedbe4b4b03fa6
Author: Ryan Turner <zdbiohazard2 at gmail.com>
Date: Thu Feb 28 20:29:31 2019 -0800
[balance-forecast] Clean-up
* Fix dates display to ISO format
* Use make-list properly to create a list with identical elements
commit 55583829b01b9a6c2bcae741011b6d0c0dbf3427
Author: Ryan Turner <zdbiohazard2 at gmail.com>
Date: Wed Feb 27 21:08:25 2019 -0800
Report: Balance Forecast
This report forecasts the combined balances of the selected accounts
based on the scheduled transactions and plots them on a line graph.
You can set a "reserve" amount, which will draw a red line on the
graph, so you can easily see if your forecast dips below a given value.
There is also a "future minimum" line which shows what the lowest future
balance will be at a given point. I find this useful in conjunction with
the "target" line for planning.
commit b6a708196ee614796bcc80db72e5a6109d332269
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Thu Mar 14 09:42:08 2019 +0800
[commodity-utilities] rewrite gnc:exchange-by-pricealist-nearest
this function made clearer. first we can remove sanity-check:
pricealist will always be sent as a list, and doesn't need to be
confirmed it is a pair? because assoc-ref can handle an empty list
returning #f.
then the conversion routine is reordered to be clearer.
commit 274897fb8c59ec202c02e4dcc6d25a1c10c3d3c2
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Thu Mar 14 09:06:22 2019 +0800
[commodity-utilities] inline gnc:pricealist-lookup-nearest-in-time
this is an unexported single-use function. we can safely inline.
commit 0e60c77577b57fdae5e4363c43d13af10a99f23d
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Thu Mar 14 09:02:30 2019 +0800
[commodity-utilities] deprecate gnc:exchange-by-pricevalue-helper
This function is only used once, internally, and performs a sanity
check (if price-value ... ...) which is, never needed because the
price-value received has been sanitized to return a price, or 0 and
will never be #f. Inlining this function means we can skip this sanity
check.
Summary of changes:
.../report/report-system/commodity-utilities.scm | 26 +-
gnucash/report/report-system/report-system.scm | 2 +-
gnucash/report/standard-reports/CMakeLists.txt | 1 +
.../report/standard-reports/balance-forecast.scm | 288 +++++++++++++++++++++
4 files changed, 301 insertions(+), 16 deletions(-)
create mode 100644 gnucash/report/standard-reports/balance-forecast.scm
More information about the gnucash-patches
mailing list