From 11398fd572c72c2d09bbd8c02bc8c7dbf4a2c80a Mon Sep 17 00:00:00 2001 From: pawan Date: Wed, 29 Nov 2017 21:16:02 +0530 Subject: [PATCH] Validation for reserved warhouse --- erpnext/buying/doctype/purchase_order/purchase_order.py | 4 ++-- .../purchase_order_item_supplied.json | 3 +-- erpnext/stock/doctype/stock_entry/stock_entry.py | 6 ++++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py index 6522a34a6e8..942a2e66414 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/purchase_order.py @@ -257,8 +257,8 @@ class PurchaseOrder(BuyingController): def update_reserved_qty_for_subcontract(self): for d in self.supplied_items: if d.rm_item_code: - stock_bin = get_bin(d.rm_item_code, d.reserve_warehouse) - stock_bin.update_reserved_qty_for_sub_contracting() + stock_bin = get_bin(d.rm_item_code, d.reserve_warehouse) + stock_bin.update_reserved_qty_for_sub_contracting() @frappe.whitelist() def close_or_unclose_purchase_orders(names, status): diff --git a/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json b/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json index 1bcf5e444b5..5e8754fad33 100644 --- a/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json +++ b/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json @@ -327,7 +327,6 @@ "bold": 0, "collapsible": 0, "columns": 0, - "default": "", "fieldname": "reserve_warehouse", "fieldtype": "Link", "hidden": 0, @@ -364,7 +363,7 @@ "issingle": 0, "istable": 1, "max_attachments": 0, - "modified": "2017-11-29 08:51:08.362463", + "modified": "2017-11-29 21:10:40.431423", "modified_by": "Administrator", "module": "Buying", "name": "Purchase Order Item Supplied", diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index e05ccc90f93..15d9c05041c 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -812,6 +812,12 @@ class StockEntry(StockController): #Get PO Supplied Items Details po_doc = frappe.get_doc("Purchase Order",self.purchase_order) po_supplied_items = po_doc.get("supplied_items") + #Validate source warehouse is same as reserved warehouse + for item in self.get("items"): + if item.s_warehouse: + for d in po_supplied_items: + if item.item_code == d.rm_item_code and item.s_warehouse != d.reserve_warehouse: + frappe.throw(_("In case of Sub Contract Stock Entry, Source Warehouse: {0} should match with Reserved Warehouse: {1} on PO").format(item.s_warehouse,d.reserve_warehouse)) #Update reserved sub contracted quantity in bin based on Supplied Item Details for d in po_supplied_items: stock_bin = get_bin(d.rm_item_code, d.reserve_warehouse)