Author: jacopoc
Date: Thu Jun 21 08:31:08 2007 New Revision: 549514 URL: http://svn.apache.org/viewvc?view=rev&rev=549514 Log: Enhanced the getProductCost method to look at the SupplierProduct entity to get the cost, if nothing else has been found. Modified: ofbiz/trunk/applications/product/script/org/ofbiz/product/cost/CostServices.xml Modified: ofbiz/trunk/applications/product/script/org/ofbiz/product/cost/CostServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/cost/CostServices.xml?view=diff&rev=549514&r1=549513&r2=549514 ============================================================================== --- ofbiz/trunk/applications/product/script/org/ofbiz/product/cost/CostServices.xml (original) +++ ofbiz/trunk/applications/product/script/org/ofbiz/product/cost/CostServices.xml Thu Jun 21 08:31:08 2007 @@ -124,6 +124,41 @@ </call-service> </if-not-empty> </if-compare> + <!-- if the cost is zero, get the purchase cost from the SupplierProduct --> + <if-compare field-name="productCost" operator="equals" value="0" type="Double"> + <set field="orderByList[]" value="+supplierPrefOrderId"/> + <set field="orderByList[]" value="+lastPrice"/> + <clear-field field-name="costsAndMap"/> + <set from-field="parameters.productId" field="costsAndMap.productId"/> + <set from-field="parameters.currencyUomId" field="costsAndMap.currencyUomId"/> + <find-by-and entity-name="SupplierProduct" map-name="costsAndMap" list-name="priceCosts" order-by-list-name="orderByList"/> + <filter-list-by-date list-name="priceCosts" from-field-name="availableFromDate" thru-field-name="availableThruDate"/> + <first-from-list list-name="priceCosts" entry-name="priceCost"/> + <if-not-empty field-name="priceCost.lastPrice"> + <set from-field="priceCost.lastPrice" field="productCost"/> + </if-not-empty> + <!-- if the cost is zero, get the purchase cost from the SupplierProduct + in a different currency and try to convert + --> + <if-compare field-name="productCost" operator="equals" value="0" type="Double"> + <clear-field field-name="costsAndMap"/> + <set from-field="parameters.productId" field="costsAndMap.productId"/> + <set from-field="parameters.productPriceTypeId" field="costsAndMap.productPriceTypeId"/> + <find-by-and entity-name="SupplierProduct" map-name="costsAndMap" list-name="priceCosts" order-by-list-name="orderByList"/> + <filter-list-by-date list-name="priceCosts" from-field-name="availableFromDate" thru-field-name="availableThruDate"/> + <first-from-list list-name="priceCosts" entry-name="priceCost"/> + <if-not-empty field-name="priceCost.lastPrice"> + <!-- we try to convert the lastPrice to the desired currency --> + <clear-field field-name="inputMap"/> + <set from-field="priceCost.lastPrice" field="inputMap.originalValue"/> + <set from-field="priceCost.currencyUomId" field="inputMap.uomId"/> + <set from-field="parameters.currencyUomId" field="inputMap.uomIdTo"/> + <call-service service-name="convertUom" in-map-name="inputMap" break-on-error="false"> + <result-to-field result-name="convertedValue" field-name="productCost"/> + </call-service> + </if-not-empty> + </if-compare> + </if-compare> <!-- <if-compare field-name="productCost" operator="equals" value="0" type="Double"> <clear-field field-name="costsAndMap"/> |
Free forum by Nabble | Edit this page |