From c9b30b2cf94cf9e6d8672750a9daf8f26e9c8212 Mon Sep 17 00:00:00 2001 From: Derek Atkins Date: Thu, 20 Jul 2006 01:14:55 +0000 Subject: [PATCH] Compute the commodity scu from the ledger invoice (#300042). This way the SCU is no longer hard-coded into the business ledger. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@14545 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/business/business-ledger/gncEntryLedger.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/business/business-ledger/gncEntryLedger.c b/src/business/business-ledger/gncEntryLedger.c index 41763af9c9..1c31d621e6 100644 --- a/src/business/business-ledger/gncEntryLedger.c +++ b/src/business/business-ledger/gncEntryLedger.c @@ -627,6 +627,7 @@ gnc_entry_ledger_compute_value (GncEntryLedger *ledger, gboolean taxable, taxincluded; GncTaxTable *table; GList *taxes = NULL; + int denom = 100; gnc_entry_ledger_get_numeric (ledger, ENTRY_QTY_CELL, &qty); gnc_entry_ledger_get_numeric (ledger, ENTRY_PRIC_CELL, &price); @@ -670,9 +671,15 @@ gnc_entry_ledger_compute_value (GncEntryLedger *ledger, table = NULL; } + if (ledger->invoice) + { + gnc_commodity *currency = gncInvoiceGetCurrency(ledger->invoice); + if (currency) + denom = gnc_commodity_get_fraction(currency); + } + gncEntryComputeValue (qty, price, (taxable ? table : NULL), taxincluded, - discount, disc_type, disc_how, - 100, /* XXX -- compute a real denominator */ + discount, disc_type, disc_how, denom, value, NULL, &taxes); /* return the tax value */