Author: jleroux
Date: Sun Aug 28 05:00:28 2016
New Revision: 1758089
URL:
http://svn.apache.org/viewvc?rev=1758089&view=revLog:
A patch from Oleg Andreyev for "Cancelling shipment receipt doubles the inventory"
https://issues.apache.org/jira/browse/OFBIZ-7943When user cancel shipment receipt on PO it calls the service cancelReceivedItems that should revert inventory received. It doubles it instead because expression ${-1 * inventoryItem.quantityOnHandTotal} does not work really and does not return negative value.
Modified:
ofbiz/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml
Modified: ofbiz/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml?rev=1758089&r1=1758088&r2=1758089&view=diff==============================================================================
--- ofbiz/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml (original)
+++ ofbiz/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml Sun Aug 28 05:00:28 2016
@@ -544,8 +544,16 @@ under the License.
<!-- create record for InventoryItemDetail entity -->
<get-related-one value-field="shipmentReceipt" relation-name="InventoryItem" to-value-field="inventoryItem"/>
<set field="inventoryItemDetailMap.inventoryItemId" from-field="inventoryItem.inventoryItemId"/>
- <set field="inventoryItemDetailMap.quantityOnHandDiff" value="${-1 * inventoryItem.quantityOnHandTotal}" type="BigDecimal"/>
- <set field="inventoryItemDetailMap.availableToPromiseDiff" value="${-1 * inventoryItem.availableToPromiseTotal}" type="BigDecimal"/>
+ <calculate field="inventoryItemDetailMap.quantityOnHandDiff">
+ <calcop operator="multiply" field="inventoryItem.quantityOnHandTotal">
+ <number value="-1"/>
+ </calcop>
+ </calculate>
+ <calculate field="inventoryItemDetailMap.availableToPromiseDiff">
+ <calcop operator="multiply" field="inventoryItem.availableToPromiseTotal">
+ <number value="-1"/>
+ </calcop>
+ </calculate>
<call-service service-name="createInventoryItemDetail" in-map-name="inventoryItemDetailMap"/>
<!-- Balance the inventory item -->