From 46f5de0b1c4c2604bf54b21069b7de76e5aab099 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Fri, 17 Apr 2026 13:16:38 +0530 Subject: [PATCH] fix: make Target Warehouse mandatory on UI (cherry picked from commit 2a8267e10a4410f53f281d49e716c6cdd7dc490e) --- erpnext/manufacturing/doctype/work_order/work_order.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/erpnext/manufacturing/doctype/work_order/work_order.js b/erpnext/manufacturing/doctype/work_order/work_order.js index 9840ed1c13d..4fa5c5d7e04 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.js +++ b/erpnext/manufacturing/doctype/work_order/work_order.js @@ -241,6 +241,11 @@ frappe.ui.form.on("Work Order", { frm.trigger("allow_alternative_item"); frm.trigger("hide_reserve_stock_button"); frm.trigger("toggle_items_editable"); + frm.trigger("set_fg_warehouse_mandatory"); + }, + + skip_transfer(frm) { + frm.trigger("set_fg_warehouse_mandatory"); }, toggle_items_editable(frm) { @@ -277,6 +282,11 @@ frappe.ui.form.on("Work Order", { return has_reserved_stock; }, + set_fg_warehouse_mandatory(frm) { + let mandatory = frm.doc.skip_transfer === 1 || frm.doc.track_semi_finished_goods === 1 ? false : true; + frm.toggle_reqd("fg_warehouse", mandatory); + }, + add_custom_button_to_return_components: function (frm) { if (frm.doc.docstatus === 1 && ["Closed", "Completed"].includes(frm.doc.status)) { let non_consumed_items = frm.doc.required_items.filter((d) => {