Somesh Khare(OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/6.1-opw-577140-skh into
lp:openobject-addons/6.1.
Requested reviews:
Naresh(OpenERP) (nch-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/6.1-opw-577140-skh/+merge/116460
Hello Sir,
"FIX] rounding issue with same or different uom in partial picking wizard"
Steps :
1). Create a purchase order for product = Wood 2mm with quantity = 27.400
2). Confirm the purchase order , Goto reception and try to process & validate
the 27.400 (with either UOM = m(meter) or cm(centi-meter)) quantity in wizard.
The warning message is appeared.
This branch fixes the issue, Kindly review the branch and please share your
view on it
Regards,
Somesh Khare
--
https://code.launchpad.net/~openerp-dev/openobject-addons/6.1-opw-577140-skh/+merge/116460
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/6.1-opw-577140-skh.
=== modified file 'stock/wizard/stock_partial_picking.py'
--- stock/wizard/stock_partial_picking.py 2012-05-04 17:47:54 +0000
+++ stock/wizard/stock_partial_picking.py 2012-07-24 12:16:19 +0000
@@ -22,6 +22,7 @@
import time
from osv import fields, osv
from tools.misc import DEFAULT_SERVER_DATETIME_FORMAT
+from tools.float_utils import float_compare
import decimal_precision as dp
from tools.translate import _
@@ -127,6 +128,7 @@
stock_picking = self.pool.get('stock.picking')
stock_move = self.pool.get('stock.move')
uom_obj = self.pool.get('product.uom')
+ precision_obj = self.pool.get('decimal.precision')
partial = self.browse(cr, uid, ids[0], context=context)
partial_data = {
'delivery_date' : partial.date
@@ -144,7 +146,7 @@
qty_in_line_uom = uom_obj._compute_qty(cr, uid, line_uom.id, wizard_line.quantity, line_uom.id)
if line_uom.factor and line_uom.factor <> 0:
- if qty_in_line_uom <> wizard_line.quantity:
+ if float_compare(qty_in_line_uom, wizard_line.quantity, precision_digits=precision_obj.precision_get(cr, uid, 'Product UoM')) != 0:
raise osv.except_osv(_('Warning'), _('The uom rounding does not allow you to ship "%s %s", only roundings of "%s %s" is accepted by the uom.') % (wizard_line.quantity, line_uom.name, line_uom.rounding, line_uom.name))
if move_id:
#Check rounding Quantity.ex.
@@ -155,7 +157,7 @@
#Compute the quantity for respective wizard_line in the initial uom
qty_in_initial_uom = uom_obj._compute_qty(cr, uid, line_uom.id, wizard_line.quantity, initial_uom.id)
without_rounding_qty = (wizard_line.quantity / line_uom.factor) * initial_uom.factor
- if qty_in_initial_uom <> without_rounding_qty:
+ if float_compare(qty_in_initial_uom, without_rounding_qty, precision_digits=precision_obj.precision_get(cr, uid, 'Product UoM')) != 0:
raise osv.except_osv(_('Warning'), _('The rounding of the initial uom does not allow you to ship "%s %s", as it would let a quantity of "%s %s" to ship and only roundings of "%s %s" is accepted by the uom.') % (wizard_line.quantity, line_uom.name, wizard_line.move_id.product_qty - without_rounding_qty, initial_uom.name, initial_uom.rounding, initial_uom.name))
else:
seq_obj_name = 'stock.picking.' + picking_type
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp