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 ae822c5b413..559ba4a70ab 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 @@ -178,7 +178,7 @@ def get_columns(additional_table_columns, filters): "fieldname": "invoice", "fieldtype": "Link", "options": "Purchase Invoice", - "width": 120, + "width": 150, }, {"label": _("Posting Date"), "fieldname": "posting_date", "fieldtype": "Date", "width": 120}, ] @@ -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) - pii = frappe.qb.DocType(f"{doctype} Item") + pi = frappe.qb.DocType(doctype).as_("invoice") + pii = frappe.qb.DocType(f"{doctype} Item").as_("invoice_item") Item = frappe.qb.DocType("Item") query = ( frappe.qb.from_(pi) @@ -331,6 +331,7 @@ def get_items(filters, additional_table_columns): pi.unrealized_profit_loss_account, pii.item_code, pii.description, + pii.item_name, pii.item_group, pii.item_name.as_("pi_item_name"), pii.item_group.as_("pi_item_group"), @@ -374,7 +375,7 @@ def get_items(filters, additional_table_columns): if match_conditions: query += " and " + match_conditions - query = apply_order_by_conditions(query, pi, pii, filters) + query = apply_order_by_conditions(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 a373b1f0a1e..b4a72c5374f 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 @@ -198,7 +198,7 @@ def get_columns(additional_table_columns, filters): "fieldname": "invoice", "fieldtype": "Link", "options": "Sales Invoice", - "width": 120, + "width": 150, }, {"label": _("Posting Date"), "fieldname": "posting_date", "fieldtype": "Date", "width": 120}, ] @@ -394,15 +394,15 @@ def apply_conditions(query, si, sii, sip, filters, additional_conditions=None): return query -def apply_order_by_conditions(query, si, ii, filters): +def apply_order_by_conditions(query, filters): if not filters.get("group_by"): - query += f" order by {si.posting_date} desc, {ii.item_group} desc" + query += "order by invoice.posting_date desc, invoice_item.item_group desc" elif filters.get("group_by") == "Invoice": - query += f" order by {ii.parent} desc" + query += "order by invoice_item.parent desc" elif filters.get("group_by") == "Item": - query += f" order by {ii.item_code}" + query += "order by invoice_item.item_code" elif filters.get("group_by") == "Item Group": - query += f" order by {ii.item_group}" + query += "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,9 +412,9 @@ def apply_order_by_conditions(query, si, ii, filters): def get_items(filters, additional_query_columns, additional_conditions=None): doctype = "Sales Invoice" - si = frappe.qb.DocType(doctype) - sip = frappe.qb.DocType(f"{doctype} Payment") - sii = frappe.qb.DocType(f"{doctype} Item") + si = frappe.qb.DocType("Sales Invoice").as_("invoice") + sii = frappe.qb.DocType("Sales Invoice Item").as_("invoice_item") + sip = frappe.qb.DocType("Sales Invoice Payment") item = frappe.qb.DocType("Item") query = ( @@ -492,7 +492,7 @@ def get_items(filters, additional_query_columns, additional_conditions=None): if match_conditions: query += " and " + match_conditions - query = apply_order_by_conditions(query, si, sii, filters) + query = apply_order_by_conditions(query, filters) return frappe.db.sql(query, params, as_dict=True) @@ -764,25 +764,13 @@ def add_total_row( def get_display_value(filters, group_by_field, item): if filters.get("group_by") == "Item": if item.get("item_code") != item.get("item_name"): - value = ( - cstr(item.get("item_code")) - + "

" - + "" - + cstr(item.get("item_name")) - + "" - ) + value = f"{item.get('item_code')}: {item.get('item_name')}" else: value = item.get("item_code", "") elif filters.get("group_by") in ("Customer", "Supplier"): party = frappe.scrub(filters.get("group_by")) if item.get(party) != item.get(party + "_name"): - value = ( - item.get(party) - + "

" - + "" - + item.get(party + "_name") - + "" - ) + value = f"{item.get(party)}: {item.get(party + '_name')}" else: value = item.get(party) else: