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)
Example #3
0
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)