fix: consider overproduction percentage for WO finish button

This commit is contained in:
Sagar Sharma 2022-09-27 15:30:08 +05:30
parent 9049db41ae
commit 05392e0918

View File

@ -557,8 +557,8 @@ erpnext.work_order = {
if(!frm.doc.skip_transfer){ if(!frm.doc.skip_transfer){
// If "Material Consumption is check in Manufacturing Settings, allow Material Consumption // If "Material Consumption is check in Manufacturing Settings, allow Material Consumption
if ((flt(doc.produced_qty) < flt(doc.material_transferred_for_manufacturing)) if (flt(doc.material_transferred_for_manufacturing) > 0 && frm.doc.status != 'Stopped') {
&& frm.doc.status != 'Stopped') { if ((flt(doc.produced_qty) < flt(doc.material_transferred_for_manufacturing))) {
frm.has_finish_btn = true; frm.has_finish_btn = true;
if (frm.doc.__onload && frm.doc.__onload.material_consumption == 1) { if (frm.doc.__onload && frm.doc.__onload.material_consumption == 1) {
@ -589,6 +589,21 @@ erpnext.work_order = {
// all materials transferred for manufacturing, make this primary // all materials transferred for manufacturing, make this primary
finish_btn.addClass('btn-primary'); finish_btn.addClass('btn-primary');
} }
} else {
frappe.db.get_doc("Manufacturing Settings").then((doc) => {
let allowance_percentage = doc.overproduction_percentage_for_work_order;
if (allowance_percentage > 0) {
let allowed_qty = frm.doc.qty + ((allowance_percentage / 100) * frm.doc.qty);
if ((flt(doc.produced_qty) < allowed_qty)) {
frm.add_custom_button(__('Finish'), function() {
erpnext.work_order.make_se(frm, 'Manufacture');
});
}
}
});
}
} }
} else { } else {
if ((flt(doc.produced_qty) < flt(doc.qty)) && frm.doc.status != 'Stopped') { if ((flt(doc.produced_qty) < flt(doc.qty)) && frm.doc.status != 'Stopped') {