From 5e2d246931d71354f50b2501074af51a1ad69027 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Mon, 8 Dec 2025 22:40:51 +0530 Subject: [PATCH] fix: SRE while returning components --- erpnext/manufacturing/doctype/work_order/work_order.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/erpnext/manufacturing/doctype/work_order/work_order.py b/erpnext/manufacturing/doctype/work_order/work_order.py index fa16ca6e6b1..b7987787874 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.py +++ b/erpnext/manufacturing/doctype/work_order/work_order.py @@ -1461,13 +1461,15 @@ class WorkOrder(Document): update bin reserved_qty_for_production called from Stock Entry for production, after submit, cancel """ + if self.docstatus == 1: + self.update_returned_qty() + # calculate consumed qty based on submitted stock entries self.update_consumed_qty_for_required_items() if self.docstatus == 1: # calculate transferred qty based on submitted stock entries self.update_transferred_qty_for_required_items() - self.update_returned_qty() # update in bin self.update_reserved_qty_for_production() @@ -1663,7 +1665,7 @@ class WorkOrder(Document): wip_warehouse = None for item in self.required_items: - consumed_qty = get_consumed_qty(self.name, item.item_code) + consumed_qty = get_consumed_qty(self.name, item.item_code) + item.returned_qty item.db_set("consumed_qty", flt(consumed_qty), update_modified=False) if not self.reserve_stock: @@ -1680,6 +1682,7 @@ class WorkOrder(Document): "warehouse": wip_warehouse, "docstatus": 1, } + if not self.skip_transfer: filters["from_voucher_no"] = ("is", "set") @@ -1743,6 +1746,9 @@ class WorkOrder(Document): return bom def set_reserved_qty_for_wip_and_fg(self, stock_entry): + if stock_entry.is_return: + return + items = frappe._dict() stock_entry.reload()