diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js index 8fa8f305549d2..147b447e806ca 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/purchase_order.js @@ -62,7 +62,7 @@ frappe.ui.form.on("Purchase Order", { get_materials_from_supplier: function(frm) { let po_details = []; - if (frm.doc.supplied_items && (frm.doc.per_received == 100 || frm.doc.status === 'Closed')) { + if (frm.doc.supplied_items && (flt(frm.doc.per_received, 2) == 100 || frm.doc.status === 'Closed')) { frm.doc.supplied_items.forEach(d => { if (d.total_supplied_qty && d.total_supplied_qty != d.consumed_qty) { po_details.push(d.name) @@ -181,7 +181,7 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends e } if(!in_list(["Closed", "Delivered"], doc.status)) { - if(this.frm.doc.status !== 'Closed' && flt(this.frm.doc.per_received) < 100 && flt(this.frm.doc.per_billed) < 100) { + if(this.frm.doc.status !== 'Closed' && flt(this.frm.doc.per_received, 2) < 100 && flt(this.frm.doc.per_billed, 2) < 100) { // Don't add Update Items button if the PO is following the new subcontracting flow. if (!(this.frm.doc.is_subcontracted && !this.frm.doc.is_old_subcontracting_flow)) { this.frm.add_custom_button(__('Update Items'), () => { @@ -195,7 +195,7 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends e } } if (this.frm.has_perm("submit")) { - if(flt(doc.per_billed, 6) < 100 || flt(doc.per_received, 6) < 100) { + if(flt(doc.per_billed, 2) < 100 || flt(doc.per_received, 2) < 100) { if (doc.status != "On Hold") { this.frm.add_custom_button(__('Hold'), () => this.hold_purchase_order(), __("Status")); } else{ @@ -218,7 +218,7 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends e } if(doc.status != "Closed") { if (doc.status != "On Hold") { - if(flt(doc.per_received) < 100 && allow_receipt) { + if(flt(doc.per_received, 2) < 100 && allow_receipt) { cur_frm.add_custom_button(__('Purchase Receipt'), this.make_purchase_receipt, __('Create')); if (doc.is_subcontracted) { if (doc.is_old_subcontracting_flow) { @@ -231,11 +231,11 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends e } } } - if(flt(doc.per_billed) < 100) + if(flt(doc.per_billed, 2) < 100) cur_frm.add_custom_button(__('Purchase Invoice'), this.make_purchase_invoice, __('Create')); - if(flt(doc.per_billed) < 100 && doc.status != "Delivered") { + if(flt(doc.per_billed, 2) < 100 && doc.status != "Delivered") { this.frm.add_custom_button( __('Payment'), () => this.make_payment_entry(), @@ -243,7 +243,7 @@ erpnext.buying.PurchaseOrderController = class PurchaseOrderController extends e ); } - if(flt(doc.per_billed) < 100) { + if(flt(doc.per_billed, 2) < 100) { this.frm.add_custom_button(__('Payment Request'), function() { me.make_payment_request() }, __('Create')); } diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js index 5d43a07d96c0f..f1a68af8d9f07 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.js +++ b/erpnext/selling/doctype/sales_order/sales_order.js @@ -50,7 +50,7 @@ frappe.ui.form.on("Sales Order", { refresh: function(frm) { if(frm.doc.docstatus === 1) { - if (frm.doc.status !== 'Closed' && flt(frm.doc.per_delivered, 6) < 100 && flt(frm.doc.per_billed, 6) < 100) { + if (frm.doc.status !== 'Closed' && flt(frm.doc.per_delivered, 2) < 100 && flt(frm.doc.per_billed, 2) < 100) { frm.add_custom_button(__('Update Items'), () => { erpnext.utils.update_child_items({ frm: frm, @@ -307,7 +307,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex me.frm.cscript.update_status('Resume', 'Draft') }, __("Status")); - if(flt(doc.per_delivered, 6) < 100 || flt(doc.per_billed) < 100) { + if(flt(doc.per_delivered, 2) < 100 || flt(doc.per_billed, 2) < 100) { // close this.frm.add_custom_button(__('Close'), () => this.close_sales_order(), __("Status")) } @@ -325,7 +325,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex && !this.frm.doc.skip_delivery_note if (this.frm.has_perm("submit")) { - if(flt(doc.per_delivered, 6) < 100 || flt(doc.per_billed) < 100) { + if(flt(doc.per_delivered, 2) < 100 || flt(doc.per_billed, 2) < 100) { // hold this.frm.add_custom_button(__('Hold'), () => this.hold_sales_order(), __("Status")) // close @@ -333,7 +333,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex } } - if (flt(doc.per_picked, 6) < 100 && flt(doc.per_delivered, 6) < 100) { + if (flt(doc.per_picked, 2) < 100 && flt(doc.per_delivered, 2) < 100) { this.frm.add_custom_button(__('Pick List'), () => this.create_pick_list(), __('Create')); } @@ -343,18 +343,18 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex const order_is_a_custom_sale = ["Sales", "Shopping Cart", "Maintenance"].indexOf(doc.order_type) === -1; // delivery note - if(flt(doc.per_delivered, 6) < 100 && (order_is_a_sale || order_is_a_custom_sale) && allow_delivery) { + if(flt(doc.per_delivered, 2) < 100 && (order_is_a_sale || order_is_a_custom_sale) && allow_delivery) { this.frm.add_custom_button(__('Delivery Note'), () => this.make_delivery_note_based_on_delivery_date(), __('Create')); this.frm.add_custom_button(__('Work Order'), () => this.make_work_order(), __('Create')); } // sales invoice - if(flt(doc.per_billed, 6) < 100) { + if(flt(doc.per_billed, 2) < 100) { this.frm.add_custom_button(__('Sales Invoice'), () => me.make_sales_invoice(), __('Create')); } // material request - if(!doc.order_type || (order_is_a_sale || order_is_a_custom_sale) && flt(doc.per_delivered, 6) < 100) { + if(!doc.order_type || (order_is_a_sale || order_is_a_custom_sale) && flt(doc.per_delivered, 2) < 100) { this.frm.add_custom_button(__('Material Request'), () => this.make_material_request(), __('Create')); this.frm.add_custom_button(__('Request for Raw Materials'), () => this.make_raw_material_request(), __('Create')); } diff --git a/erpnext/selling/doctype/sales_order/sales_order_list.js b/erpnext/selling/doctype/sales_order/sales_order_list.js index 64c58ef5d7b24..518f0187260a9 100644 --- a/erpnext/selling/doctype/sales_order/sales_order_list.js +++ b/erpnext/selling/doctype/sales_order/sales_order_list.js @@ -10,7 +10,7 @@ frappe.listview_settings['Sales Order'] = { return [__("On Hold"), "orange", "status,=,On Hold"]; } else if (doc.status === "Completed") { return [__("Completed"), "green", "status,=,Completed"]; - } else if (!doc.skip_delivery_note && flt(doc.per_delivered, 6) < 100) { + } else if (!doc.skip_delivery_note && flt(doc.per_delivered, 2) < 100) { if (frappe.datetime.get_diff(doc.delivery_date) < 0) { // not delivered & overdue return [__("Overdue"), "red", @@ -19,7 +19,7 @@ frappe.listview_settings['Sales Order'] = { // not delivered (zeroount order) return [__("To Deliver"), "orange", "per_delivered,<,100|grand_total,=,0|status,!=,Closed"]; - } else if (flt(doc.per_billed, 6) < 100) { + } else if (flt(doc.per_billed, 2) < 100) { // not delivered & not billed return [__("To Deliver and Bill"), "orange", "per_delivered,<,100|per_billed,<,100|status,!=,Closed"]; @@ -28,12 +28,12 @@ frappe.listview_settings['Sales Order'] = { return [__("To Deliver"), "orange", "per_delivered,<,100|per_billed,=,100|status,!=,Closed"]; } - } else if ((flt(doc.per_delivered, 6) === 100) && flt(doc.grand_total) !== 0 - && flt(doc.per_billed, 6) < 100) { + } else if ((flt(doc.per_delivered, 2) === 100) && flt(doc.grand_total) !== 0 + && flt(doc.per_billed, 2) < 100) { // to bill return [__("To Bill"), "orange", "per_delivered,=,100|per_billed,<,100|status,!=,Closed"]; - } else if (doc.skip_delivery_note && flt(doc.per_billed, 6) < 100){ + } else if (doc.skip_delivery_note && flt(doc.per_billed, 2) < 100){ return [__("To Bill"), "orange", "per_billed,<,100|status,!=,Closed"]; } }, diff --git a/erpnext/templates/form_grid/item_grid.html b/erpnext/templates/form_grid/item_grid.html index c596890aa32a7..027046fd92fc1 100644 --- a/erpnext/templates/form_grid/item_grid.html +++ b/erpnext/templates/form_grid/item_grid.html @@ -17,7 +17,7 @@ title = "Warehouse", actual_qty = (frm.doc.doctype==="Sales Order" ? doc.projected_qty : doc.actual_qty); - if(flt(frm.doc.per_delivered) < 100 + if(flt(frm.doc.per_delivered, 2) < 100 && in_list(["Sales Order Item", "Delivery Note Item"], doc.doctype)) { if(actual_qty != undefined) { if(actual_qty >= doc.qty) {