From 31d58eac01d2ef5f96185be15295e0f08172ccb7 Mon Sep 17 00:00:00 2001 From: Saif Ur Rehman Date: Sat, 19 Jan 2019 15:28:40 +0500 Subject: [PATCH] fix(Party Ledger Summary): Added Supplier/Customer Name column --- .../customer_ledger_summary.py | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py b/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py index 47116cf3366..e33bd61411e 100644 --- a/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py +++ b/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py @@ -134,7 +134,7 @@ class PartyLedgerSummaryReport(object): for gle in self.gl_entries: self.party_data.setdefault(gle.party, frappe._dict({ "party": gle.party, - "party_name": "", # TODO add party_name + "party_name": gle.party_name, "opening_balance": 0, "invoiced_amount": 0, "paid_amount": 0, @@ -171,16 +171,25 @@ class PartyLedgerSummaryReport(object): def get_gl_entries(self): conditions = self.prepare_conditions() + join = join_field = "" + if self.filters.party_type == "Customer": + join_field = ", p.customer_name as party_name" + join = "left join `tabCustomer` p on gle.party = p.name" + elif self.filters.party_type == "Supplier": + join_field = ", p.supplier_name as party_name" + join = "left join `tabSupplier` p on gle.party = p.name" self.gl_entries = frappe.db.sql(""" select - posting_date, party, voucher_type, voucher_no, against_voucher_type, against_voucher, debit, credit - from - `tabGL Entry` + gle.posting_date, gle.party, gle.voucher_type, gle.voucher_no, gle.against_voucher_type, + gle.against_voucher, gle.debit, gle.credit {join_field} + from `tabGL Entry` gle + {join} where - docstatus < 2 and party_type=%(party_type)s and ifnull(party, '') != '' and posting_date <= %(to_date)s - {0} - order by posting_date""".format(conditions), self.filters, as_dict=True) + gle.docstatus < 2 and gle.party_type=%(party_type)s and ifnull(gle.party, '') != '' + and gle.posting_date <= %(to_date)s {conditions} + order by gle.posting_date + """.format(join=join, join_field=join_field, conditions=conditions), self.filters, as_dict=True) def prepare_conditions(self): conditions = [""] @@ -265,7 +274,6 @@ class PartyLedgerSummaryReport(object): where gle.party_type=%(party_type)s and ifnull(party, '') != '' and gle.posting_date between %(from_date)s and %(to_date)s and gle.docstatus < 2 {conditions} ) - order by posting_date """.format(conditions=conditions, income_or_expense=income_or_expense), self.filters, as_dict=True) self.party_adjustment_details = {}