details:   https://code.tryton.org/tryton/commit/38aba6163a89
branch:    default
user:      Cédric Krier <[email protected]>
date:      Fri Oct 02 10:48:48 2026 +0200
description:
        Support phantom input and output when setting moves to production

        Closes #14908
diffstat:

 modules/production/production.py |  20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

diffs (33 lines):

diff -r 7d7d0ccfb5ab -r 38aba6163a89 modules/production/production.py
--- a/modules/production/production.py  Wed Sep 30 18:30:11 2026 +0200
+++ b/modules/production/production.py  Fri Oct 02 10:48:48 2026 +0200
@@ -523,19 +523,19 @@
                     production.product, production.quantity, production.unit)
                 for input_ in production.bom.inputs:
                     quantity = input_.compute_quantity(factor)
-                    product = input_.product
-                    move = production._move(
-                        'input', product, input_.unit, quantity)
-                    move.planned_date = input_date
-                    save.push(input_.prepare_move(production, move))
+                    for line, quantity in input_.lines_for_quantity(quantity):
+                        move = production._move(
+                            'input', line.product, line.unit, quantity)
+                        move.planned_date = input_date
+                        save.push(input_.prepare_move(production, move))
 
                 for output in production.bom.outputs:
                     quantity = output.compute_quantity(factor)
-                    product = output.product
-                    move = production._move(
-                        'output', product, output.unit, quantity)
-                    move.planned_date = output_date
-                    save.push(output.prepare_move(production, move))
+                    for line, quantity in output.lines_for_quantity(quantity):
+                        move = production._move(
+                            'output', line.product, line.unit, quantity)
+                        move.planned_date = output_date
+                        save.push(output.prepare_move(production, move))
 
     @classmethod
     def set_cost_from_moves(cls):

Reply via email to