[ https://issues.apache.org/jira/browse/OFBIZ-6386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15904929#comment-15904929 ] Jacques Le Roux commented on OFBIZ-6386: ---------------------------------------- This is due to expressions like this {code} <set field="totalPayableDebitAmount" value="${payableDebitTotal + 36.43}" type="BigDecimal"/> {code} This kind of changes fixes it (local BigDecimal) {code} Index: applications/accounting/script/org/ofbiz/accounting/test/AutoInvoiceTests.xml =================================================================== --- applications/accounting/script/org/ofbiz/accounting/test/AutoInvoiceTests.xml (revision 1786324) +++ applications/accounting/script/org/ofbiz/accounting/test/AutoInvoiceTests.xml (working copy) @@ -295,9 +295,11 @@ <first-from-list list="paymentGroupMemberAndTransList" entry="paymentGroupMemberAndTrans"/> <if-compare field="paymentGroupMemberAndTrans.finAccountTransStatusId" operator="not-equals" value="FINACT_TRNS_APPROVED"> - <set field="totalPayableDebitAmount" value="${payableDebitTotal + 82.86}" type="BigDecimal"/> - <set field="totalPayableCreditAmount" value="${payableCreditTotal + 165.72}" type="BigDecimal"/> - <set field="totalPayableDebitCreditDifference" value="${payableDebitCreditDifference - 82.86}" type="BigDecimal"/> + <set field="tempBig1" value="82.86" type="BigDecimal"/> + <set field="totalPayableDebitAmount" value="${payableDebitTotal + tempBig1}" type="BigDecimal"/> + <set field="totalPayableCreditAmount" value="165.72" type="BigDecimal"/> + <set field="totalPayableCreditAmount" value="${payableCreditTotal + totalPayableCreditAmount}" type="BigDecimal"/> + <set field="totalPayableDebitCreditDifference" value="${payableDebitCreditDifference - tempBig1}" type="BigDecimal"/> <set field="getAcctgTransEntriesAndTransTotalMap.glAccountId" value="210000"/> <call-service service-name="getAcctgTransEntriesAndTransTotal" in-map-name="getAcctgTransEntriesAndTransTotalMap"> <result-to-field result-name="debitTotal" field="payableDebitTotal"/> @@ -311,8 +313,8 @@ <if-compare-field field="totalPayableDebitCreditDifference" operator="equals" to-field="payableDebitCreditDifference" type="BigDecimal"/> </assert> <check-errors/> - <set field="totalUndepositedDebitAmount" value="${undepositedDebitTotal + 82.86}" type="BigDecimal"/> - <set field="totalUndepositedDebitCreditDifference" value="${undepositedDebitCreditDifference + 82.86}" type="BigDecimal"/> + <set field="totalUndepositedDebitAmount" value="${undepositedDebitTotal + tempBig1}" type="BigDecimal"/> + <set field="totalUndepositedDebitCreditDifference" value="${undepositedDebitCreditDifference + tempBig1}" type="BigDecimal"/> <set field="getAcctgTransEntriesAndTransTotalMap.glAccountId" value="111100"/> <call-service service-name="getAcctgTransEntriesAndTransTotal" in-map-name="getAcctgTransEntriesAndTransTotalMap"> <result-to-field result-name="debitTotal" field="undepositedDebitTotal"/> {code} I'll commit a fix soon > compareBigDecimals in org.ofbiz.minilang.method.conditional.Compare does not compare certain values correctly > ------------------------------------------------------------------------------------------------------------- > > Key: OFBIZ-6386 > URL: https://issues.apache.org/jira/browse/OFBIZ-6386 > Project: OFBiz > Issue Type: Bug > Affects Versions: Trunk > Reporter: Gareth Carter > Assignee: Jacques Le Roux > Priority: Minor > Fix For: Release Branch 15.12, Upcoming Release, 16.11.02 > > Attachments: compareBigDecimals.png, OFBIZ-6386_1783753.patch, v1.patch, v2.patch > > > Moving the conversation from OFBIZ-6291 to this issue. > compareBigDecimals scales down and rounds up meaning you lose information and the comparison result is not as expected -- This message was sent by Atlassian JIRA (v6.3.15#6346) |
Free forum by Nabble | Edit this page |