From da4b78491d5da659c300bacb7bf964204bd8fb15 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Mon, 22 Dec 2025 12:04:40 +0530 Subject: [PATCH] fix: limit condition to fetch serial nos --- .../serial_and_batch_bundle.py | 12 +++++++++--- erpnext/stock/get_item_details.py | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py index 6ac64202e7b..31d63165103 100644 --- a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py +++ b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py @@ -246,6 +246,7 @@ class SerialandBatchBundle(Document): "sabb_voucher_no": self.voucher_no, "sabb_voucher_detail_no": self.voucher_detail_no, } + if self.voucher_type == "POS Invoice": kwargs["ignore_voucher_nos"] = [self.voucher_no] @@ -2012,9 +2013,9 @@ def get_available_serial_nos(kwargs): order_by = "creation" if kwargs.based_on == "LIFO": - order_by = "creation desc" + order_by = "creation" elif kwargs.based_on == "Expiry": - order_by = "amc_expiry_date asc" + order_by = "amc_expiry_date" if not kwargs.get("posting_datetime") and kwargs.get("posting_date"): kwargs["posting_datetime"] = combine_datetime(kwargs.get("posting_date"), kwargs.get("posting_time")) @@ -2088,7 +2089,12 @@ def get_serial_nos_based_on_filters(filters, fields, order_by, kwargs): doctype = frappe.qb.DocType("Serial No") order_by_column = getattr(doctype, order_by) - query = frappe.qb.from_(doctype).orderby(order_by_column).limit(cint(kwargs.qty) or 10000000).for_update() + query = frappe.qb.from_(doctype).limit(cint(kwargs.qty) or 10000000).for_update() + + if kwargs.based_on == "LIFO": + query = query.orderby(order_by_column, order=frappe.query_builder.Order.desc) + else: + query = query.orderby(order_by_column) for key, value in filters.items(): column = getattr(doctype, key) diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index fbe6da069bb..f945bd2c12c 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -215,6 +215,7 @@ def update_stock(ctx, out, doc=None): "sabb_voucher_detail_no": ctx.child_docname, "sabb_voucher_type": ctx.doctype, "pick_reserved_items": True, + "qty": out.stock_qty, } )