Index: stock.py =================================================================== --- .a/trytond/trytond/modules/stock_lot/stock.py +++ .b/trytond/trytond/modules/stock_lot/stock.py @@ -80,6 +80,20 @@ for move in moves: move.check_lot() + @classmethod + def assign_try(cls, moves, with_childs=True, 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(lot_moves, + with_childs=with_childs, grouping=('product', 'lot')) + & super(Move, cls).assign_try(product_moves, + with_childs=with_childs, grouping=grouping)) +