From d82c35aae98202976c4a46d6db2e60bd5b78ff10 Mon Sep 17 00:00:00 2001 From: Pandiyan P Date: Thu, 10 Sep 2026 18:03:06 +0530 Subject: [PATCH] fix: avoid TypeError on new Work Order when company is not set (#58969) Co-authored-by: Ajish18 --- .../manufacturing/doctype/work_order/work_order.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/erpnext/manufacturing/doctype/work_order/work_order.js b/erpnext/manufacturing/doctype/work_order/work_order.js index 915b041675b..878c747dab6 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.js +++ b/erpnext/manufacturing/doctype/work_order/work_order.js @@ -139,6 +139,10 @@ frappe.ui.form.on("Work Order", { frm.fields_dict["secondary_items"].grid.wrapper?.find("> .control-label").text(label); }, + company: function (frm) { + erpnext.work_order.set_default_warehouse(frm); + }, + source_warehouse: function (frm) { let transaction_controller = new erpnext.TransactionController(); transaction_controller.autofill_warehouse( @@ -1114,14 +1118,16 @@ erpnext.work_order = { }, set_default_warehouse: function (frm) { - if (!(frm.doc.wip_warehouse || frm.doc.fg_warehouse)) { + if (frm.doc.company && !(frm.doc.wip_warehouse || frm.doc.fg_warehouse)) { + let company = frm.doc.company; frappe.call({ method: "erpnext.manufacturing.doctype.work_order.work_order.get_default_warehouse", args: { - company: frm.doc.company, + company: company, }, callback: function (r) { - if (!r.exe) { + // ignore stale responses if the company changed while the request was in flight + if (!r.exe && frm.doc.company === company) { frm.set_value("wip_warehouse", r.message.wip_warehouse); frm.set_value("fg_warehouse", r.message.fg_warehouse); frm.set_value("scrap_warehouse", r.message.scrap_warehouse);