diff --git a/account_financial_report/report/abstract_report_xlsx.py b/account_financial_report/report/abstract_report_xlsx.py index b390632d..9e2f4bc4 100644 --- a/account_financial_report/report/abstract_report_xlsx.py +++ b/account_financial_report/report/abstract_report_xlsx.py @@ -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) diff --git a/account_financial_report/report/general_ledger_xlsx.py b/account_financial_report/report/general_ledger_xlsx.py index 24151e29..a15ce988 100644 --- a/account_financial_report/report/general_ledger_xlsx.py +++ b/account_financial_report/report/general_ledger_xlsx.py @@ -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"]: diff --git a/account_financial_report/report/templates/general_ledger.xml b/account_financial_report/report/templates/general_ledger.xml index 69755b47..1ca2c8a6 100644 --- a/account_financial_report/report/templates/general_ledger.xml +++ b/account_financial_report/report/templates/general_ledger.xml @@ -591,6 +591,7 @@
@@ -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" />
@@ -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" />