Not able to remove mandatory fields
Try enable developer mode
I would try “Mandatory depends on” .
This is a requirement I’ve had in the past. I’ve only found 1 solution.
- Create a custom app.
- Add a hook after_migrate
def after_migrate(): frappe.conf.developer_mode = 1 for doctype in ("Quotation", "Purchase Order",): doc = frappe.get_doc("DocType", doctype) for field in doc.fields: if field.fieldname == "items": field.reqd = 0 doc.save() frappe.conf.developer_mode 0
- Install the custom app
Now every time you update ERPNext this hook will execute and make the items table not mandatory for each specified doctype.
Please be aware: There is some validation logic in the python controllers that also validate items exists in the table. You must also override this validation with
Adding to @Prabhas_Chakraborty, @TurkerTunali and @dj12djdjs answer,
You can also use the Property Setter for removing mandatory fields.
Please check it.