Hi,
I have 4 fields as below in a DocType called “Delivery”
- delivery_region (Field type: Select | Options: North, South)
- delivery_node (Field type: Select | Options: Inward, Outward)
- delivery_base (Field type: Float)
- delivery_charges (Field type: Data, read-only)
I want to calculate “delivery_charges” based on the below 4 conditions depending upon the values selected in “delivery_region” and “delivery_node” fields
The 4 conditions for “delivery_region” and “delivery_node” are as below:
- North & Inward: “delivery_node” = “delivery_base” x 1.5
- North & Outward: “delivery_node” = “delivery_base” x 2.5
- South & Inward: “delivery_node” = “delivery_base” x 3.5
- South & Outward: “delivery_node” = “delivery_base” x 4.5
The “delivery_charges” field should be auto-calculated as the above 4 conditions.
I have written the following custom script but it is not working
frappe.ui.form.on("Delivery", "delivery_base", function(frm) {
if (frm.doc.delivery_region == "North" && form.doc.delivery_node == "Inward") {
frm.set_value("delivery_charges", flt(frm.doc.delivery_base) * 1.5);
}
else if (frm.doc.delivery_region == "North" && form.doc.delivery_node == "Outward") {
frm.set_value("delivery_charges", flt(frm.doc.delivery_base) * 2.5);
}
else if (frm.doc.delivery_region == "South" && form.doc.delivery_node == "Inward") {
frm.set_value("delivery_charges", flt(frm.doc.delivery_base) * 3.5);
}
else if (frm.doc.delivery_region == "South" && form.doc.delivery_node == "Outward") {
frm.set_value("delivery_charges", flt(frm.doc.delivery_base) * 4.5);
}
});
Any help will be appreciated.
Thanks