From 527e6c02b34a30bf0528e2a0050ca924b865abfe Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 9 Jan 2018 16:29:13 +0530 Subject: [PATCH] Delete BOMs on deletion of company --- erpnext/setup/doctype/company/company.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py index a36810f6fe8..d7d23b3ace2 100644 --- a/erpnext/setup/doctype/company/company.py +++ b/erpnext/setup/doctype/company/company.py @@ -281,6 +281,12 @@ class Company(Document): # delete mode of payment account frappe.db.sql("delete from `tabMode of Payment Account` where company=%s", self.name) + # delete BOMs + boms = frappe.db.sql_list("select name from tabBOM where company=%s", self.name) + frappe.db.sql("delete from tabBOM where company=%s", self.name) + for dt in ("BOM Operation", "BOM Item", "BOM Scrap Item", "BOM Explosion Item"): + frappe.db.sql("delete from `tab%s` where parent in (%s)""" + % (dt, ', '.join(['%s']*len(boms))), tuple(boms)) @frappe.whitelist() def enqueue_replace_abbr(company, old, new):