From ceab26d5f14a170e6c962aaaf23ee41df5be40f7 Mon Sep 17 00:00:00 2001 From: Karuppasamy923 Date: Tue, 17 Jun 2025 13:29:08 +0530 Subject: [PATCH] fix: add party and party_name columns to trend reports (cherry picked from commit d05204a960e1bbe0c3530971537c04facd9097f6) --- .../purchase_order_trends.py | 2 +- erpnext/controllers/trends.py | 25 +++++++++++++------ .../quotation_trends/quotation_trends.py | 2 +- .../sales_order_trends/sales_order_trends.py | 2 +- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py b/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py index d089473a16a..7398bb28736 100644 --- a/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py +++ b/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py @@ -24,7 +24,7 @@ def get_chart_data(data, conditions, filters): datapoints = [] - start = 2 if filters.get("based_on") in ["Item", "Supplier"] else 1 + start = 3 if filters.get("based_on") in ["Item", "Supplier"] else 1 if filters.get("group_by"): start += 1 diff --git a/erpnext/controllers/trends.py b/erpnext/controllers/trends.py index 7e6062d34b2..57edae7053a 100644 --- a/erpnext/controllers/trends.py +++ b/erpnext/controllers/trends.py @@ -98,9 +98,10 @@ def get_data(filters, conditions): sel_col = "t1.supplier" if filters.get("based_on") in ["Item", "Customer", "Supplier"]: - inc = 2 + inc = 3 else: inc = 1 + data1 = frappe.db.sql( """ select {} from `tab{}` t1, `tab{} Item` t2 {} where t2.parent = t1.name and t1.company = {} and {} between {} and {} and @@ -330,11 +331,20 @@ def based_wise_columns_query(based_on, trans): based_on_details["addl_tables"] = "" elif based_on == "Customer": - based_on_details["based_on_cols"] = [ - "Customer:Link/Customer:120", - "Territory:Link/Territory:120", - ] - based_on_details["based_on_select"] = "t1.customer_name, t1.territory, " + if trans == "Quotation": + based_on_details["based_on_cols"] = [ + "Party:Link/Customer:120", + "Party Name:Data:120", + "Territory:Link/Territory:120", + ] + based_on_details["based_on_select"] = "t1.party_name, t1.customer_name, t1.territory," + else: + based_on_details["based_on_cols"] = [ + "Customer:Link/Customer:120", + "Customer Name:Data:120", + "Territory:Link/Territory:120", + ] + based_on_details["based_on_select"] = "t1.customer, t1.customer_name, t1.territory," based_on_details["based_on_group_by"] = "t1.party_name" if trans == "Quotation" else "t1.customer" based_on_details["addl_tables"] = "" @@ -347,9 +357,10 @@ def based_wise_columns_query(based_on, trans): elif based_on == "Supplier": based_on_details["based_on_cols"] = [ "Supplier:Link/Supplier:120", + "Supplier Name:Data:120", "Supplier Group:Link/Supplier Group:140", ] - based_on_details["based_on_select"] = "t1.supplier, t3.supplier_group," + based_on_details["based_on_select"] = "t1.supplier, t1.supplier_name, t3.supplier_group," based_on_details["based_on_group_by"] = "t1.supplier" based_on_details["addl_tables"] = ",`tabSupplier` t3" based_on_details["addl_tables_relational_cond"] = " and t1.supplier = t3.name" diff --git a/erpnext/selling/report/quotation_trends/quotation_trends.py b/erpnext/selling/report/quotation_trends/quotation_trends.py index bcb8fe9297e..5f96e07f541 100644 --- a/erpnext/selling/report/quotation_trends/quotation_trends.py +++ b/erpnext/selling/report/quotation_trends/quotation_trends.py @@ -25,7 +25,7 @@ def get_chart_data(data, conditions, filters): datapoints = [] - start = 2 if filters.get("based_on") in ["Item", "Customer"] else 1 + start = 3 if filters.get("based_on") in ["Item", "Customer"] else 1 if filters.get("group_by"): start += 1 diff --git a/erpnext/selling/report/sales_order_trends/sales_order_trends.py b/erpnext/selling/report/sales_order_trends/sales_order_trends.py index 18f448c7cd2..fdd63cd5a68 100644 --- a/erpnext/selling/report/sales_order_trends/sales_order_trends.py +++ b/erpnext/selling/report/sales_order_trends/sales_order_trends.py @@ -24,7 +24,7 @@ def get_chart_data(data, conditions, filters): datapoints = [] - start = 2 if filters.get("based_on") in ["Item", "Customer"] else 1 + start = 3 if filters.get("based_on") in ["Item", "Customer"] else 1 if filters.get("group_by"): start += 1