Author: hansbak Date: Sun Aug 11 02:10:48 2013 New Revision: 1512848 URL: http://svn.apache.org/r1512848 Log: OFBIZ-5244: ledger entries generated from a payment not using 'original' currency and amount
Modified: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml Modified: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml?rev=1512848&r1=1512847&r2=1512848&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml (original) +++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml Sun Aug 11 02:10:48 2013 @@ -1821,7 +1821,10 @@ under the License. </call-class-method> <if-compare field="isReceiptValue" operator="equals" value="true" type="Boolean"> - <set field="origCurrencyUomId" from-field="payment.currencyUomId"/> + <set field="origAmount" from-field="payment.actualCurrencyAmount"/> + <set field="origCurrencyUomId" from-field="payment.actualCurrencyUomId"/> + <set field="currencyUomId" from-field="payment.currencyUomId"/> + <set field="amount" from-field="payment.amount"/> <set field="organizationPartyId" from-field="payment.partyIdTo"/> <set field="partyId" from-field="payment.partyIdFrom"/> <set field="paymentId" from-field="payment.paymentId"/> @@ -1831,7 +1834,9 @@ under the License. <set field="debitEntry.debitCreditFlag" value="D"/> <!-- TODO --> <!--set field="debitEntry.glAccountTypeId" value=""/--> - <set field="debitEntry.origAmount" from-field="payment.amount"/> + <set field="debitEntry.amount" from-field="amount"/> + <set field="debitEntry.currencyUomId" from-field="currencyUomId"/> + <set field="debitEntry.origAmount" from-field="origAmount"/> <set field="debitEntry.origCurrencyUomId" from-field="origCurrencyUomId"/> <set field="debitEntry.organizationPartyId" from-field="organizationPartyId"/> <set field="acctgTransEntries[]" from-field="debitEntry" type="Object"/> @@ -1841,45 +1846,17 @@ under the License. <field-map field-name="organizationPartyId"/> </entity-one> <set field="creditGlAccountTypeId" from-field="paymentGlAccountTypeMap.glAccountTypeId"/> - <!-- This is now delegated to the createAcctgTransAndEntriesForPaymentApplication calls at the bottom of this service - <get-related value-field="payment" relation-name="PaymentApplication" list="paymentApplications"/> - <iterate list="paymentApplications" entry="paymentApplication"> - - <make-value entity-name="AcctgTransEntry" value-field="creditEntry"/> - <set field="creditEntry.debitCreditFlag" value="C"/> - <set field="creditEntry.origAmount" from-field="paymentApplication.amountApplied"/> - <set field="creditEntry.origCurrencyUomId" from-field="origCurrencyUomId"/> - <if-not-empty field="paymentApplication.overrideGlAccountId"> - <set field="creditEntry.glAccountId" from-field="paymentApplication.overrideGlAccountId"/> - </if-not-empty> - <set field="creditEntry.organizationPartyId" from-field="organizationPartyId"/> - <set field="creditEntry.glAccountTypeId" value="ACCOUNTS_RECEIVABLE"/> - <calculate field="amountAppliedTotal" decimal-scale="${ledgerDecimals}" rounding-mode="${roundingMode}"> - <calcop operator="add"> - <calcop operator="get" field="amountAppliedTotal"/> - <calcop operator="get" field="paymentApplication.amountApplied"/> - </calcop> - </calculate> - <set field="acctgTransEntries[]" from-field="creditEntry" type="Object"/> - </iterate> - --> - <calculate field="diffAmount" decimal-scale="${ledgerDecimals}" rounding-mode="${roundingMode}"> - <calcop operator="subtract"> - <calcop operator="get" field="payment.amount"/> - <calcop operator="get" field="amountAppliedTotal"/> - </calcop> - </calculate> - <if-compare field="diffAmount" operator="greater" value="0" type="BigDecimal"> - <!-- credit for diff amount--> - <make-value entity-name="AcctgTransEntry" value-field="creditEntryWithDiffAmount"/> - <set field="creditEntryWithDiffAmount.debitCreditFlag" value="C"/> - <set field="creditEntryWithDiffAmount.origAmount" from-field="diffAmount"/> - <set field="creditEntryWithDiffAmount.origCurrencyUomId" from-field="origCurrencyUomId"/> - <set field="creditEntryWithDiffAmount.glAccountId" from-field="payment.overrideGlAccountId"/> - <set field="creditEntryWithDiffAmount.glAccountTypeId" from-field="creditGlAccountTypeId"/> - <set field="creditEntryWithDiffAmount.organizationPartyId" from-field="organizationPartyId"/> - <set field="acctgTransEntries[]" from-field="creditEntryWithDiffAmount" type="Object"/> - </if-compare> + <!-- credit for diff amount--> + <make-value entity-name="AcctgTransEntry" value-field="creditEntryWithDiffAmount"/> + <set field="creditEntryWithDiffAmount.debitCreditFlag" value="C"/> + <set field="creditEntryWithDiffAmount.amount" from-field="amount"/> + <set field="creditEntryWithDiffAmount.currencyUomId" from-field="currencyUomId"/> + <set field="creditEntryWithDiffAmount.origAmount" from-field="origAmount"/> + <set field="creditEntryWithDiffAmount.origCurrencyUomId" from-field="origCurrencyUomId"/> + <set field="creditEntryWithDiffAmount.glAccountId" from-field="payment.overrideGlAccountId"/> + <set field="creditEntryWithDiffAmount.glAccountTypeId" from-field="creditGlAccountTypeId"/> + <set field="creditEntryWithDiffAmount.organizationPartyId" from-field="organizationPartyId"/> + <set field="acctgTransEntries[]" from-field="creditEntryWithDiffAmount" type="Object"/> <!-- Set header fields (AcctgTrans) --> <set field="createAcctgTransAndEntriesInMap.glFiscalTypeId" value="ACTUAL"/>