From 1a84a0c411248ed4284f4ceab583fc76e784a8a2 Mon Sep 17 00:00:00 2001 From: s-aga-r Date: Thu, 30 Mar 2023 16:42:27 +0530 Subject: [PATCH] fix: DN Item group warehouse validation against SRE --- .../doctype/delivery_note/delivery_note.py | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index 77c435eb68..b8d2186c32 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -316,9 +316,27 @@ class DeliveryNote(SellingController): ) ) + if not frappe.get_cached_value("Warehouse", sre.warehouse, "is_group"): + if item.warehouse != sre.warehouse: + frappe.throw( + _("Row #{0}: Warehouse {1} does not match with Stock Reservation Entry {2}").format( + item.idx, item.warehouse, item.against_sre + ) + ) + else: + from erpnext.stock.doctype.warehouse.warehouse import get_child_warehouses + + warehouses = get_child_warehouses(sre.warehouse) + + if item.warehouse not in warehouses: + frappe.throw( + _("Row #{0}: Warehouse {1} should be a child of Warehouse {2}").format( + item.idx, item.warehouse, sre.warehouse + ) + ) + for field in ( "item_code", - "warehouse", ("against_sales_order", "voucher_no"), ("so_detail", "voucher_detail_no"), ):