diff --git a/addons/delivery/models/stock_move.py b/addons/delivery/models/stock_move.py index a6ad6c839b7..2cf30338dc0 100644 --- a/addons/delivery/models/stock_move.py +++ b/addons/delivery/models/stock_move.py @@ -42,6 +42,7 @@ class StockMoveLine(models.Model): unit_price = move_line.product_id.list_price qty = move_line.product_uom_id._compute_quantity(move_line.qty_done, move_line.product_id.uom_id) move_line.sale_price = unit_price * qty + super(StockMoveLine, self)._compute_sale_price() def _get_aggregated_product_quantities(self, **kwargs): """Returns dictionary of products and corresponding values of interest + hs_code diff --git a/addons/sale_mrp/models/__init__.py b/addons/sale_mrp/models/__init__.py index 6e09b9faac4..db9a5396202 100644 --- a/addons/sale_mrp/models/__init__.py +++ b/addons/sale_mrp/models/__init__.py @@ -4,3 +4,4 @@ from . import sale from . import account_move from . import mrp_production +from . import stock_move diff --git a/addons/sale_mrp/models/stock_move.py b/addons/sale_mrp/models/stock_move.py new file mode 100644 index 00000000000..2bb87868939 --- /dev/null +++ b/addons/sale_mrp/models/stock_move.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models + + + +class StockMoveLine(models.Model): + _inherit = 'stock.move.line' + + def _compute_sale_price(self): + kit_lines = self.filtered(lambda move_line: move_line.move_id.bom_line_id.bom_id.type == 'phantom') + for move_line in kit_lines: + unit_price = move_line.product_id.list_price + qty = move_line.product_uom_id._compute_quantity(move_line.qty_done, move_line.product_id.uom_id) + move_line.sale_price = unit_price * qty + super(StockMoveLine, self - kit_lines)._compute_sale_price() diff --git a/addons/stock/models/stock_move_line.py b/addons/stock/models/stock_move_line.py index 27465cb126e..f0f481133c6 100644 --- a/addons/stock/models/stock_move_line.py +++ b/addons/stock/models/stock_move_line.py @@ -778,3 +778,7 @@ class StockMoveLine(models.Model): aggregated_move_lines[line_key]['qty_ordered'] += empty_move.product_uom_qty return aggregated_move_lines + + def _compute_sale_price(self): + # To Override + pass