Author: hansbak Date: Sun Jun 2 09:57:32 2013 New Revision: 1488656 URL: http://svn.apache.org/r1488656 Log: create payment in home currency when order was in foreign currency
Modified: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml Modified: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml?rev=1488656&r1=1488655&r2=1488656&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml (original) +++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml Sun Jun 2 09:57:32 2013 @@ -896,6 +896,7 @@ under the License. <field-map field-name="agreementTypeId" value="PURCHASE_AGREEMENT"/> </entity-and> <set field="parameters.paymentTypeId" value="VENDOR_PAYMENT"/> + <set field="organizationPartyId" from-field="orderRoleFrom.partyId"/> <else> <entity-and list="agreementList" entity-name="Agreement" filter-by-date="true"> <field-map field-name="partyIdFrom" from-field="orderRoleFrom.partyId"/> @@ -903,6 +904,7 @@ under the License. <field-map field-name="agreementTypeId" value="SALES_AGREEMENT"/> </entity-and> <set field="parameters.paymentTypeId" value="CUSTOMER_PAYMENT"/> + <set field="organizationPartyId" from-field="orderRoleTo.partyId"/> </else> </if-compare> <first-from-list entry="agreement" list="agreementList"/> @@ -924,10 +926,31 @@ under the License. <if-empty field="parameters.effectiveDate"> <now-timestamp field="parameters.effectiveDate"/> </if-empty> + + <!-- check currency and when required convert--> + <set field="partyAccountingPreferencesMap.organizationPartyId" from-field="organizationPartyId"/> + <call-service service-name="getPartyAccountingPreferences" in-map-name="partyAccountingPreferencesMap"> + <result-to-field result-name="partyAccountingPreference" field="partyAcctgPreference"/> + </call-service> + <if-compare-field to-field="partyAcctgPreference.baseCurrencyUomId" operator="equals" field="orderHeader.currencyUom"> + <set field="parameters.currencyUomId" from-field="orderHeader.currencyUom"/> + <set field="parameters.amount" from-field="orderHeader.grandTotal"/> + <else> + <set field="convertUomInMap.originalValue" from-field="orderHeader.grandTotal"/> + <set field="convertUomInMap.uomId" from-field="orderHeader.currencyUom"/> + <set field="convertUomInMap.uomIdTo" from-field="partyAcctgPreference.baseCurrencyUomId"/> + <call-service service-name="convertUom" in-map-name="convertUomInMap"> + <result-to-field result-name="convertedValue" field="parameters.amount"/> + </call-service> + <set field="parameters.actualCurrencyAmount" from-field="orderHeader.grandTotal"/> + <set field="parameters.actualCurrencyUomId" from-field="orderHeader.currencyUom"/> + <set field="parameters.currencyUomId" from-field="partyAcctgPreference.baseCurrencyUomId"/> + <set field="parameters.actualCurrencyUomId" from-field="orderHeader.currencyUom"/> + </else> + </if-compare-field> + <set field="parameters.partyIdFrom" from-field="orderRoleFrom.partyId"/> <set field="parameters.partyIdTo" from-field="orderRoleTo.partyId"/> - <set field="parameters.amount" from-field="orderHeader.grandTotal"/> - <set field="parameters.currencyUomId" from-field="orderHeader.currencyUom"/> <set field="parameters.paymentMethodTypeId" value="COMPANY_ACCOUNT"/> <set field="parameters.statusId" value="PMNT_NOT_PAID"/> <set-service-fields service-name="createPayment" to-map="createPayment" map="parameters"/>