Calculate Field on Customize Form

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!

Thanks for answering @NCP