[gnc-ui-balances] add and expose gnc_ui_account_get_reconciled_balance_as_of_date

This commit is contained in:
Christopher Lam 2020-03-05 19:56:56 +08:00
parent a8f03cf1c8
commit 50674ef632
2 changed files with 29 additions and 7 deletions

View File

@ -179,11 +179,11 @@ gnc_ui_account_get_print_report_balance (xaccGetBalanceInCurrencyFn fn,
return g_strdup(xaccPrintAmount(balance, print_info));
}
gnc_numeric
gnc_ui_account_get_balance_as_of_date (Account *account,
static gnc_numeric
account_get_balance_as_of_date (Account *account,
time64 date,
gboolean include_children)
gboolean include_children,
xaccGetBalanceAsOfDateFn fn)
{
QofBook *book = gnc_account_get_book (account);
GNCPriceDB *pdb = gnc_pricedb_get_db (book);
@ -194,7 +194,7 @@ gnc_ui_account_get_balance_as_of_date (Account *account,
return gnc_numeric_zero ();
currency = xaccAccountGetCommodity (account);
balance = xaccAccountGetBalanceAsOfDate (account, date);
balance = fn (account, date);
if (include_children)
{
@ -210,7 +210,7 @@ gnc_ui_account_get_balance_as_of_date (Account *account,
child = node->data;
child_currency = xaccAccountGetCommodity (child);
child_balance = xaccAccountGetBalanceAsOfDate (child, date);
child_balance = fn (child, date);
child_balance =
gnc_pricedb_convert_balance_latest_price (pdb, child_balance,
child_currency,
@ -228,6 +228,24 @@ gnc_ui_account_get_balance_as_of_date (Account *account,
return balance;
}
gnc_numeric
gnc_ui_account_get_balance_as_of_date (Account *account,
time64 date,
gboolean include_children)
{
return account_get_balance_as_of_date (account, date, include_children,
xaccAccountGetBalanceAsOfDate);
}
gnc_numeric
gnc_ui_account_get_reconciled_balance_as_of_date (Account *account,
time64 date,
gboolean include_children)
{
return account_get_balance_as_of_date (account, date, include_children,
xaccAccountGetReconciledBalanceAsOfDate);
}
/********************************************************************
* Balance calculations related to owners

View File

@ -110,6 +110,10 @@ gnc_ui_account_get_print_report_balance (xaccGetBalanceInCurrencyFn fn,
gnc_numeric gnc_ui_account_get_balance_as_of_date (Account *account,
time64 date,
gboolean include_children);
gnc_numeric
gnc_ui_account_get_reconciled_balance_as_of_date (Account *account,
time64 date,
gboolean include_children);
/********************************************************************
* Balance calculations related to owners