mirror of
https://github.com/frappe/erpnext.git
synced 2026-03-22 11:44:11 +00:00
fix(manufacturing): prevent KeyError in BOM Creator when sub-assembly reused
Ensure missing (fg_item, fg_reference_id) keys are initialized in
production_item_wise_rm before appending items. This avoids crashes
when the same sub-assembly is referenced under multiple parents.
(cherry picked from commit 4f8b2e520a)
This commit is contained in:
@@ -253,6 +253,13 @@ class BOMCreator(Document):
|
|||||||
if not row.fg_reference_id and production_item_wise_rm.get((row.fg_item, row.fg_reference_id)):
|
if not row.fg_reference_id and production_item_wise_rm.get((row.fg_item, row.fg_reference_id)):
|
||||||
frappe.throw(_("Please set Parent Row No for item {0}").format(row.fg_item))
|
frappe.throw(_("Please set Parent Row No for item {0}").format(row.fg_item))
|
||||||
|
|
||||||
|
key = (row.fg_item, row.fg_reference_id)
|
||||||
|
if key not in production_item_wise_rm:
|
||||||
|
production_item_wise_rm.setdefault(
|
||||||
|
key,
|
||||||
|
frappe._dict({"items": [], "bom_no": "", "fg_item_data": row}),
|
||||||
|
)
|
||||||
|
|
||||||
production_item_wise_rm[(row.fg_item, row.fg_reference_id)]["items"].append(row)
|
production_item_wise_rm[(row.fg_item, row.fg_reference_id)]["items"].append(row)
|
||||||
|
|
||||||
reverse_tree = OrderedDict(reversed(list(production_item_wise_rm.items())))
|
reverse_tree = OrderedDict(reversed(list(production_item_wise_rm.items())))
|
||||||
|
|||||||
Reference in New Issue
Block a user