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)