From a1c3e9aef989f0d95b8a0cf2b7224d70228380db Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Tue, 1 Mar 2022 18:08:29 +0530 Subject: [PATCH] revert "fix: FIFO valuation in case of multi-item entries" This reverts commit b8ee193d1a124668691b3d8181ce4e3bf612afe0. This is huge performance regression for large docs. (cherry picked from commit 701878f60b4a9b60035295f23ae65973680b03e5) --- erpnext/stock/stock_ledger.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py index b2366d99c45..47a97c47fe5 100644 --- a/erpnext/stock/stock_ledger.py +++ b/erpnext/stock/stock_ledger.py @@ -438,8 +438,8 @@ class update_entries_after(object): return # Get dynamic incoming/outgoing rate - # XXX: performance regression - self.get_dynamic_incoming_outgoing_rate(sle) + if not self.args.get("sle_id"): + self.get_dynamic_incoming_outgoing_rate(sle) if get_serial_nos(sle.serial_no): self.get_serialized_values(sle) @@ -482,8 +482,8 @@ class update_entries_after(object): sle.doctype="Stock Ledger Entry" frappe.get_doc(sle).db_update() - # XXX: performance regression - self.update_outgoing_rate_on_transaction(sle) + if not self.args.get("sle_id"): + self.update_outgoing_rate_on_transaction(sle) def validate_negative_stock(self, sle): """ @@ -565,8 +565,9 @@ class update_entries_after(object): def update_rate_on_stock_entry(self, sle, outgoing_rate): frappe.db.set_value("Stock Entry Detail", sle.voucher_detail_no, "basic_rate", outgoing_rate) - # XXX: performance regression - self.recalculate_amounts_in_stock_entry(sle.voucher_no) + # Update outgoing item's rate, recalculate FG Item's rate and total incoming/outgoing amount + if not sle.dependant_sle_voucher_detail_no: + self.recalculate_amounts_in_stock_entry(sle.voucher_no) def recalculate_amounts_in_stock_entry(self, voucher_no): stock_entry = frappe.get_doc("Stock Entry", voucher_no, for_update=True)