You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Hans Bakker <ma...@antwebsystems.com> on 2013/06/04 01:10:43 UTC

Re: svn commit: r1488656 - /ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/Pa ymentServices.xml

Jacques,

thanks for your review, however this is a provisional purchase payment 
which will surely be manually adjusted when the real payment comes in. 
Not specifying a date means it will take the latest available conversion 
which is fine.

Regards,
Hans

On 06/04/2013 03:31 AM, Jacques Le Roux wrote:
> While reviewning this commit I stumbled upon similar calls to convertUom service
>
> <call-service service-name="convertUom" in-map-name="convertUomInMap">
>
> I noticed this TODO for others
>
> <!-- TODO: set the optional asOfDate input parameter -->
>
> Should not the change below address the same concern, at least with a TODO for now?
>
> The idea is otherwise the convertUom takes will always use <now-timestamp /> (as fallback, when asOfDate is missing).
> But in some case we would want to use the currencies rates conversion of the time the order was done, which is not necessary the time the order is paid.
>
> Jacques
>
>
> From: <ha...@apache.org>
>> 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"/>
>>
>>


Re: svn commit: r1488656 - /ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/Pa ymentServices.xml

Posted by Jacques Le Roux <ja...@les7arts.com>.
Makes sense, thanks for clarification Hans

Jacques

From: "Hans Bakker" <ma...@antwebsystems.com>
> Jacques,
> 
> thanks for your review, however this is a provisional purchase payment 
> which will surely be manually adjusted when the real payment comes in. 
> Not specifying a date means it will take the latest available conversion 
> which is fine.
> 
> Regards,
> Hans
> 
> On 06/04/2013 03:31 AM, Jacques Le Roux wrote:
>> While reviewning this commit I stumbled upon similar calls to convertUom service
>>
>> <call-service service-name="convertUom" in-map-name="convertUomInMap">
>>
>> I noticed this TODO for others
>>
>> <!-- TODO: set the optional asOfDate input parameter -->
>>
>> Should not the change below address the same concern, at least with a TODO for now?
>>
>> The idea is otherwise the convertUom takes will always use <now-timestamp /> (as fallback, when asOfDate is missing).
>> But in some case we would want to use the currencies rates conversion of the time the order was done, which is not necessary the time the order is paid.
>>
>> Jacques
>>
>>
>> From: <ha...@apache.org>
>>> 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"/>
>>>
>>>
>