[ 
https://issues.apache.org/jira/browse/OFBIZ-7957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15445680#comment-15445680
 ] 

Montalbano Florian commented on OFBIZ-7957:
-------------------------------------------

Thanks [~taher] for this solution and [~jacques.le.roux] for the source.
As you said, I stayed at the function level. 
So, when you talk about uping the level of abstraction, I get the feeling that 
it is the right thing to do here. Breaking down this function into several 
services will do good.

Can you explain a little more (or give an example) for this 'piping the results 
in SECA' thing ? Does that mean that when I want to retrieve the RateAmount of 
a TimeEntry for an Invoice, it will call a first service which will trigger 
other services call given the context ?

Next time I need to list some antagonist stuff, I'll use the '#' to display 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
>              Labels: accounting, level, rate, rateAmount, workeffort
>
> 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