Skip to content

Commit

Permalink
[FIX] stock: put in pack and unreserve
Browse files Browse the repository at this point in the history
- 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 eac8c06 makes sense for incoming pickings, but
not for internal or outgoing transfers.

opw-2288208

X-original-commit: ed738fb
  • Loading branch information
nim-odoo committed Jul 10, 2020
1 parent 0fbf6cd commit ef33392
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions addons/stock/models/stock_picking.py
Original file line number Diff line number Diff line change
Expand Up @@ -1248,10 +1248,11 @@ def _put_in_pack(self, move_line_ids):
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
Expand Down

0 comments on commit ef33392

Please sign in to comment.