[FIX] account_financial_report: Don't include unaffected account if accounts are filtered
When generated a General Ledger or a Trial Balance, if some accounts are already filtered in the wizard don't show the information related to the unaffected earnings account TT29658
This commit is contained in:
@@ -184,6 +184,10 @@ class GeneralLedgerReport(models.AbstractModel):
|
||||
cost_center_ids,
|
||||
extra_domain,
|
||||
):
|
||||
# If explicit list of accounts is provided,
|
||||
# don't include unaffected earnings account
|
||||
if account_ids:
|
||||
unaffected_earnings_account = False
|
||||
base_domain = []
|
||||
if company_id:
|
||||
base_domain += [("company_id", "=", company_id)]
|
||||
@@ -272,29 +276,38 @@ class GeneralLedgerReport(models.AbstractModel):
|
||||
]
|
||||
accounts_ids = list(gen_ld_data.keys())
|
||||
unaffected_id = unaffected_earnings_account
|
||||
if unaffected_id not in accounts_ids:
|
||||
accounts_ids.append(unaffected_id)
|
||||
self._initialize_account(gen_ld_data, unaffected_id, foreign_currency)
|
||||
pl_initial_balance = self._get_pl_initial_balance(
|
||||
account_ids, company_id, fy_start_date, foreign_currency, base_domain
|
||||
)
|
||||
gen_ld_data[unaffected_id]["init_bal"]["debit"] += pl_initial_balance["debit"]
|
||||
gen_ld_data[unaffected_id]["init_bal"]["credit"] += pl_initial_balance["credit"]
|
||||
gen_ld_data[unaffected_id]["init_bal"]["balance"] += pl_initial_balance[
|
||||
"balance"
|
||||
]
|
||||
gen_ld_data[unaffected_id]["fin_bal"]["debit"] += pl_initial_balance["debit"]
|
||||
gen_ld_data[unaffected_id]["fin_bal"]["credit"] += pl_initial_balance["credit"]
|
||||
gen_ld_data[unaffected_id]["fin_bal"]["balance"] += pl_initial_balance[
|
||||
"balance"
|
||||
]
|
||||
if foreign_currency:
|
||||
gen_ld_data[unaffected_id]["init_bal"]["bal_curr"] += pl_initial_balance[
|
||||
"bal_curr"
|
||||
if unaffected_id:
|
||||
if unaffected_id not in accounts_ids:
|
||||
accounts_ids.append(unaffected_id)
|
||||
self._initialize_account(gen_ld_data, unaffected_id, foreign_currency)
|
||||
pl_initial_balance = self._get_pl_initial_balance(
|
||||
account_ids, company_id, fy_start_date, foreign_currency, base_domain
|
||||
)
|
||||
gen_ld_data[unaffected_id]["init_bal"]["debit"] += pl_initial_balance[
|
||||
"debit"
|
||||
]
|
||||
gen_ld_data[unaffected_id]["fin_bal"]["bal_curr"] += pl_initial_balance[
|
||||
"bal_curr"
|
||||
gen_ld_data[unaffected_id]["init_bal"]["credit"] += pl_initial_balance[
|
||||
"credit"
|
||||
]
|
||||
gen_ld_data[unaffected_id]["init_bal"]["balance"] += pl_initial_balance[
|
||||
"balance"
|
||||
]
|
||||
gen_ld_data[unaffected_id]["fin_bal"]["debit"] += pl_initial_balance[
|
||||
"debit"
|
||||
]
|
||||
gen_ld_data[unaffected_id]["fin_bal"]["credit"] += pl_initial_balance[
|
||||
"credit"
|
||||
]
|
||||
gen_ld_data[unaffected_id]["fin_bal"]["balance"] += pl_initial_balance[
|
||||
"balance"
|
||||
]
|
||||
if foreign_currency:
|
||||
gen_ld_data[unaffected_id]["init_bal"][
|
||||
"bal_curr"
|
||||
] += pl_initial_balance["bal_curr"]
|
||||
gen_ld_data[unaffected_id]["fin_bal"]["bal_curr"] += pl_initial_balance[
|
||||
"bal_curr"
|
||||
]
|
||||
return gen_ld_data, partners_data, partner_ids
|
||||
|
||||
@api.model
|
||||
|
||||
@@ -347,6 +347,9 @@ class TrialBalanceReport(models.AbstractModel):
|
||||
accounts_domain = [("company_id", "=", company_id)]
|
||||
if account_ids:
|
||||
accounts_domain += [("id", "in", account_ids)]
|
||||
# If explicit list of accounts is provided,
|
||||
# don't include unaffected earnings account
|
||||
unaffected_earnings_account = False
|
||||
accounts = self.env["account.account"].search(accounts_domain)
|
||||
tb_initial_acc = []
|
||||
for account in accounts:
|
||||
@@ -452,19 +455,23 @@ class TrialBalanceReport(models.AbstractModel):
|
||||
)
|
||||
accounts_ids = list(total_amount.keys())
|
||||
unaffected_id = unaffected_earnings_account
|
||||
if unaffected_id not in accounts_ids:
|
||||
accounts_ids.append(unaffected_id)
|
||||
total_amount[unaffected_id] = {}
|
||||
total_amount[unaffected_id]["initial_balance"] = 0.0
|
||||
total_amount[unaffected_id]["balance"] = 0.0
|
||||
total_amount[unaffected_id]["credit"] = 0.0
|
||||
total_amount[unaffected_id]["debit"] = 0.0
|
||||
total_amount[unaffected_id]["ending_balance"] = 0.0
|
||||
if foreign_currency:
|
||||
total_amount[unaffected_id]["initial_currency_balance"] = 0.0
|
||||
total_amount[unaffected_id]["ending_currency_balance"] = 0.0
|
||||
if unaffected_id:
|
||||
if unaffected_id not in accounts_ids:
|
||||
accounts_ids.append(unaffected_id)
|
||||
total_amount[unaffected_id] = {}
|
||||
total_amount[unaffected_id]["initial_balance"] = 0.0
|
||||
total_amount[unaffected_id]["balance"] = 0.0
|
||||
total_amount[unaffected_id]["credit"] = 0.0
|
||||
total_amount[unaffected_id]["debit"] = 0.0
|
||||
total_amount[unaffected_id]["ending_balance"] = 0.0
|
||||
if foreign_currency:
|
||||
total_amount[unaffected_id]["initial_currency_balance"] = 0.0
|
||||
total_amount[unaffected_id]["ending_currency_balance"] = 0.0
|
||||
accounts_data = self._get_accounts_data(accounts_ids)
|
||||
pl_initial_balance, pl_initial_currency_balance = self._get_pl_initial_balance(
|
||||
(
|
||||
pl_initial_balance,
|
||||
pl_initial_currency_balance,
|
||||
) = self._get_pl_initial_balance(
|
||||
account_ids,
|
||||
journal_ids,
|
||||
partner_ids,
|
||||
@@ -474,15 +481,16 @@ class TrialBalanceReport(models.AbstractModel):
|
||||
show_partner_details,
|
||||
foreign_currency,
|
||||
)
|
||||
total_amount[unaffected_id]["ending_balance"] += pl_initial_balance
|
||||
total_amount[unaffected_id]["initial_balance"] += pl_initial_balance
|
||||
if foreign_currency:
|
||||
total_amount[unaffected_id][
|
||||
"ending_currency_balance"
|
||||
] += pl_initial_currency_balance
|
||||
total_amount[unaffected_id][
|
||||
"initial_currency_balance"
|
||||
] += pl_initial_currency_balance
|
||||
if unaffected_id:
|
||||
total_amount[unaffected_id]["ending_balance"] += pl_initial_balance
|
||||
total_amount[unaffected_id]["initial_balance"] += pl_initial_balance
|
||||
if foreign_currency:
|
||||
total_amount[unaffected_id][
|
||||
"ending_currency_balance"
|
||||
] += pl_initial_currency_balance
|
||||
total_amount[unaffected_id][
|
||||
"initial_currency_balance"
|
||||
] += pl_initial_currency_balance
|
||||
return total_amount, accounts_data, partners_data
|
||||
|
||||
def _get_hierarchy_groups(
|
||||
|
||||
Reference in New Issue
Block a user