[Erp5-report] r34001 kazuhiko - /erp5/trunk/products/ERP5/Document/TradeModelSolver.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Mar 23 14:10:18 CET 2010


Author: kazuhiko
Date: Tue Mar 23 14:10:18 2010
New Revision: 34001

URL: http://svn.erp5.org?rev=34001&view=rev
Log:
code cleanup and add a comment for current limitations.

Modified:
    erp5/trunk/products/ERP5/Document/TradeModelSolver.py

Modified: erp5/trunk/products/ERP5/Document/TradeModelSolver.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/TradeModelSolver.py?rev=34001&r1=34000&r2=34001&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/TradeModelSolver.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/TradeModelSolver.py [utf8] Tue Mar 23 14:10:18 2010
@@ -86,7 +86,8 @@
       if applied_rule.getSpecialiseReference() == 'default_trade_model_rule':
         trade_model_related_movement_list.append(movement)
 
-    # Second, apply changes on invoice lines.
+    # Second, apply changes on invoice lines to simulation movements,
+    # then expand.
     for movement in solved_movement_list:
       for simulation_movement in movement.getDeliveryRelatedValueList():
         value_dict = {}
@@ -104,13 +105,15 @@
         simulation_movement.expand()
 
     # Third, adopt changes on trade model related lines.
+    # XXX non-linear case is not yet supported.
     for movement in trade_model_related_movement_list:
       for solved_property in solved_property_list:
         if solved_property == 'quantity':
+          simulation_movement_list = movement.getDeliveryRelatedValueList()
           total_quantity = sum(
-            [x.getQuantity() for x in movement.getDeliveryRelatedValueList()])
+            [x.getQuantity() for x in simulation_movement_list])
           movement.setQuantity(total_quantity)
-          for simulation_movement in movement.getDeliveryRelatedValueList():
+          for simulation_movement in simulation_movement_list:
             quantity = simulation_movement.getQuantity()
             delivery_ratio = quantity / total_quantity
             delivery_error = total_quantity * delivery_ratio - quantity




More information about the Erp5-report mailing list