From ef41e5188294e1ae4c59398c096d2d639ae9ec43 Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Tue, 1 Mar 2022 17:44:57 +0100 Subject: [PATCH 1/2] [IMP] mrp_multi_level: allow to specify distribution LT --- mrp_multi_level/models/product_mrp_area.py | 9 +++++++-- mrp_multi_level/views/product_mrp_area_views.xml | 9 ++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/mrp_multi_level/models/product_mrp_area.py b/mrp_multi_level/models/product_mrp_area.py index 7a4b8d4bf..02b4782a9 100644 --- a/mrp_multi_level/models/product_mrp_area.py +++ b/mrp_multi_level/models/product_mrp_area.py @@ -60,6 +60,7 @@ class ProductMRPArea(models.Model): "to be valid for the MRP.", ) mrp_lead_time = fields.Float(string="Lead Time", compute="_compute_mrp_lead_time") + distribution_lead_time = fields.Float() main_supplier_id = fields.Many2one( comodel_name="res.partner", string="Main Supplier", @@ -158,12 +159,16 @@ class ProductMRPArea(models.Model): def _compute_mrp_lead_time(self): produced = self.filtered(lambda r: r.supply_method == "manufacture") purchased = self.filtered(lambda r: r.supply_method == "buy") + distributed = self.filtered( + lambda r: r.supply_method in ("pull", "push", "pull_push") + ) for rec in produced: rec.mrp_lead_time = rec.product_id.produce_delay for rec in purchased: rec.mrp_lead_time = rec.main_supplierinfo_id.delay - # TODO: 'move' supply method. - for rec in self - produced - purchased: + for rec in distributed: + rec.mrp_lead_time = rec.distribution_lead_time + for rec in self - produced - purchased - distributed: rec.mrp_lead_time = 0 def _compute_qty_available(self): diff --git a/mrp_multi_level/views/product_mrp_area_views.xml b/mrp_multi_level/views/product_mrp_area_views.xml index d1c52d0a0..702900b44 100644 --- a/mrp_multi_level/views/product_mrp_area_views.xml +++ b/mrp_multi_level/views/product_mrp_area_views.xml @@ -93,8 +93,15 @@ + - + From 0b69811aa38a567f2201e81eec513859530a76e8 Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Wed, 2 Mar 2022 09:57:27 +0100 Subject: [PATCH 2/2] [FIX] mrp_multi_level: date_planned required as date object after change upstream. Due to https://github.com/odoo/odoo/commit/aec7fcdb693729f432ae2341c00ef317b65fbcbc. --- mrp_multi_level/wizards/mrp_inventory_procure.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mrp_multi_level/wizards/mrp_inventory_procure.py b/mrp_multi_level/wizards/mrp_inventory_procure.py index 3eff433ff..5bc5f606c 100644 --- a/mrp_multi_level/wizards/mrp_inventory_procure.py +++ b/mrp_multi_level/wizards/mrp_inventory_procure.py @@ -135,9 +135,7 @@ class MrpInventoryProcureItem(models.TransientModel): def _prepare_procurement_values(self, group=False): return { - "date_planned": fields.Datetime.to_string( - fields.Date.from_string(self.date_planned) - ), + "date_planned": self.date_planned, "warehouse_id": self.warehouse_id, "group_id": group, "planned_order_id": self.planned_order_id.id,