diff --git a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py index 6d2034d1878..75658e28780 100644 --- a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py +++ b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py @@ -103,6 +103,11 @@ def get_received_amount_data(data): pr = frappe.qb.DocType("Purchase Receipt") pr_item = frappe.qb.DocType("Purchase Receipt Item") + po_items = [row.name for row in data] + + if not po_items: + return frappe._dict() + query = ( frappe.qb.from_(pr) .inner_join(pr_item) @@ -111,12 +116,10 @@ def get_received_amount_data(data): pr_item.purchase_order_item, Sum(pr_item.base_amount).as_("received_qty_amount"), ) - .where((pr_item.parent == pr.name) & (pr.docstatus == 1)) + .where((pr.docstatus == 1) & (pr_item.purchase_order_item.isin(po_items))) .groupby(pr_item.purchase_order_item) ) - query = query.where(pr_item.purchase_order_item.isin([row.name for row in data])) - data = query.run() if not data: