Merge pull request #4560 from nabinhait/item_variants
[fix] Disable atrribute table in variant item record
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index 47ace46..6a3cf6f 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -30,9 +30,18 @@
self.get("__onload").sle_exists = self.check_if_sle_exists()
def autoname(self):
- if frappe.db.get_default("item_naming_by")=="Naming Series" and not self.variant_of:
- from frappe.model.naming import make_autoname
- self.item_code = make_autoname(self.naming_series+'.#####')
+ if frappe.db.get_default("item_naming_by")=="Naming Series":
+ if self.variant_of:
+ if not self.item_code:
+ item_code_suffix = ""
+ for attribute in self.attributes:
+ attribute_abbr = frappe.db.get_value("Item Attribute Value",
+ {"parent": attribute.attribute, "attribute_value": attribute.attribute_value}, "abbr")
+ item_code_suffix += "-" + str(attribute_abbr or attribute.attribute_value)
+ self.item_code = str(self.variant_of) + item_code_suffix
+ else:
+ from frappe.model.naming import make_autoname
+ self.item_code = make_autoname(self.naming_series+'.#####')
elif not self.item_code:
msgprint(_("Item Code is mandatory because Item is not automatically numbered"), raise_exception=1)