fix: Account balance patch and query fixes (#36117)

fix: Account balance patch and query fixes (#36117)

(cherry picked from commit b4bd978791)

# Conflicts:
#	erpnext/patches.txt

* chore: resolve conflicts

---------

Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com>
(cherry picked from commit 0147754273)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
mergify[bot]
2023-07-14 11:21:59 +05:30
committed by GitHub
parent 1d9c28ec5e
commit 495a8a9ce1
3 changed files with 59 additions and 51 deletions

View File

@@ -159,6 +159,8 @@ def get_rootwise_opening_balances(filters, report_type):
accounting_dimensions, accounting_dimensions,
period_closing_voucher=last_period_closing_voucher[0].name, period_closing_voucher=last_period_closing_voucher[0].name,
) )
# Report getting generate from the mid of a fiscal year
if getdate(last_period_closing_voucher[0].posting_date) < getdate( if getdate(last_period_closing_voucher[0].posting_date) < getdate(
add_days(filters.from_date, -1) add_days(filters.from_date, -1)
): ):
@@ -220,7 +222,10 @@ def get_opening_balance(
if start_date: if start_date:
opening_balance = opening_balance.where(closing_balance.posting_date >= start_date) opening_balance = opening_balance.where(closing_balance.posting_date >= start_date)
opening_balance = opening_balance.where(closing_balance.is_opening == "No") opening_balance = opening_balance.where(closing_balance.is_opening == "No")
opening_balance = opening_balance.where(closing_balance.posting_date < filters.from_date) else:
opening_balance = opening_balance.where(
(closing_balance.posting_date < filters.from_date) | (closing_balance.is_opening == "Yes")
)
if ( if (
not filters.show_unclosed_fy_pl_balances not filters.show_unclosed_fy_pl_balances

View File

@@ -336,4 +336,4 @@ erpnext.patches.v14_0.cleanup_workspaces
erpnext.patches.v14_0.enable_allow_existing_serial_no erpnext.patches.v14_0.enable_allow_existing_serial_no
erpnext.patches.v14_0.set_report_in_process_SOA erpnext.patches.v14_0.set_report_in_process_SOA
erpnext.patches.v14_0.create_accounting_dimensions_for_closing_balance erpnext.patches.v14_0.create_accounting_dimensions_for_closing_balance
erpnext.patches.v14_0.update_closing_balances erpnext.patches.v14_0.update_closing_balances #14-07-2023

View File

@@ -13,12 +13,13 @@ from erpnext.accounts.utils import get_fiscal_year
def execute(): def execute():
frappe.db.truncate("Account Closing Balance") frappe.db.truncate("Account Closing Balance")
for company in frappe.get_all("Company", pluck="name"):
i = 0 i = 0
company_wise_order = {} company_wise_order = {}
for pcv in frappe.db.get_all( for pcv in frappe.db.get_all(
"Period Closing Voucher", "Period Closing Voucher",
fields=["company", "posting_date", "name"], fields=["company", "posting_date", "name"],
filters={"docstatus": 1}, filters={"docstatus": 1, "company": company},
order_by="posting_date", order_by="posting_date",
): ):
@@ -38,6 +39,9 @@ def execute():
entry["closing_date"] = pcv_doc.posting_date entry["closing_date"] = pcv_doc.posting_date
entry["period_closing_voucher"] = pcv_doc.name entry["period_closing_voucher"] = pcv_doc.name
closing_entries = []
if pcv.posting_date not in company_wise_order[pcv.company]:
# get all gl entries for the year # get all gl entries for the year
closing_entries = frappe.db.get_all( closing_entries = frappe.db.get_all(
"GL Entry", "GL Entry",
@@ -63,9 +67,8 @@ def execute():
entry["period_closing_voucher"] = pcv_doc.name entry["period_closing_voucher"] = pcv_doc.name
entries = gl_entries + closing_entries entries = gl_entries + closing_entries
if entries: if entries:
make_closing_entries(entries, voucher_name=pcv.name) make_closing_entries(entries, voucher_name=pcv.name)
company_wise_order[pcv.company].append(pcv.posting_date)
i += 1 i += 1
company_wise_order[pcv.company].append(pcv.posting_date)