[FIX] stock: put in pack and unreserve
- Create a product P, tracked by lot - Add some stock with a lot - Create an outgoing picking - Set 10 units of P - Set 2 done, Put in Pack - Unreserve An error occurs: 'It is not possible to unreserve more products of P than you have in stock.' It happens because the `lot_id` is removed from the copied `stock.move.line`. Commit eac8c06e2233d93e0b1a520e makes sense for incoming pickings, but not for internal or outgoing transfers. opw-2288208 closes odoo/odoo#54355 X-original-commit: ed738fb56ffe84f3af08b84e429db916a5e560b6 Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This commit is contained in:
@@ -1248,10 +1248,11 @@ class Picking(models.Model):
|
||||
new_move_line = ml.copy(
|
||||
default={'product_uom_qty': 0, 'qty_done': ml.qty_done})
|
||||
vals = {'product_uom_qty': quantity_left_todo, 'qty_done': 0.0}
|
||||
if ml.lot_id:
|
||||
vals['lot_id'] = False
|
||||
if ml.lot_name:
|
||||
vals['lot_name'] = False
|
||||
if pick.picking_type_id.code == 'incoming':
|
||||
if ml.lot_id:
|
||||
vals['lot_id'] = False
|
||||
if ml.lot_name:
|
||||
vals['lot_name'] = False
|
||||
ml.write(vals)
|
||||
new_move_line.write({'product_uom_qty': done_to_keep})
|
||||
move_lines_to_pack |= new_move_line
|
||||
|
||||
Reference in New Issue
Block a user