Merge branch 'develop' into fix_asset_scrap_and_sale_dep
This commit is contained in:
commit
cf72931816
@ -557,37 +557,52 @@ 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) {
|
||||||
// Only show "Material Consumption" when required_qty > consumed_qty
|
// Only show "Material Consumption" when required_qty > consumed_qty
|
||||||
var counter = 0;
|
var counter = 0;
|
||||||
var tbl = frm.doc.required_items || [];
|
var tbl = frm.doc.required_items || [];
|
||||||
var tbl_lenght = tbl.length;
|
var tbl_lenght = tbl.length;
|
||||||
for (var i = 0, len = tbl_lenght; i < len; i++) {
|
for (var i = 0, len = tbl_lenght; i < len; i++) {
|
||||||
let wo_item_qty = frm.doc.required_items[i].transferred_qty || frm.doc.required_items[i].required_qty;
|
let wo_item_qty = frm.doc.required_items[i].transferred_qty || frm.doc.required_items[i].required_qty;
|
||||||
if (flt(wo_item_qty) > flt(frm.doc.required_items[i].consumed_qty)) {
|
if (flt(wo_item_qty) > flt(frm.doc.required_items[i].consumed_qty)) {
|
||||||
counter += 1;
|
counter += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (counter > 0) {
|
||||||
|
var consumption_btn = frm.add_custom_button(__('Material Consumption'), function() {
|
||||||
|
const backflush_raw_materials_based_on = frm.doc.__onload.backflush_raw_materials_based_on;
|
||||||
|
erpnext.work_order.make_consumption_se(frm, backflush_raw_materials_based_on);
|
||||||
|
});
|
||||||
|
consumption_btn.addClass('btn-primary');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (counter > 0) {
|
|
||||||
var consumption_btn = frm.add_custom_button(__('Material Consumption'), function() {
|
var finish_btn = frm.add_custom_button(__('Finish'), function() {
|
||||||
const backflush_raw_materials_based_on = frm.doc.__onload.backflush_raw_materials_based_on;
|
erpnext.work_order.make_se(frm, 'Manufacture');
|
||||||
erpnext.work_order.make_consumption_se(frm, backflush_raw_materials_based_on);
|
});
|
||||||
});
|
|
||||||
consumption_btn.addClass('btn-primary');
|
if(doc.material_transferred_for_manufacturing>=doc.qty) {
|
||||||
|
// all materials transferred for manufacturing, make this primary
|
||||||
|
finish_btn.addClass('btn-primary');
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
|
frappe.db.get_doc("Manufacturing Settings").then((doc) => {
|
||||||
|
let allowance_percentage = doc.overproduction_percentage_for_work_order;
|
||||||
|
|
||||||
var finish_btn = frm.add_custom_button(__('Finish'), function() {
|
if (allowance_percentage > 0) {
|
||||||
erpnext.work_order.make_se(frm, 'Manufacture');
|
let allowed_qty = frm.doc.qty + ((allowance_percentage / 100) * frm.doc.qty);
|
||||||
});
|
|
||||||
|
|
||||||
if(doc.material_transferred_for_manufacturing>=doc.qty) {
|
if ((flt(doc.produced_qty) < allowed_qty)) {
|
||||||
// all materials transferred for manufacturing, make this primary
|
frm.add_custom_button(__('Finish'), function() {
|
||||||
finish_btn.addClass('btn-primary');
|
erpnext.work_order.make_se(frm, 'Manufacture');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1073,8 +1073,8 @@ class StockEntry(StockController):
|
|||||||
# No work order could mean independent Manufacture entry, if so skip validation
|
# No work order could mean independent Manufacture entry, if so skip validation
|
||||||
if self.work_order and self.fg_completed_qty > allowed_qty:
|
if self.work_order and self.fg_completed_qty > allowed_qty:
|
||||||
frappe.throw(
|
frappe.throw(
|
||||||
_("For quantity {0} should not be greater than work order quantity {1}").format(
|
_("For quantity {0} should not be greater than allowed quantity {1}").format(
|
||||||
flt(self.fg_completed_qty), wo_qty
|
flt(self.fg_completed_qty), allowed_qty
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user