Due to the changes done for bug 682800 the row balances for the account report
no longer matched the row balances of the original register. This commit
should fix that for a consistent experience.
When the code was refactored in 61973a8 the return value from the new
function gnc_transaction_get_commodity_imbalance was ignored. This had
the effect of using an uninitialized variable to set the value in a new
trading account split that is not for the transaction's currency. That
means that multicommodity transactions created with this bug and trading
accounts on will not be balanced.
In the Netherlands, several parties have created an account structure for standardized information exchange. This file provides a GnuCash translation of this (public domain) structure.
Bug 754192 - Since Last Run Dialog asks for security price even if not needed
Bug 662126 - Cannot create scheduled transaction for dividend reinvestment
If a split in an SX has a 0 amount, don't make its commodity the transaction
commodity, set the multi-commodity flag, or create a variable for it.
Make the warning about not being able to auto-create SXes with variables
or multiple commodities more explicit about the latter.
Poaching someone else's macro name is a really dumb idea, because aclocal
looks in our macros directory only if it can't find the macro in the system
directories. Our config code doesn't work with Gnome's macro, it exports
WARN_CFLAGS rather than modifying CFLAGS directly the way ours does.
The problem is that QofBook is not a well-formed GObject and doesn't clean
itself up properly when its ref count goes to zero. qof_book_destroy() must
be explicitly called on it. An interesting side effect is that QofObject
keeps a list of all of the books ever opened and not properly destroyed and
registering a class (in this case GNCPriceDB) tries to create that class's
instance in all of those leaked books. Since they already have one, the
instantiation code raises a critical error and the test program fails.
Add user:price as a source and prefer values with lower PriceSource enum
values over higher ones: In other words a price with a lower PriceSource
value (e.g. user:price-editor) will overwrite one with a higher value (e.g.
user:split-register) and not the other way around.
Currency-currency prices will be priced in the smaller currency so that
the price > 1 and will be rounded to 3 digits after the decimal.
Commodity-currency prices will be priced in the currency and rounded to
the currency's scu * 10000.
This affects only prices stored in the pricedb. Prices in splits will
continue to be computed from value/amount.