[FIX] sale_stock: prevent incorrect computation of kits

- Activate UoM
- Create 3 products: AB, A & B
- Create a kit BoM for AB
  - 1 units of A
  - 1 kg of B
- Sell 1 unit of AB, confirm

The error "The unit of measure Units defined on the order line
doesn't belong to the same category...".

This happens because `_compute_quantity` is called on `stock.moves`
related to different products.

As a first step, we simply keep only the moves of the same product,
meaning that the `qty_available_today` and `free_qty_today` are not
supported for kits.

opw-2372676

closes odoo/odoo#61071

X-original-commit: 15368c6d1316d43b1591b88e4d5786d86403f8a1
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This commit is contained in:
Nicolas Martinelli
2020-10-30 15:54:51 +00:00
parent 095fb9d6c4
commit 5a262f7b79
+1 -1
View File
@@ -305,7 +305,7 @@ class SaleOrderLine(models.Model):
for line in self.filtered(lambda l: l.state == 'sale'):
if not line.display_qty_widget:
continue
moves = line.move_ids
moves = line.move_ids.filtered(lambda m: m.product_id == line.product_id)
line.forecast_expected_date = max(moves.filtered("forecast_expected_date").mapped("forecast_expected_date"), default=False)
line.qty_available_today = 0
line.free_qty_today = 0