=== modified file 'stock/wizard/stock_partial_picking.py' --- stock/wizard/stock_partial_picking.py 2012-12-17 15:23:03 +0000 +++ stock/wizard/stock_partial_picking.py 2013-04-04 16:58:03 +0000 @@ -167,6 +167,7 @@ picking_type = partial.picking_id.type for wizard_line in partial.move_ids: line_uom = wizard_line.product_uom + move_uom = wizard_line.move_id.product_uom move_id = wizard_line.move_id.id #Quantiny must be Positive @@ -174,11 +175,13 @@ raise osv.except_osv(_('Warning!'), _('Please provide proper Quantity.')) #Compute the quantity for respective wizard_line in the line uom (this jsut do the rounding if necessary) - qty_in_line_uom = uom_obj._compute_qty(cr, uid, line_uom.id, wizard_line.quantity, line_uom.id) + qty_in_move_uom = uom_obj._compute_qty(cr, uid, line_uom.id, wizard_line.quantity, move_uom.id) + qty_in_line_uom = uom_obj._compute_qty(cr, uid, move_uom.id, qty_in_move_uom, line_uom.id) if line_uom.factor and line_uom.factor <> 0: if float_compare(qty_in_line_uom, wizard_line.quantity, precision_rounding=line_uom.rounding) != 0: - raise osv.except_osv(_('Warning!'), _('The unit of measure rounding does not allow you to ship "%s %s", only roundings of "%s %s" is accepted by the Unit of Measure.') % (wizard_line.quantity, line_uom.name, line_uom.rounding, line_uom.name)) + rounding = uom_obj._compute_qty(cr, uid, move_uom.id, move_uom.rounding, line_uom.id) + raise osv.except_osv(_('Warning!'), _('The unit of measure rounding does not allow you to ship "%s %s", only roundings of "%s %s" is accepted by the Unit of Measure.') % (wizard_line.quantity, line_uom.name, rounding, line_uom.name)) if move_id: #Check rounding Quantity.ex. #picking: 1kg, uom kg rounding = 0.01 (rounding to 10g),