Merge pull request #50974 from rohitwaghchaure/fixed-sre-for-return-components

fix: SRE while returning components
This commit is contained in:
rohitwaghchaure
2025-12-09 11:44:40 +05:30
committed by GitHub

View File

@@ -1461,13 +1461,15 @@ class WorkOrder(Document):
update bin reserved_qty_for_production update bin reserved_qty_for_production
called from Stock Entry for production, after submit, cancel 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 # calculate consumed qty based on submitted stock entries
self.update_consumed_qty_for_required_items() self.update_consumed_qty_for_required_items()
if self.docstatus == 1: if self.docstatus == 1:
# calculate transferred qty based on submitted stock entries # calculate transferred qty based on submitted stock entries
self.update_transferred_qty_for_required_items() self.update_transferred_qty_for_required_items()
self.update_returned_qty()
# update in bin # update in bin
self.update_reserved_qty_for_production() self.update_reserved_qty_for_production()
@@ -1663,7 +1665,7 @@ class WorkOrder(Document):
wip_warehouse = None wip_warehouse = None
for item in self.required_items: 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) item.db_set("consumed_qty", flt(consumed_qty), update_modified=False)
if not self.reserve_stock: if not self.reserve_stock:
@@ -1680,6 +1682,7 @@ class WorkOrder(Document):
"warehouse": wip_warehouse, "warehouse": wip_warehouse,
"docstatus": 1, "docstatus": 1,
} }
if not self.skip_transfer: if not self.skip_transfer:
filters["from_voucher_no"] = ("is", "set") filters["from_voucher_no"] = ("is", "set")
@@ -1743,6 +1746,9 @@ class WorkOrder(Document):
return bom return bom
def set_reserved_qty_for_wip_and_fg(self, stock_entry): def set_reserved_qty_for_wip_and_fg(self, stock_entry):
if stock_entry.is_return:
return
items = frappe._dict() items = frappe._dict()
stock_entry.reload() stock_entry.reload()