fix: Party name field in trial balacne for party report (#19789)

This commit is contained in:
Deepesh Garg 2019-12-03 16:31:07 +05:30 committed by Nabin Hait
parent 36b60dbbef
commit 8d31171ff8

View File

@ -18,14 +18,17 @@ def execute(filters=None):
return columns, data return columns, data
def get_data(filters, show_party_name): def get_data(filters, show_party_name):
party_name_field = "{0}_name".format(frappe.scrub(filters.get('party_type'))) if filters.get('party_type') in ('Customer', 'Supplier', 'Employee', 'Member'):
party_name_field = "{0}_name".format(frappe.scrub(filters.get('party_type')))
if filters.get('party_type') == 'Student': if filters.get('party_type') == 'Student':
party_name_field = 'first_name' party_name_field = 'first_name'
elif filters.get('party_type') == 'Shareholder': elif filters.get('party_type') == 'Shareholder':
party_name_field = 'title' party_name_field = 'title'
else:
party_name_field = 'name'
party_filters = {"name": filters.get("party")} if filters.get("party") else {} party_filters = {"name": filters.get("party")} if filters.get("party") else {}
parties = frappe.get_all(filters.get("party_type"), fields = ["name", party_name_field], parties = frappe.get_all(filters.get("party_type"), fields = ["name", party_name_field],
filters = party_filters, order_by="name") filters = party_filters, order_by="name")
company_currency = frappe.get_cached_value('Company', filters.company, "default_currency") company_currency = frappe.get_cached_value('Company', filters.company, "default_currency")
opening_balances = get_opening_balances(filters) opening_balances = get_opening_balances(filters)
@ -70,7 +73,7 @@ def get_data(filters, show_party_name):
# totals # totals
for col in total_row: for col in total_row:
total_row[col] += row.get(col) total_row[col] += row.get(col)
row.update({ row.update({
"currency": company_currency "currency": company_currency
}) })
@ -78,7 +81,7 @@ def get_data(filters, show_party_name):
has_value = False has_value = False
if (opening_debit or opening_credit or debit or credit or closing_debit or closing_credit): if (opening_debit or opening_credit or debit or credit or closing_debit or closing_credit):
has_value =True has_value =True
if cint(filters.show_zero_values) or has_value: if cint(filters.show_zero_values) or has_value:
data.append(row) data.append(row)
@ -94,9 +97,9 @@ def get_data(filters, show_party_name):
def get_opening_balances(filters): def get_opening_balances(filters):
gle = frappe.db.sql(""" gle = frappe.db.sql("""
select party, sum(debit) as opening_debit, sum(credit) as opening_credit select party, sum(debit) as opening_debit, sum(credit) as opening_credit
from `tabGL Entry` from `tabGL Entry`
where company=%(company)s where company=%(company)s
and ifnull(party_type, '') = %(party_type)s and ifnull(party, '') != '' and ifnull(party_type, '') = %(party_type)s and ifnull(party, '') != ''
and (posting_date < %(from_date)s or ifnull(is_opening, 'No') = 'Yes') and (posting_date < %(from_date)s or ifnull(is_opening, 'No') = 'Yes')
group by party""", { group by party""", {
@ -114,11 +117,11 @@ def get_opening_balances(filters):
def get_balances_within_period(filters): def get_balances_within_period(filters):
gle = frappe.db.sql(""" gle = frappe.db.sql("""
select party, sum(debit) as debit, sum(credit) as credit select party, sum(debit) as debit, sum(credit) as credit
from `tabGL Entry` from `tabGL Entry`
where company=%(company)s where company=%(company)s
and ifnull(party_type, '') = %(party_type)s and ifnull(party, '') != '' and ifnull(party_type, '') = %(party_type)s and ifnull(party, '') != ''
and posting_date >= %(from_date)s and posting_date <= %(to_date)s and posting_date >= %(from_date)s and posting_date <= %(to_date)s
and ifnull(is_opening, 'No') = 'No' and ifnull(is_opening, 'No') = 'No'
group by party""", { group by party""", {
"company": filters.company, "company": filters.company,