diff --git a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py index 559ba4a70ab..c9d37b9ad1a 100644 --- a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py +++ b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py @@ -310,8 +310,8 @@ def apply_conditions(query, pi, pii, filters): def get_items(filters, additional_table_columns): doctype = "Purchase Invoice" - pi = frappe.qb.DocType(doctype).as_("invoice") - pii = frappe.qb.DocType(f"{doctype} Item").as_("invoice_item") + pi = frappe.qb.DocType("Purchase Invoice") + pii = frappe.qb.DocType("Purchase Invoice Item") Item = frappe.qb.DocType("Item") query = ( frappe.qb.from_(pi) @@ -375,7 +375,7 @@ def get_items(filters, additional_table_columns): if match_conditions: query += " and " + match_conditions - query = apply_order_by_conditions(query, filters) + query = apply_order_by_conditions(doctype, query, filters) return frappe.db.sql(query, params, as_dict=True) diff --git a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py index b4a72c5374f..073efdadb6a 100644 --- a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py +++ b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py @@ -394,15 +394,18 @@ def apply_conditions(query, si, sii, sip, filters, additional_conditions=None): return query -def apply_order_by_conditions(query, filters): +def apply_order_by_conditions(doctype, query, filters): + invoice = f"`tab{doctype}`" + invoice_item = f"`tab{doctype} Item`" + if not filters.get("group_by"): - query += "order by invoice.posting_date desc, invoice_item.item_group desc" + query += f" order by {invoice}.posting_date desc, {invoice_item}.item_group desc" elif filters.get("group_by") == "Invoice": - query += "order by invoice_item.parent desc" + query += f" order by {invoice_item}.parent desc" elif filters.get("group_by") == "Item": - query += "order by invoice_item.item_code" + query += f" order by {invoice_item}.item_code" elif filters.get("group_by") == "Item Group": - query += "order by invoice_item.item_group" + query += f" order by {invoice_item}.item_group" elif filters.get("group_by") in ("Customer", "Customer Group", "Territory", "Supplier"): filter_field = frappe.scrub(filters.get("group_by")) query += f" order by {filter_field} desc" @@ -412,8 +415,8 @@ def apply_order_by_conditions(query, filters): def get_items(filters, additional_query_columns, additional_conditions=None): doctype = "Sales Invoice" - si = frappe.qb.DocType("Sales Invoice").as_("invoice") - sii = frappe.qb.DocType("Sales Invoice Item").as_("invoice_item") + si = frappe.qb.DocType("Sales Invoice") + sii = frappe.qb.DocType("Sales Invoice Item") sip = frappe.qb.DocType("Sales Invoice Payment") item = frappe.qb.DocType("Item") @@ -487,12 +490,12 @@ def get_items(filters, additional_query_columns, additional_conditions=None): from frappe.desk.reportview import build_match_conditions query, params = query.walk() - match_conditions = build_match_conditions("Sales Invoice") + match_conditions = build_match_conditions(doctype) if match_conditions: query += " and " + match_conditions - query = apply_order_by_conditions(query, filters) + query = apply_order_by_conditions(doctype, query, filters) return frappe.db.sql(query, params, as_dict=True)