def execute(): frappe.db.sql( "delete from tabDocField where parent='Salary Slip' and options='Grade'" ) docfields = { ("Purchase Receipt", "challan_no"): frappe.get_meta("Purchase Receipt").get_field("challan_no"), ("Purchase Receipt", "challan_date"): frappe.get_meta("Purchase Receipt").get_field("challan_date"), ("Employee", "pf_number"): frappe.get_meta("Employee").get_field("pf_number"), ("Employee", "pan_number"): frappe.get_meta("Employee").get_field("pan_number"), ("Employee", "gratuity_lic_id"): frappe.get_meta("Employee").get_field("gratuity_lic_id"), ("Employee", "esic_card_no"): frappe.get_meta("Employee").get_field("esic_card_no"), ("Salary Slip", "esic_no"): frappe.get_meta("Salary Slip").get_field("esic_no"), ("Salary Slip", "pf_no"): frappe.get_meta("Salary Slip").get_field("pf_no") } for (doctype, fieldname), df in docfields.items(): if not df: continue opts = df.as_dict() if df.idx >= 2: opts["insert_after"] = frappe.get_meta(doctype).get("fields")[ df.idx - 2].fieldname frappe.delete_doc("DocField", df.name) frappe.clear_cache(doctype=doctype) create_custom_field_if_values_exist(doctype, opts)
def execute(): frappe.reload_doc("stock", "doctype", "purchase_receipt") frappe.reload_doc("hr", "doctype", "employee") frappe.reload_doc("hr", "doctype", "salary_slip") india_specific_fields = { "Purchase Receipt": [{ "label": "Supplier Shipment No", "fieldname": "challan_no", "fieldtype": "Data", "insert_after": "is_subcontracted" }, { "label": "Supplier Shipment Date", "fieldname": "challan_date", "fieldtype": "Date", "insert_after": "is_subcontracted" }], "Employee": [{ "label": "PAN Number", "fieldname": "pan_number", "fieldtype": "Data", "insert_after": "company_email" }, { "label": "Gratuity LIC Id", "fieldname": "gratuity_lic_id", "fieldtype": "Data", "insert_after": "company_email" }, { "label": "Esic Card No", "fieldname": "esic_card_no", "fieldtype": "Data", "insert_after": "bank_ac_no" }, { "label": "PF Number", "fieldname": "pf_number", "fieldtype": "Data", "insert_after": "bank_ac_no" }], "Salary Slip": [{ "label": "Esic No", "fieldname": "esic_no", "fieldtype": "Data", "insert_after": "letter_head", "permlevel": 1 }, { "label": "PF Number", "fieldname": "pf_no", "fieldtype": "Data", "insert_after": "letter_head", "permlevel": 1 }] } for dt, docfields in india_specific_fields.items(): for df in docfields: create_custom_field_if_values_exist(dt, df)
def execute(): frappe.reload_doc("stock", "doctype", "purchase_receipt") frappe.reload_doc("hr", "doctype", "employee") frappe.reload_doc("hr", "doctype", "salary_slip") india_specific_fields = { "Purchase Receipt": [{ "label": "Supplier Shipment No", "fieldname": "challan_no", "fieldtype": "Data", "insert_after": "is_subcontracted" }, { "label": "Supplier Shipment Date", "fieldname": "challan_date", "fieldtype": "Date", "insert_after": "is_subcontracted" }], "Employee": [{ "label": "PAN Number", "fieldname": "pan_number", "fieldtype": "Data", "insert_after": "company_email" }, { "label": "Gratuity LIC Id", "fieldname": "gratuity_lic_id", "fieldtype": "Data", "insert_after": "company_email" }, { "label": "Esic Card No", "fieldname": "esic_card_no", "fieldtype": "Data", "insert_after": "bank_ac_no" }, { "label": "PF Number", "fieldname": "pf_number", "fieldtype": "Data", "insert_after": "bank_ac_no" }], "Salary Slip": [{ "label": "Esic No", "fieldname": "esic_no", "fieldtype": "Data", "insert_after": "letter_head", "permlevel": 1 }, { "label": "PF Number", "fieldname": "pf_no", "fieldtype": "Data", "insert_after": "letter_head", "permlevel": 1 }] } for dt, docfields in india_specific_fields.items(): for df in docfields: create_custom_field_if_values_exist(dt, df)
def execute(): frappe.db.sql("delete from tabDocField where parent='Salary Slip' and options='Grade'") docfields = { ("Purchase Receipt", "challan_no"): frappe.get_meta("Purchase Receipt").get_field("challan_no"), ("Purchase Receipt", "challan_date"): frappe.get_meta("Purchase Receipt").get_field("challan_date"), ("Employee", "pf_number"): frappe.get_meta("Employee").get_field("pf_number"), ("Employee", "pan_number"): frappe.get_meta("Employee").get_field("pan_number"), ("Employee", "gratuity_lic_id"): frappe.get_meta("Employee").get_field("gratuity_lic_id"), ("Employee", "esic_card_no"): frappe.get_meta("Employee").get_field("esic_card_no"), ("Salary Slip", "esic_no"): frappe.get_meta("Salary Slip").get_field("esic_no"), ("Salary Slip", "pf_no"): frappe.get_meta("Salary Slip").get_field("pf_no") } for (doctype, fieldname), df in docfields.items(): if not df: continue opts = df.as_dict() if df.idx >= 2: opts["insert_after"] = frappe.get_meta(doctype).get("fields")[df.idx - 2].fieldname frappe.delete_doc("DocField", df.name) frappe.clear_cache(doctype=doctype) create_custom_field_if_values_exist(doctype, opts)