Merge pull request #13418 from rohitwaghchaure/pdf_and_alignment_issue
[Fix] Alignment and date issue in PDC report
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
index 78015b4..3d8aedc 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;
}
}
</style>
{% } %}
+<style>
+ .print-format {
+ padding: 8mm;
+ margin:4mm;
+ font-size: 10.0pt !important;
+ font-family: Tahoma, sans-serif;
+ }
+</style>
+
<h2 class="text-center">{%= __(report.report_name) %}</h2>
<h4 class="text-center">{%= filters.customer || filters.supplier %} </h4>
@@ -126,9 +135,14 @@
{% if(report.report_name === "Accounts Receivable" || report.report_name === "Accounts Payable") { %}
{% if(data[i][__("Customer")] || data[i][__("Supplier")]) { %}
<td>{%= dateutil.str_to_user(data[i]["posting_date"]) %}</td>
- <td>{%= data[i]["voucher_type"] %}
- <br>{%= data[i]["voucher_no"] %}</td>
- {% if(!filters.show_pdc_in_print) { %}
+ <td>
+ {% if(!filters.show_pdc_in_print) { %}
+ {%= data[i]["voucher_type"] %}
+ <br>
+ {% } %}
+ {%= data[i]["voucher_no"] %}
+ </td>
+ {% if(!filters.show_pdc_in_print) { %}
<td>
{% 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 b971327..f722e7f 100644
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
@@ -136,7 +136,7 @@
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 @@
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 @@
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 @@
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 @@
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: