From fb6c87dd0c56c72b56731145296e467d7574eb34 Mon Sep 17 00:00:00 2001 From: pandiyan Date: Wed, 29 Jul 2026 23:12:45 +0530 Subject: [PATCH] fix: guard scio row lookup in stock entry items_add check the result of find() before reading t_warehouse off it. on a 'receive from customer' entry with no row carrying scio_detail, find() returns undefined and items_add throws a typeerror. the throw rejects the serially-run handler chain, so the stock entry controller's own items_add never runs and the new row silently loses its target warehouse, expense account, cost center and serial/batch field defaults. leave t_warehouse unset when no reference row exists, so the rest of the chain still runs. (cherry picked from commit 6e444a18327e13d344bb3fa36c78b58e5fa06d98) --- erpnext/stock/doctype/stock_entry/stock_entry.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js index 94ce0652931..10fcf8d4ee6 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.js +++ b/erpnext/stock/doctype/stock_entry/stock_entry.js @@ -998,7 +998,10 @@ frappe.ui.form.on("Stock Entry Detail", { } if (frm.doc.purpose === "Receive from Customer") { - item.t_warehouse = frm.doc.items.find((item) => item.scio_detail).t_warehouse; + const scio_row = frm.doc.items.find((row) => row.scio_detail); + if (scio_row) { + item.t_warehouse = scio_row.t_warehouse; + } } }, set_basic_rate_manually(frm, cdt, cdn) {