From bff490299340aaf4f7ee7f71bcfd04fd6278b32f Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Thu, 20 Mar 2025 15:17:59 +0530 Subject: [PATCH] fix: remove get_items query.run outside of if condition (cherry picked from commit 80c17cc00559d05f8e54b6085bba04c34078c70c) (cherry picked from commit e7b5303782324f223769fccc167e18ade6c073e9) --- erpnext/stock/doctype/serial_no/serial_no.py | 2 +- .../report/available_serial_no/available_serial_no.py | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/erpnext/stock/doctype/serial_no/serial_no.py b/erpnext/stock/doctype/serial_no/serial_no.py index eff2ef14674..db2dc537ddd 100644 --- a/erpnext/stock/doctype/serial_no/serial_no.py +++ b/erpnext/stock/doctype/serial_no/serial_no.py @@ -152,7 +152,7 @@ def get_serial_nos(serial_no): def get_serial_nos_from_serial_and_batch_bundle(serial_and_batch_bundle): table = frappe.qb.DocType("Serial and Batch Entry") query = frappe.qb.from_(table).select(table.serial_no).where(table.parent == serial_and_batch_bundle) - return [item[0] for item in query.run(as_list=True)] + return query.run(pluck=True) def clean_serial_no_string(serial_no: str) -> str: diff --git a/erpnext/stock/report/available_serial_no/available_serial_no.py b/erpnext/stock/report/available_serial_no/available_serial_no.py index 8a20fed848a..d3a1c0c0ed2 100644 --- a/erpnext/stock/report/available_serial_no/available_serial_no.py +++ b/erpnext/stock/report/available_serial_no/available_serial_no.py @@ -80,8 +80,7 @@ def execute(filters=None): sle.update({"in_qty": max(sle.actual_qty, 0), "out_qty": min(sle.actual_qty, 0)}) - if frappe.get_value("Item", sle.item_code, "has_serial_no"): - update_available_serial_nos(available_serial_nos, sle) + update_available_serial_nos(available_serial_nos, sle) if sle.actual_qty: sle["in_out_rate"] = flt(sle.stock_value_difference / sle.actual_qty, precision) @@ -306,10 +305,8 @@ def get_items(filters): if condition := get_item_group_condition(item_group, item): conditions.append(condition) - items = [] if conditions: for condition in conditions: query = query.where(condition) - items = [r[0] for r in query.run()] - return items + return query.run(pluck=True)