I have following customize form for Appraisal Goal doctype:
How I change “Score_earned” field to calculate based on my “scoreoutof10” field rather than “score” field.
I have following customize form for Appraisal Goal doctype:
How I change “Score_earned” field to calculate based on my “scoreoutof10” field rather than “score” field.
Hi @oscarutomo,
Please apply the client script.
frappe.ui.form.on("Appraisal Goal", {
scoreoutof10(frm, cdt, cdn) {
let d = frappe.get_doc(cdt, cdn);
if (flt(d.scoreoutof10) > 10) {
frappe.msgprint(__("Score must be less than or equal to 10"));
d.scoreoutof10 = 0;
refresh_field("scoreoutof10", d.name, "goals");
} else {
frm.trigger("set_score_earned", cdt, cdn);
}
},
per_weightage(frm, cdt, cdn) {
frm.trigger("set_score_earned", cdt, cdn);
},
goals_remove(frm, cdt, cdn) {
frm.trigger("set_score_earned", cdt, cdn);
},
set_score_earned(frm, cdt, cdn) {
let d = frappe.get_doc(cdt, cdn);
score_earned = flt(d.scoreoutof10) * flt(d.per_weightage) / 100;
frappe.model.set_value(cdt, cdn, "score_earned", score_earned);
frm.trigger("calculate_total");
}
});
Please check the field name according.
Reference:
I hope this helps.
Thank You!