From ace68cd283e5ca7a39951ded1e0137f4e3fa7219 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Wed, 28 Mar 2018 15:25:12 +0530 Subject: [PATCH] [Fix] Alignment and date issue in PDC report --- .../accounts_receivable.html | 22 +++++++++++++++---- .../accounts_receivable.py | 16 ++++++++------ 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html index 78015b40c8..3d8aedcdcc 100644 --- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html +++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html @@ -4,12 +4,21 @@ .print-format { padding: 8mm; margin:4mm; - font-size:10px; + font-size: 10.0pt !important; font-family: Tahoma, sans-serif; } } {% } %} + +

{%= __(report.report_name) %}

{%= filters.customer || filters.supplier %}

@@ -126,9 +135,14 @@ {% if(report.report_name === "Accounts Receivable" || report.report_name === "Accounts Payable") { %} {% if(data[i][__("Customer")] || data[i][__("Supplier")]) { %} {%= dateutil.str_to_user(data[i]["posting_date"]) %} - {%= data[i]["voucher_type"] %} -
{%= data[i]["voucher_no"] %} - {% if(!filters.show_pdc_in_print) { %} + + {% if(!filters.show_pdc_in_print) { %} + {%= data[i]["voucher_type"] %} +
+ {% } %} + {%= data[i]["voucher_no"] %} + + {% if(!filters.show_pdc_in_print) { %} {% if(!(filters.customer || filters.supplier)) { %} {%= data[i][__("Customer")] || data[i][__("Supplier")] %} diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py index b971327abb..f722e7f743 100644 --- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py +++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py @@ -136,7 +136,7 @@ class ReceivablePayableReport(object): return_entries = self.get_return_entries(args.get("party_type")) data = [] - pdc_details = get_pdc_details(args.get("party_type")) + pdc_details = get_pdc_details(args.get("party_type"), self.filters.report_date) for gle in self.get_entries_till(self.filters.report_date, args.get("party_type")): if self.is_receivable_or_payable(gle, dr_or_cr, future_vouchers): @@ -182,6 +182,7 @@ class ReceivablePayableReport(object): row.append(company_currency) pdc = pdc_details.get((gle.voucher_no, gle.party), {}) + remaining_balance = outstanding_amount - flt(pdc.get("pdc_amount")) row += [pdc.get("pdc_date"), pdc.get("pdc_ref"), flt(pdc.get("pdc_amount")), remaining_balance] @@ -398,7 +399,7 @@ def get_ageing_data(first_range, second_range, third_range, age_as_on, entry_dat return [age] + outstanding_range -def get_pdc_details(party_type): +def get_pdc_details(party_type, report_date): pdc_details = frappe._dict() for pdc in frappe.db.sql(""" @@ -411,13 +412,14 @@ def get_pdc_details(party_type): on (pref.parent = pent.name) where - pent.docstatus < 2 and pent.reference_date >= pent.posting_date + pent.docstatus < 2 and pent.reference_date >= %s and pent.party_type = %s - group by pent.party, pref.reference_name""", party_type, as_dict=1): + group by pent.party, pref.reference_name""", (report_date, party_type), as_dict=1): pdc_details.setdefault((pdc.invoice_no, pdc.party), pdc) if scrub(party_type): - amount_field = "jea.debit_in_account_currency + jea.credit_in_account_currency" + amount_field = ("jea.debit_in_account_currency" + if party_type == 'Supplier' else "jea.credit_in_account_currency") else: amount_field = "jea.debit + jea.credit" @@ -431,9 +433,9 @@ def get_pdc_details(party_type): on (jea.parent = je.name) where - je.docstatus < 2 and je.cheque_date >= je.posting_date + je.docstatus < 2 and je.cheque_date >= %s and jea.party_type = %s - group by jea.party, jea.reference_name""".format(amount_field), party_type, as_dict=1): + group by jea.party, jea.reference_name""".format(amount_field), (report_date, party_type), as_dict=1): if (pdc.invoice_no, pdc.party) in pdc_details: pdc_details[(pdc.invoice_no, pdc.party)]["pdc_amount"] += pdc.pdc_amount else: