[IMP] account_financial_report: Hide values that have the same currency as the company currency

An amount_different_company_currency cell type is added to apply the following logic:
- If the currency is the same as the company's currency, we will leave the value empty.
- If the currency is different from the company's currency, we will show the value.

TT38722
pull/913/head
Víctor Martínez 2022-09-08 12:37:22 +02:00
parent 5deb99d7ae
commit e1a024f7de
3 changed files with 23 additions and 2 deletions

View File

@ -237,6 +237,22 @@ class AbstractReportXslx(models.AbstractModel):
for col_pos, column in report_data["columns"].items():
value = line_dict.get(column["field"], False)
cell_type = column.get("type", "string")
# We will use a special cell type according to the currency of
# record and the company's currency:
# - If the currency is the same as the company's currency, we will leave
# the value empty.
# - If the currency is different from the company's currency, we will
# show the value.
if cell_type == "amount_different_company_currency":
if line_dict.get("currency_id") and line_dict.get(
"company_currency_id"
):
if line_dict["currency_id"] == line_dict["company_currency_id"]:
value = ""
cell_type = "string"
else:
cell_type = "amount_currency"
# All conditions according to cell type.
if cell_type == "string":
if (
line_dict.get("account_group_id", False)

View File

@ -78,13 +78,13 @@ class GeneralLedgerXslx(models.AbstractModel):
"field": "bal_curr",
"field_initial_balance": "initial_bal_curr",
"field_final_balance": "final_bal_curr",
"type": "amount_currency",
"type": "amount_different_company_currency",
"width": 10,
},
{
"header": _("Cumul cur."),
"field": "total_bal_curr",
"type": "amount_currency",
"type": "amount_different_company_currency",
"width": 10,
},
]
@ -183,6 +183,7 @@ class GeneralLedgerXslx(models.AbstractModel):
{
"account": account["code"],
"journal": journals_data[line["journal_id"]]["code"],
"company_currency_id": company_currency.id,
}
)
if line["currency_id"]:
@ -266,6 +267,7 @@ class GeneralLedgerXslx(models.AbstractModel):
{
"account": account["code"],
"journal": journals_data[line["journal_id"]]["code"],
"company_currency_id": company_currency.id,
}
)
if line["currency_id"]:

View File

@ -591,6 +591,7 @@
<t
t-set="total_bal_curr"
t-value="total_bal_curr + line['bal_curr']"
t-if="line_currency!=company_currency"
/>
<!--## amount_currency-->
<div class="act_as_cell amount" style="width: 3.63%;">
@ -600,6 +601,7 @@
view-type="form"
t-raw="line['bal_curr']"
t-options="{'widget': 'monetary', 'display_currency': line_currency}"
t-if="line_currency!=company_currency"
/>
</div>
<!--## amount_currency cumulated-->
@ -610,6 +612,7 @@
view-type="form"
t-raw="total_bal_curr"
t-options="{'widget': 'monetary', 'display_currency': line_currency}"
t-if="line_currency!=company_currency"
/>
</div>
</t>