You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2014/07/30 08:40:23 UTC
svn commit: r1614556 -
/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java
Author: jleroux
Date: Wed Jul 30 06:40:23 2014
New Revision: 1614556
URL: http://svn.apache.org/r1614556
Log:
Fixes a possible ArithmeticException: Division undefined
Modified:
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java
Modified: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java?rev=1614556&r1=1614555&r2=1614556&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java (original)
+++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java Wed Jul 30 06:40:23 2014
@@ -515,7 +515,10 @@ public class InvoiceWorker {
List<GenericValue> acctgTransEntries = invoice.getRelated("AcctgTrans", null, null, false);
if (UtilValidate.isNotEmpty(acctgTransEntries)) {
GenericValue acctgTransEntry = (acctgTransEntries.get(0)).getRelated("AcctgTransEntry", null, null, false).get(0);
- conversionRate = acctgTransEntry.getBigDecimal("amount").divide(acctgTransEntry.getBigDecimal("origAmount"), new MathContext(100)).setScale(decimals,rounding);
+ BigDecimal origAmount = acctgTransEntry.getBigDecimal("origAmount");
+ if (origAmount.compareTo(ZERO) == 1) {
+ conversionRate = acctgTransEntry.getBigDecimal("amount").divide(acctgTransEntry.getBigDecimal("origAmount"), new MathContext(100)).setScale(decimals,rounding);
+ }
}
// check if a payment is applied and use the currency conversion from there
if (UtilValidate.isEmpty(conversionRate)) {