[
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)