fix: avoid TypeError on new Work Order when company is not set (#58969)

Co-authored-by: Ajish18 <ajishiyappan1@gmail.com>
(cherry picked from commit d82c35aae9)
This commit is contained in:
Pandiyan P
2026-09-10 18:03:06 +05:30
committed by Mergify
parent 2788704d81
commit e20501a15c

View File

@@ -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(
@@ -986,14 +990,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);