From 4abf552d7ba870ddca7d0ea1cabfc03052630a1e Mon Sep 17 00:00:00 2001 From: Neil Trini Lasrado Date: Mon, 15 Jun 2015 15:58:45 +0530 Subject: [PATCH] Over Production Allowance Percentage Setting added to Manufacturing Settings --- .../manufacturing_settings/manufacturing_settings.json | 9 ++++++++- .../doctype/production_order/production_order.py | 5 +++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json b/erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json index 4149046ccef..ea9569f9b48 100644 --- a/erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json +++ b/erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json @@ -55,6 +55,13 @@ "label": "Time Between Operations (in mins)", "permlevel": 0, "precision": "" + }, + { + "fieldname": "over_production_allowance_percentage", + "fieldtype": "Percent", + "label": "Over Production Allowance Percentage", + "permlevel": 0, + "precision": "" } ], "hide_heading": 0, @@ -65,7 +72,7 @@ "is_submittable": 0, "issingle": 1, "istable": 0, - "modified": "2015-04-21 07:57:40.260862", + "modified": "2015-06-15 05:52:22.986958", "modified_by": "Administrator", "module": "Manufacturing", "name": "Manufacturing Settings", diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py index ca5f6d972cc..0274b7ef0b1 100644 --- a/erpnext/manufacturing/doctype/production_order/production_order.py +++ b/erpnext/manufacturing/doctype/production_order/production_order.py @@ -90,8 +90,9 @@ class ProductionOrder(Document): (self.sales_order, self.production_item))[0][0] # total qty in SO so_qty = flt(so_item_qty) + flt(dnpi_qty) - - if total_qty > so_qty: + + allowance_percentage = flt(frappe.db.get_single_value("Manufacturing Settings", "over_production_allowance_percentage")) + if total_qty > so_qty + (allowance_percentage/100 * so_qty): frappe.throw(_("Cannot produce more Item {0} than Sales Order quantity {1}").format(self.production_item, so_qty), OverProductionError)