[ 
https://issues.apache.org/jira/browse/OFBIZ-7957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacques Le Roux updated OFBIZ-7957:
-----------------------------------
    Description: 
When you create a RateAmount, you can determine for which WorkEffort it should 
apply. But when this RateAmount is retrieved for a specific WorkEffort, it 
fails to find the good RateAmount.

The problem comes from the check done to retrieve the RateAmount at a 
WorkEffort level. This is the used check : 
{code}
<entity-and entity-name="RateAmount" list="amounts" filter-by-date="true">
                <field-map field-name="rateTypeId" 
from-field="parameters.rateTypeId"/>
                <field-map field-name="partyId" 
from-field="parameters.partyId"/>
                <field-map field-name="workEffortId" 
from-field="parameters.workEffortId"/>
                <field-map field-name="periodTypeId" 
from-field="parameters.periodTypeId"/>
                <field-map field-name="rateCurrencyUomId" 
from-field="parameters.rateCurrencyUomId"/>
            </entity-and>
            <if-empty field="amounts"> 
{code}

In this 'entity-and', the partyId is set as a constraint. But it is possible to 
enable a special RateAmount only for a WorkEffort without regarding the partyId.

I think we have 2 options here :
# Remove the partyId constraint but then the retrieving may be less accurate
# Make the retrieving more accurate by checking first the WorkEffort, then from 
the retrieved list, check if the partyId matches and finally from this second 
retrieval, check if the emplPositionTypeId match. At the end, we would have the 
most accurate RateAmount.

What do you think of it ?

  was:
When you create a RateAmount, you can determine for which WorkEffort it should 
apply. But when this RateAmount is retrieved for a specific WorkEffort, it 
fails to find the good RateAmount.

The problem comes from the check done to retrieve the RateAmount at a 
WorkEffort level. This is the used check : 
{code}
<entity-and entity-name="RateAmount" list="amounts" filter-by-date="true">
                <field-map field-name="rateTypeId" 
from-field="parameters.rateTypeId"/>
                <field-map field-name="partyId" 
from-field="parameters.partyId"/>
                <field-map field-name="workEffortId" 
from-field="parameters.workEffortId"/>
                <field-map field-name="periodTypeId" 
from-field="parameters.periodTypeId"/>
                <field-map field-name="rateCurrencyUomId" 
from-field="parameters.rateCurrencyUomId"/>
            </entity-and>
            <if-empty field="amounts"> 
{code}

In this 'entity-and', the partyId is set as a constraint. But it is possible to 
enable a special RateAmount only for a WorkEffort without regarding the partyId.

I think we have 2 options here :
- Remove the partyId constraint but then the retrieving may be less accurate
- Make the retrieving more accurate by checking first the WorkEffort, then from 
the retrieved list, check if the partyId matches and finally from this second 
retrieval, check if the emplPositionTypeId match. At the end, we would have the 
most accurate RateAmount.

What do you think of it ?


> RateAmount is not found when the level is 'WorkEffort'
> ------------------------------------------------------
>
>                 Key: OFBIZ-7957
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-7957
>             Project: OFBiz
>          Issue Type: Bug
>          Components: accounting
>    Affects Versions: Trunk
>            Reporter: Montalbano Florian
>            Assignee: Jacques Le Roux
>              Labels: accounting, level, rate, rateAmount, workeffort
>         Attachments: OFBIZ-7957.patch
>
>
> When you create a RateAmount, you can determine for which WorkEffort it 
> should apply. But when this RateAmount is retrieved for a specific 
> WorkEffort, it fails to find the good RateAmount.
> The problem comes from the check done to retrieve the RateAmount at a 
> WorkEffort level. This is the used check : 
> {code}
> <entity-and entity-name="RateAmount" list="amounts" filter-by-date="true">
>                 <field-map field-name="rateTypeId" 
> from-field="parameters.rateTypeId"/>
>                 <field-map field-name="partyId" 
> from-field="parameters.partyId"/>
>                 <field-map field-name="workEffortId" 
> from-field="parameters.workEffortId"/>
>                 <field-map field-name="periodTypeId" 
> from-field="parameters.periodTypeId"/>
>                 <field-map field-name="rateCurrencyUomId" 
> from-field="parameters.rateCurrencyUomId"/>
>             </entity-and>
>             <if-empty field="amounts"> 
> {code}
> In this 'entity-and', the partyId is set as a constraint. But it is possible 
> to enable a special RateAmount only for a WorkEffort without regarding the 
> partyId.
> I think we have 2 options here :
> # Remove the partyId constraint but then the retrieving may be less accurate
> # Make the retrieving more accurate by checking first the WorkEffort, then 
> from the retrieved list, check if the partyId matches and finally from this 
> second retrieval, check if the emplPositionTypeId match. At the end, we would 
> have the most accurate RateAmount.
> What do you think of it ?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to