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