diff --git a/erpnext/stock/deprecated_serial_batch.py b/erpnext/stock/deprecated_serial_batch.py index 8d1b76148d6..69443e3a608 100644 --- a/erpnext/stock/deprecated_serial_batch.py +++ b/erpnext/stock/deprecated_serial_batch.py @@ -13,10 +13,10 @@ from pypika.functions import Coalesce class DeprecatedSerialNoValuation: @deprecated def calculate_stock_value_from_deprecarated_ledgers(self): - if not has_sle_for_serial_nos(self.sle.item_code): - return + serial_nos = [] + if hasattr(self, "old_serial_nos"): + serial_nos = self.old_serial_nos - serial_nos = self.get_filterd_serial_nos() if not serial_nos: return @@ -26,17 +26,6 @@ class DeprecatedSerialNoValuation: self.stock_value_change += flt(stock_value_change) - def get_filterd_serial_nos(self): - serial_nos = [] - non_filtered_serial_nos = self.get_serial_nos() - - # If the serial no inwarded using the Serial and Batch Bundle, then the serial no should not be considered - for serial_no in non_filtered_serial_nos: - if serial_no and serial_no not in self.serial_no_incoming_rate: - serial_nos.append(serial_no) - - return serial_nos - @deprecated def get_incoming_value_for_serial_nos(self, serial_nos): from erpnext.stock.utils import get_combine_datetime @@ -82,20 +71,6 @@ class DeprecatedSerialNoValuation: return incoming_values -@frappe.request_cache -def has_sle_for_serial_nos(item_code): - serial_nos = frappe.db.get_all( - "Stock Ledger Entry", - fields=["name"], - filters={"serial_no": ("is", "set"), "is_cancelled": 0, "item_code": item_code}, - limit=1, - ) - if serial_nos: - return True - - return False - - class DeprecatedBatchNoValuation: @deprecated def calculate_avg_rate_from_deprecarated_ledgers(self): diff --git a/erpnext/stock/serial_batch_bundle.py b/erpnext/stock/serial_batch_bundle.py index 4c30f249ccf..2408c178f2b 100644 --- a/erpnext/stock/serial_batch_bundle.py +++ b/erpnext/stock/serial_batch_bundle.py @@ -580,11 +580,13 @@ class SerialNoValuation(DeprecatedSerialNoValuation): else: self.serial_no_incoming_rate = defaultdict(float) self.stock_value_change = 0.0 + self.old_serial_nos = [] serial_nos = self.get_serial_nos() for serial_no in serial_nos: incoming_rate = self.get_incoming_rate_from_bundle(serial_no) if incoming_rate is None: + self.old_serial_nos.append(serial_no) continue self.stock_value_change += incoming_rate