[Erp5-report] r7361 - /erp5/trunk/products/ERP5/TargetSolver/CopyToTarget.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu May 18 17:21:25 CEST 2006
Author: alex
Date: Thu May 18 17:21:22 2006
New Revision: 7361
URL: http://svn.erp5.org?rev=7361&view=rev
Log:
set DeliveryError on simulation movement, so that the Delivery can converge
even if there is a floating point rounding error (99.0/98.0*98.0 != 99.0).
Modified:
erp5/trunk/products/ERP5/TargetSolver/CopyToTarget.py
Modified: erp5/trunk/products/ERP5/TargetSolver/CopyToTarget.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/TargetSolver/CopyToTarget.py?rev=7361&r1=7360&r2=7361&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/TargetSolver/CopyToTarget.py (original)
+++ erp5/trunk/products/ERP5/TargetSolver/CopyToTarget.py Thu May 18 17:21:22 2006
@@ -100,15 +100,18 @@
parent_movement = None
return parent_movement, value_delta_dict
- def _recursivelySolve(self, simulation_movement, **value_delta_dict):
+ def _recursivelySolve(self, simulation_movement, is_last_movement=1, **value_delta_dict):
"""
Update value of the current simulation movement, and update
his parent movement.
"""
value_dict = self._generateValueDict(simulation_movement, **value_delta_dict)
simulation_movement.edit(**value_dict)
+ if is_last_movement:
+ delivery_quantity = simulation_movement.getDeliveryValue().getQuantity()
+ simulation_movement.setDeliveryError(delivery_quantity - value_dict['quantity'])
parent_movement, parent_value_delta_dict = \
self._getParentParameters(simulation_movement, **value_delta_dict)
if parent_movement is not None:
# Modify the parent movement
- self._recursivelySolve(parent_movement, **parent_value_delta_dict)
+ self._recursivelySolve(parent_movement, is_last_movement=0, **parent_value_delta_dict)
More information about the Erp5-report
mailing list