@GhadaEbrahim as your problem,
validate: function(frm) {
total_sum= 0;
$.each(frm.doc.payment_details, function(i, d) {
total_sum = total_sum + flt(d.collection_amount);
});
} ;
hopes it will work
Try this
frappe.ui.form.on('Old Purchase', {
validate: function(frm) {
var total = 0;
$.each(frm.doc.historical_purchase, function(i, d) {
total += flt(d.collected_amount);
});
frm.set_value("debt_collected_amount", total);
refresh_field("debt_collected_amount");
}
});
I have tried it still but its not fetching the total amount from table
Hey @GhadaEbrahim,
I think, you not proper understand.
Plesae match with field and doctype.
Supplier → Parent DocType
frm.doc.payment_details → Child Table field name in Parent DocType
d.collected_amount → Child table field name which you want to calculate in parent field.
debt_collected_amount → Parent Doctype field name.
frappe.ui.form.on('Supplier', {
validate: function(frm) {
var dca = 0;
$.each(frm.doc.payment_details, function(i, d) {
dca += flt(d.collected_amount);
});
frm.set_value("debt_collected_amount", dca);
}
});
I hope this helps.
Thank You!
2 Likes
Thanks … its help me.
in same table i need to add function if type of payment = cheque and cheque is not clear don’ t calculate the amount in total amount .
Just Add if condition
frappe.ui.form.on('Old Purchase', {
validate: function(frm) {
var total = 0;
$.each(frm.doc. payment_details, function(i, d) {
//set your child table field name
if (d.payment == "cheque" && d.cheque == "clear"){
total += flt(d.collected_amount);
}});
frm.set_value("debt_collected_amount", total);
refresh_field("debt_collected_amount");
}
});