From 953de995bcd2bcb502fd461d0fb3977a63350272 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 19:42:54 +0530 Subject: [PATCH] fix: BOM creator validation for parent row no (backport #41413) (#41558) fix: BOM creator validation for parent row no (#41413) fix: bom creator valiation for parent row no (cherry picked from commit ae3f5a38e11e645e9a47ce16fbc5caf062f369d2) Co-authored-by: rohitwaghchaure --- .../doctype/bom_creator/bom_creator.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/erpnext/manufacturing/doctype/bom_creator/bom_creator.py b/erpnext/manufacturing/doctype/bom_creator/bom_creator.py index 0158f7c5b97..e236e7a6345 100644 --- a/erpnext/manufacturing/doctype/bom_creator/bom_creator.py +++ b/erpnext/manufacturing/doctype/bom_creator/bom_creator.py @@ -80,6 +80,18 @@ class BOMCreator(Document): if row.is_expandable and row.item_code == self.item_code: frappe.throw(_("Item {0} cannot be added as a sub-assembly of itself").format(row.item_code)) + if not row.parent_row_no and row.fg_item and row.fg_item != self.item_code: + frappe.throw( + _("At row {0}: set Parent Row No for item {1}").format(row.idx, row.item_code), + title=_("Set Parent Row No in Items Table"), + ) + + elif row.parent_row_no and row.fg_item == self.item_code: + frappe.throw( + _("At row {0}: Parent Row No cannot be set for item {1}").format(row.idx, row.item_code), + title=_("Remove Parent Row No in Items Table"), + ) + def set_status(self, save=False): self.status = { 0: "Draft", @@ -410,6 +422,10 @@ def add_sub_assembly(**kwargs): parent_row_no = item_row.idx name = "" + else: + parent_row_no = [row.idx for row in doc.items if row.name == kwargs.fg_reference_id] + if parent_row_no: + parent_row_no = parent_row_no[0] for row in bom_item.get("items"): row = frappe._dict(row)