I created an App, and I want to modify ERPNext’s fields of doctypes after installing the App. So how to add or remove field in codes?
You have directly remove fields from Customise Form by using hide option and also add from their by using Add new row.
Go to Customise Form-> select perticular doctype , open field hide option will be their.
yeah, I know how to operate on that, I wanna know how to code…
OK I found this works.
def add_field(*, doctype, field_label, field_name, field_type, options=None, default=None):
dt = frappe.get_doc('DocType', doctype)
df = frappe.new_doc('DocField')
df.label = field_label
df.fieldname = field_name
df.fieldtype = field_type
df.parent = doctype
df.parentfield = 'fields'
df.parenttype = 'DocType'
df.parent_doc = dt
if options:
df.options = options
if default:
df.default = default
df.save()
df.submit()
dt.on_update()
frappe.db.commit()
even though I dont know if it’s the right way to do that.
Where should I place this code?
What do you mean? You already created your doctype?
You should:
1)create doctype in your application,
2) Find the doctype/<your_doctypes_name>/<your_doctypes_name>.json file and after that you understood, that you should do
If it will be so hard for you you can also use UI for creating custom fields:
If you already use existable doctype you should find this doctype there and press on Menu >`Customize’> After that you will understand, that you should do
Yeah, I want to add field to erpnext existing form like Stock > Item form through code.
Maybe you do not understand my question.