In trunk in applications/order/webapp/ordermgr/order/orderitems.ftl, have a look at lines 224 to 290
(see https://fisheye6.atlassian.com/browse/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderitems.ftl?hb=true#to224) Lines 224 to 238 establish values for the variables shippedQuantity and totalReceived <#assign shippedQuantity = orderReadHelper.getItemShippedQuantity(orderItem)> <#assign shipmentReceipts = delegator.findByAnd("ShipmentReceipt", {"orderId" : orderHeader.getString("orderId"), "orderItemSeqId" : orderItem.orderItemSeqId}, null, false)/> <#assign totalReceived = 0.0> <#if shipmentReceipts?exists && shipmentReceipts?has_content> <#list shipmentReceipts as shipmentReceipt> <#if shipmentReceipt.quantityAccepted?exists && shipmentReceipt.quantityAccepted?has_content> <#assign quantityAccepted = shipmentReceipt.quantityAccepted> <#assign totalReceived = quantityAccepted + totalReceived> </#if> <#if shipmentReceipt.quantityRejected?exists && shipmentReceipt.quantityRejected?has_content> <#assign quantityRejected = shipmentReceipt.quantityRejected> <#assign totalReceived = quantityRejected + totalReceived> </#if> </#list> </#if> Then they are used to calculate a value for remainingQuantity. The calculation is different for sales and purchase orders. <#if orderHeader.orderTypeId == "PURCHASE_ORDER"> <#assign remainingQuantity = ((orderItem.quantity?default(0) - orderItem.cancelQuantity?default(0)) - totalReceived?double)> <#else> <#assign remainingQuantity = ((orderItem.quantity?default(0) - orderItem.cancelQuantity?default(0)) - shippedQuantity?double)> </#if> After a couple of rows in the table, we have this on lines 272 to 277 *${uiLabelMap.OrderRemaining}* ${remainingQuantity} *${uiLabelMap.OrderQtyShipped}* ${shippedQuantity} Then immediately after that *${uiLabelMap.OrderShortfalled}* ${shortfalledQuantity} *${uiLabelMap.OrderOutstanding}* <#-- Make sure digital goods without shipments don't always remain "outstanding": if item is completed, it must have no outstanding quantity. --> <#if (orderItem.statusId?has_content) && (orderItem.statusId == "ITEM_COMPLETED")> 0 <#elseif orderHeader.orderTypeId == "PURCHASE_ORDER"> ${(orderItem.quantity?default(0) - orderItem.cancelQuantity?default(0)) - totalReceived?double} <#elseif orderHeader.orderTypeId == "SALES_ORDER"> ${(orderItem.quantity?default(0) - orderItem.cancelQuantity?default(0)) - shippedQuantity?double} </#if> The only difference I can see between the Remaining and Outstanding numbers is the extra test the second time to force outstanding number to zero for a status of ITEM_COMPLETED. As the comment says, some goods won't need a shipment. In that case, it seems confusing and ridiculous to say some items are "remaining" but none are "outstanding". In other words, the calculation for outstanding is slightly better. I see no reason to show both "Remaining" and "Outstanding". They seem logically equivalent. Am I missing something? Or should we remove one of the two? Cheers Paul Foxworthy ----- -- Coherent Software Australia Pty Ltd http://www.cohsoft.com.au/ Bonsai ERP, the all-inclusive ERP system http://www.bonsaierp.com.au/ -- View this message in context: http://ofbiz.135035.n4.nabble.com/Is-there-any-difference-between-Remaining-and-Outstanding-in-orderitems-ftl-tp4636846.html Sent from the OFBiz - Dev mailing list archive at Nabble.com.
