From 9cf2910ba172d254d50b3fbb409d8009cca40f6f Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 23 Jun 2015 11:06:56 +0530 Subject: [PATCH] [fix] validate items in stock entry for subcontracting against purchase order --- erpnext/stock/doctype/stock_entry/stock_entry.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index d823e7ebbd..e732898c61 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -359,8 +359,11 @@ class StockEntry(StockController): if self.purpose == "Subcontract" and self.purchase_order: purchase_order = frappe.get_doc("Purchase Order", self.purchase_order) for se_item in self.items: - total_allowed = [d.required_qty for d in purchase_order.supplied_items \ - if d.rm_item_code == se_item.item_code][0] + total_allowed = sum([flt(d.required_qty) for d in purchase_order.supplied_items \ + if d.rm_item_code == se_item.item_code]) + if not total_allowed: + frappe.throw(_("Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1}") + .format(se_item.item_code, self.purchase_order)) total_supplied = frappe.db.sql("""select sum(qty) from `tabStock Entry Detail`, `tabStock Entry` where `tabStock Entry`.purchase_order = %s