2020-11-07 15:03:48 +01:00
|
|
|
index 7995ab4..4277d89 100644
|
2023-01-04 16:09:24 +01:00
|
|
|
--- a/tryton/modules/stock/move.py
|
|
|
|
+++ b/tryton/modules/stock/move.py
|
2020-11-06 17:51:59 +01:00
|
|
|
@@ -841,6 +841,8 @@ class Move(Workflow, ModelSQL, ModelView):
|
|
|
|
child_locations = {}
|
|
|
|
to_write = []
|
|
|
|
to_assign = []
|
|
|
|
+ to_copy_moves = []
|
|
|
|
+ to_copy_values = []
|
|
|
|
success = True
|
|
|
|
for move in moves:
|
|
|
|
if move.state != 'draft':
|
2020-11-07 15:03:48 +01:00
|
|
|
@@ -900,14 +902,20 @@ class Move(Workflow, ModelSQL, ModelView):
|
2020-11-06 17:51:59 +01:00
|
|
|
to_assign.append(move)
|
|
|
|
first = False
|
|
|
|
else:
|
|
|
|
- with Transaction().set_context(_stock_move_split=True):
|
|
|
|
- to_assign.extend(cls.copy([move], default=values))
|
|
|
|
+ to_copy_moves.append(move)
|
|
|
|
+ to_copy_values.append(values)
|
|
|
|
|
|
|
|
qty_default_uom = Uom.compute_qty(move.uom, qty,
|
|
|
|
move.product.default_uom, round=False)
|
|
|
|
|
|
|
|
from_key = get_key(move, from_location)
|
|
|
|
pbl[from_key] = pbl.get(from_key, 0.0) - qty_default_uom
|
|
|
|
+ if to_copy_moves:
|
|
|
|
+ with Transaction().set_context(_stock_move_split=True):
|
|
|
|
+ copied = cls.copy(to_copy_moves)
|
|
|
|
+ for record, values in zip(copied, to_copy_values):
|
|
|
|
+ to_write.extend([[record], values])
|
2020-11-07 15:03:48 +01:00
|
|
|
+ to_assign.extend(copied)
|
2020-11-06 17:51:59 +01:00
|
|
|
if to_write:
|
|
|
|
cls.write(*to_write)
|
|
|
|
if to_assign:
|