Merge pull request #3508 from nabinhait/develop
[fix] validate items in stock entry for subcontracting against PO
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index d823e7e..e732898 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -359,8 +359,11 @@
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