[IMP] mrp_multi_level: allow to specify distribution LT

This commit is contained in:
Lois Rilo
2022-03-01 17:44:57 +01:00
committed by BernatPForgeFlow
parent 3ad8bf9261
commit 6de5182fe3
2 changed files with 15 additions and 3 deletions

View File

@@ -59,6 +59,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",
@@ -160,12 +161,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):

View File

@@ -94,8 +94,15 @@
<field name="mrp_maximum_order_qty" />
<field name="mrp_qty_multiple" />
<field name="supply_method" />
<field
name="distribution_lead_time"
attrs="{'invisible': [('supply_method', 'not in', ('pull', 'push', 'pull_push'))]}"
/>
<field name="mrp_lead_time" />
<field name="main_supplierinfo_id" />
<field
name="main_supplierinfo_id"
attrs="{'invisible':[('supply_method', '!=', 'buy')]}"
/>
</group>
</group>
<notebook>