[FIX] account_financial_report: Prevent error related to currency from General ledger

Use case: Generate report (showing foreign currency) with accounts with defined currency.

Traceback:

File "/odoo/odoo-server/odoo/addons/base/models/ir_qweb_fields.py", line 448, in value_to_html
fmt = "%.{0}f".format(display_currency.decimal_places)
AttributeError: 'int' object has no attribute 'decimal_places'

The above exception was the direct cause of the following exception:

Error to render compiling AST
AttributeError: 'int' object has no attribute 'decimal_places'
Template: account_financial_report.report_general_ledger_lines
Path: /t/div/div[2]/t[6]/t[1]/div[1]/t[1]/span/t
Node: <t t-raw="account_or_group_item_object['init_bal']['bal_curr']" t-options="{'widget': 'monetary', 'display_currency': account['currency_id']}"/>

TT42804

[FIX] account_financial_report: Prevent error related to currency from General ledger

Use case: Generate xlsx report (showing foreign currency) with accounts with defined currency.

Traceback:

File "/opt/odoo/auto/addons/account_financial_report/report/abstract_report_xlsx.py", line 535, in _get_currency_amt_format
    field_name = "{}_{}".format(field_prefix, currency.name)
AttributeError: 'int' object has no attribute 'name'
This commit is contained in:
Víctor Martínez
2023-04-27 09:07:26 +02:00
committed by chaule97
parent 0637c898bf
commit fce83228b9
3 changed files with 32 additions and 13 deletions

View File

@@ -307,6 +307,10 @@
</div>
<t t-if="foreign_currency">
<t t-if="account['currency_id']">
<t
t-set="account_currency"
t-value="currency_model.browse(account['currency_id'])"
/>
<div class="act_as_cell amount" style="width: 3.63%;">
<t t-if="type == 'account_type'">
<span
@@ -315,7 +319,7 @@
>
<t
t-out="account_or_group_item_object['init_bal']['bal_curr']"
t-options="{'widget': 'monetary', 'display_currency': account['currency_id']}"
t-options="{'widget': 'monetary', 'display_currency': account_currency}"
/>
</span>
</t>
@@ -326,7 +330,7 @@
>
<t
t-out="account_or_group_item_object['init_bal']['bal_curr']"
t-options="{'widget': 'monetary', 'display_currency': account['currency_id']}"
t-options="{'widget': 'monetary', 'display_currency': account_currency}"
/>
</span>
</t>
@@ -339,7 +343,7 @@
>
<t
t-out="account_or_group_item_object['init_bal']['bal_curr']"
t-options="{'widget': 'monetary', 'display_currency': account['currency_id']}"
t-options="{'widget': 'monetary', 'display_currency': account_currency}"
/>
</span>
</t>
@@ -350,7 +354,7 @@
>
<t
t-out="account_or_group_item_object['init_bal']['bal_curr']"
t-options="{'widget': 'monetary', 'display_currency': account['currency_id']}"
t-options="{'widget': 'monetary', 'display_currency': account_currency}"
/>
</span>
</t>
@@ -699,6 +703,10 @@
<t t-set="misc_grouped_domain" t-value="[]" t-else="" />
<t t-if="foreign_currency">
<t t-if="account['currency_id']">
<t
t-set="account_currency"
t-value="currency_model.browse(account['currency_id'])"
/>
<div class="act_as_cell amount" style="width: 3.63%;">
<t t-if="type == 'account_type'">
<span>
@@ -710,7 +718,7 @@
>
<t
t-out="account_or_group_item_object['fin_bal']['bal_curr']"
t-options="{'widget': 'monetary', 'display_currency': account['currency_id']}"
t-options="{'widget': 'monetary', 'display_currency': account_currency}"
/>
</a>
</span>
@@ -725,7 +733,7 @@
>
<t
t-out="account_or_group_item_object['fin_bal']['bal_curr']"
t-options="{'widget': 'monetary', 'display_currency': account['currency_id']}"
t-options="{'widget': 'monetary', 'display_currency': account_currency}"
/>
</a>
</span>
@@ -742,7 +750,7 @@
>
<t
t-out="account_or_group_item_object['fin_bal']['bal_curr']"
t-options="{'widget': 'monetary', 'display_currency': account['currency_id']}"
t-options="{'widget': 'monetary', 'display_currency': account_currency}"
/>
</a>
</span>
@@ -757,7 +765,7 @@
>
<t
t-out="account_or_group_item_object['fin_bal']['bal_curr']"
t-options="{'widget': 'monetary', 'display_currency': account['currency_id']}"
t-options="{'widget': 'monetary', 'display_currency': account_currency}"
/>
</a>
</span>