From 05915415de3b13545cab4e2d89c33b526ae7db39 Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Tue, 15 Oct 2024 16:08:58 +0530 Subject: [PATCH] =?UTF-8?q?fix:=20refetch=20items=20from=20BOM=20if=20'Use?= =?UTF-8?q?=20Multi-Level=20BOM'=20has=20changed=20usin=E2=80=A6=20(#43672?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix: refetch items from BOM if 'Use Multi-Level BOM' has changed using api --- erpnext/manufacturing/doctype/work_order/work_order.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/erpnext/manufacturing/doctype/work_order/work_order.py b/erpnext/manufacturing/doctype/work_order/work_order.py index 4aefb15f8eb..9e0aeee127b 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.py +++ b/erpnext/manufacturing/doctype/work_order/work_order.py @@ -176,11 +176,20 @@ class WorkOrder(Document): self.validate_operation_time() self.status = self.get_status() self.validate_workstation_type() + self.reset_use_multi_level_bom() validate_uom_is_integer(self, "stock_uom", ["qty", "produced_qty"]) self.set_required_items(reset_only_qty=len(self.get("required_items"))) + def reset_use_multi_level_bom(self): + if self.is_new(): + return + + before_save_obj = self.get_doc_before_save() + if before_save_obj.use_multi_level_bom != self.use_multi_level_bom: + self.get_items_and_operations_from_bom() + def validate_workstation_type(self): for row in self.operations: if not row.workstation and not row.workstation_type: