diff options
| author | Nicolas Martinelli <nim@odoo.com> | 2020-11-30 14:35:56 +0000 |
|---|---|---|
| committer | Nicolas Martinelli <nim@odoo.com> | 2020-12-07 06:33:50 +0000 |
| commit | 7e9d052beabe15d932e5d403f8ca2f4837c7d24f (patch) | |
| tree | bafe2314e8ce216cd3b2c59465c8ab1b5906989f /addons | |
| parent | 383b12977062cacc6ff0f553d7012029268be1ec (diff) | |
[FIX] stock_account, stock_landed_costs: do not create SVL for consumable
The creation of a Stock Valuation Layer is useless in case of a
Consumable product. At best it is useless, at worst it causes
inconsistencies when the user switch from a Consumable to a Storable
type.
closes odoo/odoo#62679
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/sale_stock_margin/tests/test_sale_stock_margin.py | 1 | ||||
| -rw-r--r-- | addons/stock_account/models/stock_move.py | 2 | ||||
| -rw-r--r-- | addons/stock_landed_costs/tests/test_stock_landed_costs.py | 2 |
3 files changed, 4 insertions, 1 deletions
diff --git a/addons/sale_stock_margin/tests/test_sale_stock_margin.py b/addons/sale_stock_margin/tests/test_sale_stock_margin.py index 5de45112b1b..09647269020 100644 --- a/addons/sale_stock_margin/tests/test_sale_stock_margin.py +++ b/addons/sale_stock_margin/tests/test_sale_stock_margin.py @@ -30,6 +30,7 @@ class TestSaleStockMargin(TestStockValuationCommon): def _create_product(self): product_template = self.env['product.template'].create({ 'name': 'Super product', + 'type': 'product', }) product_template.categ_id.property_cost_method = 'fifo' return product_template.product_variant_ids diff --git a/addons/stock_account/models/stock_move.py b/addons/stock_account/models/stock_move.py index 2c90c4af584..033aa1149ac 100644 --- a/addons/stock_account/models/stock_move.py +++ b/addons/stock_account/models/stock_move.py @@ -234,7 +234,7 @@ class StockMove(models.Model): # Init a dict that will group the moves by valuation type, according to `move._is_valued_type`. valued_moves = {valued_type: self.env['stock.move'] for valued_type in self._get_valued_types()} for move in self: - if float_is_zero(move.quantity_done, precision_rounding=move.product_uom.rounding): + if float_is_zero(move.quantity_done, precision_rounding=move.product_uom.rounding) or move.product_id.type == 'consu': continue for valued_type in self._get_valued_types(): if getattr(move, '_is_%s' % valued_type)(): diff --git a/addons/stock_landed_costs/tests/test_stock_landed_costs.py b/addons/stock_landed_costs/tests/test_stock_landed_costs.py index 89847cedc56..9e86cdf6c0e 100644 --- a/addons/stock_landed_costs/tests/test_stock_landed_costs.py +++ b/addons/stock_landed_costs/tests/test_stock_landed_costs.py @@ -20,6 +20,7 @@ class TestStockLandedCosts(TestStockLandedCostsCommon): 'weight': 10, 'volume': 1, 'categ_id': self.stock_account_product_categ.id, + 'type': 'product', }) product_landed_cost_2 = self.env['product.product'].create({ @@ -27,6 +28,7 @@ class TestStockLandedCosts(TestStockLandedCostsCommon): 'weight': 20, 'volume': 1.5, 'categ_id': self.stock_account_product_categ.id, + 'type': 'product', }) self.assertEqual(product_landed_cost_1.value_svl, 0) |
