Hi Paul,

Seems nobody never answered and the situation has not changed.

I suggest to create a Jira where it will be easier to read, exchange and focus.

Thanks

Jacques

Le 11/10/2012 à 08:35, Paul Foxworthy a écrit :
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.

Reply via email to