details:   https://code.tryton.org/tryton/commit/22f51726e753
branch:    8.0
user:      Cédric Krier <[email protected]>
date:      Fri Oct 02 11:11:48 2026 +0200
description:
        Fallback to 0 when cost price is empty for product of production

        Closes #15138
        (grafted from aaa87c6471b33c02922121d6f8849d2759a4208f)
diffstat:

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

diffs (30 lines):

diff -r 93146bd22394 -r 22f51726e753 modules/production/production.py
--- a/modules/production/production.py  Fri Oct 02 10:48:48 2026 +0200
+++ b/modules/production/production.py  Fri Oct 02 11:11:48 2026 +0200
@@ -470,7 +470,7 @@
         for input_ in self.inputs:
             if input_.state == 'cancelled':
                 continue
-            cost_price = input_.get_cost_price()
+            cost_price = input_.get_cost_price() or 0
             cost += (Decimal(str(input_.internal_quantity)) * cost_price)
         return round_price(cost)
 
@@ -491,7 +491,7 @@
             product = input_.product
             quantity = Uom.compute_qty(
                 input_.unit, input_.quantity, product.default_uom)
-            cost += Decimal(str(quantity)) * product.cost_price
+            cost += Decimal(str(quantity)) * (product.cost_price or 0)
         return cost
 
     @dualmethod
@@ -566,7 +566,7 @@
             for input_ in production.inputs:
                 if input_.state == 'cancelled':
                     continue
-                cost_price = input_.get_cost_price()
+                cost_price = input_.get_cost_price() or 0
                 input_quantities[input_.product] += (
                     Decimal(str(input_.internal_quantity)))
                 input_costs[input_.product] += (

Reply via email to