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 6e444a1832)

# Conflicts:
#	erpnext/stock/doctype/stock_entry/stock_entry.js
This commit is contained in:
pandiyan
2026-07-29 23:12:45 +05:30
committed by Mergify
parent f2ec60b7a5
commit adbc67ef11

View File

@@ -964,6 +964,16 @@ frappe.ui.form.on("Stock Entry Detail", {
if (item.is_finished_item) {
frm.events.set_fg_completed_qty(frm);
}
<<<<<<< HEAD
=======
if (frm.doc.purpose === "Receive from Customer") {
const scio_row = frm.doc.items.find((row) => row.scio_detail);
if (scio_row) {
item.t_warehouse = scio_row.t_warehouse;
}
}
>>>>>>> 6e444a1832 (fix: guard scio row lookup in stock entry items_add)
},
set_basic_rate_manually(frm, cdt, cdn) {
let row = locals[cdt][cdn];