fix: incorrect delink serial no and batch
diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py
index 4aa1cad..2d2fff8 100644
--- a/erpnext/controllers/stock_controller.py
+++ b/erpnext/controllers/stock_controller.py
@@ -247,16 +247,17 @@
for d in self.items:
if not d.batch_no: continue
+ serial_nos = [sr.name for sr in frappe.get_all("Serial No",
+ {'batch_no': d.batch_no, 'status': 'Inactive'})]
+
+ if serial_nos:
+ frappe.db.set_value("Serial No", { 'name': ['in', serial_nos] }, "batch_no", None)
+
d.batch_no = None
d.db_set("batch_no", None)
for data in frappe.get_all("Batch",
{'reference_name': self.name, 'reference_doctype': self.doctype}):
-
- serial_nos = [sr.name for sr in frappe.get_all("Serial No", {'batch_no': data.name})]
- if serial_nos:
- frappe.db.set_value("Serial No", { 'name': ['in', serial_nos] }, "batch_no", None)
-
frappe.delete_doc("Batch", data.name)
def get_sl_entries(self, d, args):