mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-13 22:51:49 +00:00
Co-authored-by: Diptanil Saha <diptanil@frappe.io>
This commit is contained in:
@@ -1408,13 +1408,11 @@ def get_account_balances(accounts, company, finance_book=None, include_default_f
|
|||||||
def get_account_balances_coa(company: str, include_default_fb_balances: bool = False):
|
def get_account_balances_coa(company: str, include_default_fb_balances: bool = False):
|
||||||
company_currency = frappe.get_cached_value("Company", company, "default_currency")
|
company_currency = frappe.get_cached_value("Company", company, "default_currency")
|
||||||
|
|
||||||
Account = DocType("Account")
|
account_list = frappe.get_list(
|
||||||
account_list = (
|
"Account",
|
||||||
frappe.qb.from_(Account)
|
fields=["name", "parent_account", "account_currency"],
|
||||||
.select(Account.name, Account.parent_account, Account.account_currency)
|
filters={"company": company},
|
||||||
.where(Account.company == company)
|
order_by="lft",
|
||||||
.orderby(Account.lft)
|
|
||||||
.run(as_dict=True)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
account_balances_cc = {account.get("name"): 0 for account in account_list}
|
account_balances_cc = {account.get("name"): 0 for account in account_list}
|
||||||
@@ -1424,9 +1422,8 @@ def get_account_balances_coa(company: str, include_default_fb_balances: bool = F
|
|||||||
GLEntry = DocType("GL Entry")
|
GLEntry = DocType("GL Entry")
|
||||||
precision = get_currency_precision()
|
precision = get_currency_precision()
|
||||||
get_ledger_balances_query = (
|
get_ledger_balances_query = (
|
||||||
frappe.qb.from_(GLEntry)
|
frappe.get_query(GLEntry, fields=[GLEntry.account], ignore_permissions=False)
|
||||||
.select(
|
.select(
|
||||||
GLEntry.account,
|
|
||||||
(Sum(Round(GLEntry.debit, precision)) - Sum(Round(GLEntry.credit, precision))).as_("balance"),
|
(Sum(Round(GLEntry.debit, precision)) - Sum(Round(GLEntry.credit, precision))).as_("balance"),
|
||||||
(
|
(
|
||||||
Sum(Round(GLEntry.debit_in_account_currency, precision))
|
Sum(Round(GLEntry.debit_in_account_currency, precision))
|
||||||
@@ -1436,7 +1433,7 @@ def get_account_balances_coa(company: str, include_default_fb_balances: bool = F
|
|||||||
.groupby(GLEntry.account)
|
.groupby(GLEntry.account)
|
||||||
)
|
)
|
||||||
|
|
||||||
condition_list = [GLEntry.company == company, GLEntry.is_cancelled == 0]
|
conditions = [GLEntry.company == company, GLEntry.is_cancelled == 0]
|
||||||
|
|
||||||
default_finance_book = None
|
default_finance_book = None
|
||||||
|
|
||||||
@@ -1444,12 +1441,9 @@ def get_account_balances_coa(company: str, include_default_fb_balances: bool = F
|
|||||||
default_finance_book = frappe.get_cached_value("Company", company, "default_finance_book")
|
default_finance_book = frappe.get_cached_value("Company", company, "default_finance_book")
|
||||||
|
|
||||||
if default_finance_book:
|
if default_finance_book:
|
||||||
condition_list.append(
|
conditions.append((GLEntry.finance_book == default_finance_book) | (GLEntry.finance_book.isnull()))
|
||||||
(GLEntry.finance_book == default_finance_book) | (GLEntry.finance_book.isnull())
|
|
||||||
)
|
|
||||||
|
|
||||||
for condition in condition_list:
|
get_ledger_balances_query = get_ledger_balances_query.where(Criterion.all(conditions))
|
||||||
get_ledger_balances_query = get_ledger_balances_query.where(condition)
|
|
||||||
|
|
||||||
ledger_balances = get_ledger_balances_query.run(as_dict=True)
|
ledger_balances = get_ledger_balances_query.run(as_dict=True)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user