diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py index 8a19f41f950..b7a89c861d7 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -27,7 +27,7 @@ class BOM(Document): self.validate_main_item() from erpnext.utilities.transaction_base import validate_uom_is_integer - validate_uom_is_integer(self, "stock_uom", "qty") + validate_uom_is_integer(self, "stock_uom", "qty", "BOM Item") self.validate_operations() self.validate_materials() diff --git a/erpnext/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py index 4ba162790c4..5e24d9b189d 100644 --- a/erpnext/utilities/transaction_base.py +++ b/erpnext/utilities/transaction_base.py @@ -95,7 +95,7 @@ def delete_events(ref_type, ref_name): class UOMMustBeIntegerError(frappe.ValidationError): pass -def validate_uom_is_integer(doc, uom_field, qty_fields): +def validate_uom_is_integer(doc, uom_field, qty_fields, child_dt=None): if isinstance(qty_fields, basestring): qty_fields = [qty_fields] @@ -106,7 +106,7 @@ def validate_uom_is_integer(doc, uom_field, qty_fields): if not integer_uoms: return - for d in doc.get_all_children(): + for d in doc.get_all_children(parenttype=child_dt): if d.get(uom_field) in integer_uoms: for f in qty_fields: if d.get(f):