diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js index 1b7e9915f5f..485fe11cfbc 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.js +++ b/erpnext/stock/doctype/stock_entry/stock_entry.js @@ -823,9 +823,28 @@ frappe.ui.form.on("Stock Entry", { refresh_field("process_loss_qty"); } }, + + set_fg_completed_qty(frm) { + let fg_completed_qty = 0; + + frm.doc.items.forEach((item) => { + if (item.is_finished_item) { + fg_completed_qty += flt(item.qty); + } + }); + + frm.doc.fg_completed_qty = fg_completed_qty; + frm.refresh_field("fg_completed_qty"); + }, }); frappe.ui.form.on("Stock Entry Detail", { + items_add(frm, cdt, cdn) { + let item = frappe.get_doc(cdt, cdn); + if (item.is_finished_item) { + frm.events.set_fg_completed_qty(frm); + } + }, set_basic_rate_manually(frm, cdt, cdn) { let row = locals[cdt][cdn]; frm.fields_dict.items.grid.update_docfield_property( @@ -837,6 +856,10 @@ frappe.ui.form.on("Stock Entry Detail", { qty(frm, cdt, cdn) { frm.events.set_basic_rate(frm, cdt, cdn); + let item = frappe.get_doc(cdt, cdn); + if (item.is_finished_item) { + frm.events.set_fg_completed_qty(frm); + } }, conversion_factor(frm, cdt, cdn) {