mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-02 13:08:27 +00:00
fix: filter opening entries in first year in custom financial statement
(cherry picked from commit 3c8a066484)
This commit is contained in:
@@ -468,6 +468,7 @@ class FinancialQueryBuilder:
|
|||||||
self.periods = periods
|
self.periods = periods
|
||||||
self.company = filters.get("company")
|
self.company = filters.get("company")
|
||||||
self.account_meta = {} # {name: {account_name, account_number}}
|
self.account_meta = {} # {name: {account_name, account_number}}
|
||||||
|
self.ignore_opening_entries = False
|
||||||
|
|
||||||
def fetch_account_balances(self, accounts: list[dict]) -> dict[str, AccountData]:
|
def fetch_account_balances(self, accounts: list[dict]) -> dict[str, AccountData]:
|
||||||
"""
|
"""
|
||||||
@@ -505,6 +506,8 @@ class FinancialQueryBuilder:
|
|||||||
"""
|
"""
|
||||||
Return opening balances for *all accounts* defaulting to zero.
|
Return opening balances for *all accounts* defaulting to zero.
|
||||||
"""
|
"""
|
||||||
|
self.ignore_opening_entries = False
|
||||||
|
|
||||||
if frappe.get_single_value("Accounts Settings", "ignore_account_closing_balance"):
|
if frappe.get_single_value("Accounts Settings", "ignore_account_closing_balance"):
|
||||||
return self._get_opening_balances_from_gl(accounts)
|
return self._get_opening_balances_from_gl(accounts)
|
||||||
|
|
||||||
@@ -526,6 +529,8 @@ class FinancialQueryBuilder:
|
|||||||
closing_data = self._get_closing_balances(accounts, closing_voucher.name)
|
closing_data = self._get_closing_balances(accounts, closing_voucher.name)
|
||||||
|
|
||||||
if sum(closing_data.values()) != 0.0:
|
if sum(closing_data.values()) != 0.0:
|
||||||
|
# opening in current period
|
||||||
|
self.ignore_opening_entries = True
|
||||||
return self._rebase_closing_balances(closing_data, closing_voucher.period_end_date)
|
return self._rebase_closing_balances(closing_data, closing_voucher.period_end_date)
|
||||||
|
|
||||||
return self._get_opening_balances_from_gl(accounts)
|
return self._get_opening_balances_from_gl(accounts)
|
||||||
@@ -620,7 +625,10 @@ class FinancialQueryBuilder:
|
|||||||
.groupby(gl_table.account)
|
.groupby(gl_table.account)
|
||||||
)
|
)
|
||||||
|
|
||||||
if not frappe.get_single_value("Accounts Settings", "ignore_is_opening_check_for_reporting"):
|
ignore_is_opening = frappe.get_single_value(
|
||||||
|
"Accounts Settings", "ignore_is_opening_check_for_reporting"
|
||||||
|
)
|
||||||
|
if self.ignore_opening_entries and not ignore_is_opening:
|
||||||
query = query.where(gl_table.is_opening == "No")
|
query = query.where(gl_table.is_opening == "No")
|
||||||
|
|
||||||
# Add period-specific columns
|
# Add period-specific columns
|
||||||
|
|||||||
Reference in New Issue
Block a user