fix: Validate Serial No/Batch No against unserialized Item in Stock Reconciliation (#20858)

diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
index ca2741c..afa2394 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
@@ -190,6 +190,9 @@
 				has_serial_no = True
 				self.get_sle_for_serialized_items(row, sl_entries)
 			else:
+				if row.serial_no or row.batch_no:
+					frappe.throw(_("Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.") \
+						.format(row.idx, frappe.bold(row.item_code)))
 				previous_sle = get_previous_sle({
 					"item_code": row.item_code,
 					"warehouse": row.warehouse,