From cdc0b8e4350a499476f6bee67e239c8606b16b8f Mon Sep 17 00:00:00 2001 From: marination Date: Mon, 4 Jan 2021 18:59:48 +0530 Subject: [PATCH 1/2] fix: Dont validate warehouse values between MR to Stock Entry - Remove validation that checks if warehouse in Stock Entry is the same as MR that it was pulled from --- erpnext/stock/doctype/stock_entry/stock_entry.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index 122e8b205fa..ffdfa486204 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -1241,9 +1241,8 @@ class StockEntry(StockController): mreq_item = frappe.db.get_value("Material Request Item", {"name": item.material_request_item, "parent": item.material_request}, ["item_code", "warehouse", "idx"], as_dict=True) - if mreq_item.item_code != item.item_code or \ - mreq_item.warehouse != (item.s_warehouse if self.purpose== "Material Issue" else item.t_warehouse): - frappe.throw(_("Item or Warehouse for row {0} does not match Material Request").format(item.idx), + if mreq_item.item_code != item.item_code: + frappe.throw(_("Item for row {0} does not match Material Request").format(item.idx), frappe.MappingMismatchError) def validate_batch(self): From 2eea0f003f037fbf8d18ab4078b54de821d1e901 Mon Sep 17 00:00:00 2001 From: marination Date: Thu, 14 Jan 2021 12:20:39 +0530 Subject: [PATCH 2/2] fix: test for raising MR-SE mismatch error - Make test add mismatched item code instead of warehouse, since warehouse can be different. --- .../stock/doctype/material_request/test_material_request.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py index 19924b16363..dccfc047354 100644 --- a/erpnext/stock/doctype/material_request/test_material_request.py +++ b/erpnext/stock/doctype/material_request/test_material_request.py @@ -427,6 +427,7 @@ class TestMaterialRequest(unittest.TestCase): "basic_rate": 1.0 }) se_doc.get("items")[1].update({ + "item_code": "_Test Item Home Desktop 100", "qty": 3.0, "transfer_qty": 3.0, "s_warehouse": "_Test Warehouse 1 - _TC", @@ -537,7 +538,7 @@ class TestMaterialRequest(unittest.TestCase): mr = make_material_request(item_code='_Test FG Item', material_request_type='Manufacture', uom="_Test UOM 1", conversion_factor=12) - + requested_qty = self._get_requested_qty('_Test FG Item', '_Test Warehouse - _TC') self.assertEqual(requested_qty, existing_requested_qty + 120)