mirror of
https://github.com/NaN-tic/trytond-patches.git
synced 2023-12-14 06:03:03 +01:00
[#10467] stock_lot: fix Move.assign_try() support of lots and support cancelled outgoing moves in ShipmentOut
This commit is contained in:
parent
6cebd20eaf
commit
0d589fdefe
1 changed files with 34 additions and 0 deletions
34
issue67_214.diff
Normal file
34
issue67_214.diff
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
Index: stock.py
|
||||||
|
===================================================================
|
||||||
|
|
||||||
|
--- a/stock.py
|
||||||
|
+++ b/stock.py
|
||||||
|
@@ -80,6 +80,18 @@
|
||||||
|
for move in moves:
|
||||||
|
move.check_lot()
|
||||||
|
|
||||||
|
+ @classmethod
|
||||||
|
+ def assign_try(cls, moves, grouping=('product',)):
|
||||||
|
+ lot_moves = []
|
||||||
|
+ product_moves = []
|
||||||
|
+ for move in moves:
|
||||||
|
+ if move.lot:
|
||||||
|
+ lot_moves.append(move)
|
||||||
|
+ else:
|
||||||
|
+ product_moves.append(move)
|
||||||
|
+ return (super(Move, cls).assign_try(product_moves, grouping=grouping)
|
||||||
|
+ and super(Move, cls).assign_try(lot_moves, grouping=('product', 'lot')))
|
||||||
|
+
|
||||||
|
|
||||||
|
class ShipmentIn:
|
||||||
|
__name__ = 'stock.shipment.in'
|
||||||
|
@@ -121,6 +133,8 @@
|
||||||
|
outgoing_moves = outgoing_by_product[move.product.id]
|
||||||
|
while outgoing_moves and quantity > 0:
|
||||||
|
out_move = outgoing_moves.pop()
|
||||||
|
+ if out_move.state == 'cancel':
|
||||||
|
+ continue
|
||||||
|
out_quantity = Uom.compute_qty(out_move.uom,
|
||||||
|
out_move.quantity, out_move.product.default_uom,
|
||||||
|
round=False)
|
||||||
|
|
Loading…
Reference in a new issue