How to add data in child table using server side script

Hi Everyone,

I have written a script to create an item on fly as a clone of an item.
But for that I wanted to insert few data in child table of Item like
Item Supplier
UOM Conversion Detail etc.

Can anybody let me know how to do this?

below is my code which is working perfectly.

@frappe.whitelist(allow_guest=True)
def generate_custom_codes(item_code, properties=None):
	frappe.msgprint(item_code)    
	i='010%'
	j=frappe.db.sql("""select item_code from tabItem where item_code like %s order by item_code desc limit 1""",i)
	prefix=j[0][0]
	prefix="".join(prefix)
	new_prefix=prefix[0:3]
	new_suffix=prefix[4:10]
	next_num=(int(new_suffix)+1)
	next_num1=str(next_num)
	new_num1=next_num1.decode("ascii").rjust(6,'0')
	new_num1=new_prefix+'-'+new_num1

	item_name, description, is_stock_item, stock_uom, default_warehouse, end_of_life, valuation_method, default_material_request_type, is_sales_item, inspection_required = frappe.db.get_value("Item",item_code, ["item_name", "description", "is_stock_item", "stock_uom", "default_warehouse", "end_of_life", "valuation_method", "default_material_request_type", "is_sales_item", "inspection_required"])
	item = frappe.get_doc({
		"doctype": "Item",
		"item_code": new_num1,
		"item_name": item_name,
		"description": description,
		"is_stock_item": is_stock_item, 
		"stock_uom": stock_uom,
 		"default_warehouse": default_warehouse,
		"end_of_life": end_of_life,
		"valuation_method": valuation_method,
		"default_material_request_type": default_material_request_type,
		"is_sales_item": is_sales_item,
		"inspection_required": inspection_required,
		"item_group": "010-XXXXXX (custom product)",
		"workflow_state": "Approved",
		"docstatus": 0
	})

	if properties:
		item.update(properties)


	item.insert()
	item.save()
	

	return new_num1

Regards
Ruchin Sharma

@ruchin78,

just search the self.append() method in erpnext you will get the lots of examples for inserting the data into child table.

e.g. check the journal_entry.py

Thanks, Makarand

1 Like