diff --git a/erpnext/manufacturing/doctype/work_order/work_order.js b/erpnext/manufacturing/doctype/work_order/work_order.js index b0849e05fe0..01cda8c107d 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.js +++ b/erpnext/manufacturing/doctype/work_order/work_order.js @@ -552,6 +552,13 @@ frappe.ui.form.on("Work Order", { erpnext.work_order.calculate_cost(frm.doc); erpnext.work_order.calculate_total_cost(frm); }, + + skip_transfer: function (frm) { + if (frm.doc.skip_transfer && !frm.doc.from_wip_warehouse) { + frm.set_value("wip_warehouse", null); + frm.refresh_field("wip_warehouse"); + } + }, }); frappe.ui.form.on("Work Order Item", { diff --git a/erpnext/manufacturing/doctype/work_order/work_order.py b/erpnext/manufacturing/doctype/work_order/work_order.py index 7b5d796e50d..ae4af352d87 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.py +++ b/erpnext/manufacturing/doctype/work_order/work_order.py @@ -170,6 +170,7 @@ class WorkOrder(Document): self.validate_sales_order() self.set_default_warehouse() self.validate_warehouse_belongs_to_company() + self.check_wip_warehouse_skip() self.calculate_operating_cost() self.validate_qty() self.validate_transfer_against() @@ -269,6 +270,10 @@ class WorkOrder(Document): if not self.fg_warehouse: self.fg_warehouse = frappe.db.get_single_value("Manufacturing Settings", "default_fg_warehouse") + def check_wip_warehouse_skip(self): + if self.skip_transfer and not self.from_wip_warehouse: + self.wip_warehouse = None + def validate_warehouse_belongs_to_company(self): warehouses = [self.fg_warehouse, self.wip_warehouse] for d in self.get("required_items"):