I agree that a product should always have and ID.
so how does a product not have an ID, so that it must be checked for?

=========================
BJ Freeman
Strategic Power Office with Supplier Automation  
<http://www.businessesnetwork.com/automation/viewforum.php?f=52>
Specialtymarket.com  <http://www.specialtymarket.com/>
Systems Integrator-- Glad to Assist

Chat  Y! messenger: bjfr33man


Scott Gray sent the following on 1/21/2011 11:20 PM:
An order item without a product id not a product without an id.  OFBiz does 
support non-product order items.

Regards
Scott

HotWax Media
http://www.hotwaxmedia.com

On 22/01/2011, at 8:04 PM, BJ Freeman wrote:

I am curious under what condition a product would not have an ID?

=========================
BJ Freeman
Strategic Power Office with Supplier 
Automation<http://www.businessesnetwork.com/automation/viewforum.php?f=52>
Specialtymarket.com<http://www.specialtymarket.com/>
Systems Integrator-- Glad to Assist

Chat  Y! messenger: bjfr33man


[email protected] sent the following on 1/21/2011 9:36 AM:
Author: jaz
Date: Fri Jan 21 17:36:32 2011
New Revision: 1061925

URL: http://svn.apache.org/viewvc?rev=1061925&view=rev
Log:
view minor adjustments to support order items without a product id

Modified:
     
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java
     
ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/OrderView.groovy

Modified: 
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java?rev=1061925&r1=1061924&r2=1061925&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java 
(original)
+++ 
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java 
Fri Jan 21 17:36:32 2011
@@ -1708,9 +1708,11 @@ public class OrderReadHelper {
      /** Get a set of productIds in the order. */
      public Collection<String>   getOrderProductIds() {
          Set<String>   productIds = FastSet.newInstance();
-        for (Iterator<GenericValue>   iter = getOrderItems().iterator(); 
iter.hasNext();) {
-            productIds.add(iter.next().getString("productId"));
-        }
+        for (GenericValue orderItem : getOrderItems()) {
+            if (orderItem.get("productId") != null) {
+                productIds.add(orderItem.getString("productId"));
+            }
+        }
          return productIds;
      }


Modified: 
ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/OrderView.groovy
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/OrderView.groovy?rev=1061925&r1=1061924&r2=1061925&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/OrderView.groovy
 (original)
+++ 
ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/OrderView.groovy
 Fri Jan 21 17:36:32 2011
@@ -345,13 +345,18 @@ if (orderHeader) {
      }
      context.productionProductQuantityMap = productionMap;

-    // INVENTORY: find the number of products in outstanding sales orders for 
the same product store
-    requiredMap = 
InventoryWorker.getOutstandingProductQuantitiesForSalesOrders(productIds, 
delegator);
-    context.requiredProductQuantityMap = requiredMap;
-
-    // INVENTORY: find the quantity of each product in outstanding purchase 
orders
-    onOrderMap = 
InventoryWorker.getOutstandingProductQuantitiesForPurchaseOrders(productIds, 
delegator);
-    context.onOrderProductQuantityMap = onOrderMap;
+    if (productIds.size()>   0) {
+        // INVENTORY: find the number of products in outstanding sales orders 
for the same product store
+        requiredMap = 
InventoryWorker.getOutstandingProductQuantitiesForSalesOrders(productIds, 
delegator);
+        context.requiredProductQuantityMap = requiredMap;
+
+        // INVENTORY: find the quantity of each product in outstanding 
purchase orders
+        onOrderMap = 
InventoryWorker.getOutstandingProductQuantitiesForPurchaseOrders(productIds, 
delegator);
+        context.onOrderProductQuantityMap = onOrderMap;
+    } else {
+        context.requiredProductQuantityMap = FastMap.newInstance();
+        context.onOrderProductQuantityMap = FastMap.newInstance();
+    }
  }

  paramString = "";






Reply via email to