Whi le providing from time and to time details , hrs still blank or 0, how to fetch hours at automatically,i give hours as float.
thanks for your response hours are automatically fetch for other doc type i had problem only on labour allocation
Hi @Mohamed2335,
That for, please apply the client for it.
Please check the syntax and set the field name and doctype accordingly.
frappe.ui.form.on('Child DocType Name', {
from_time: function(frm, cdt, cdn) {
calculate_end_time(frm, cdt, cdn);
},
to_time: function(frm, cdt, cdn) {
var child = locals[cdt][cdn];
if(frm._setting_hours) return;
var hours = moment(child.to_time).diff(moment(child.from_time), "seconds") / 3600;
frappe.model.set_value(cdt, cdn, "hours", hours);
},
hours: function(frm, cdt, cdn) {
calculate_end_time(frm, cdt, cdn);
},
});
var calculate_end_time = function(frm, cdt, cdn) {
let child = locals[cdt][cdn];
if(!child.from_time) {
// if from_time value is not available then set the current datetime
frappe.model.set_value(cdt, cdn, "from_time", frappe.datetime.get_datetime_as_string());
}
let d = moment(child.from_time);
if(child.hours) {
d.add(child.hours, "hours");
frm._setting_hours = true;
frappe.model.set_value(cdt, cdn, "to_time",
d.format(frappe.defaultDatetimeFormat)).then(() => {
frm._setting_hours = false;
});
}
};
I hope this helps.
Thank You!
Please add like
frappe.ui.form.on('Labour Allocation Details', {
And also check the field name is proper or not.
Thank You!
thanks sir