Fix for Issue #4543: Automatic item_code generation for variants when parent item is named after a Naming Series
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index dfe17e8..12c39db 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -33,6 +33,11 @@
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+'.#####')
+ elif frappe.db.get_default("item_naming_by")=="Naming Series" and self.variant_of:
+ item_code_suffix = ""
+ for attribute in self.attributes:
+ item_code_suffix += "-" + str(attribute.attribute_value)
+ self.item_code = str(self.variant_of) + item_code_suffix
elif not self.item_code:
msgprint(_("Item Code is mandatory because Item is not automatically numbered"), raise_exception=1)