From 4ba883ef0501f2f6bc05250ebddc3b0f8109ba83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Thu, 1 Sep 2022 13:29:29 +0200 Subject: [PATCH] [IMP] account_financial_report: Add "Cumul cur." column to general_ledger. TT38722 --- account_financial_report/README.rst | 1 + .../i18n/account_financial_report.pot | 8 +- account_financial_report/i18n/es.po | 145 +----------------- .../readme/CONTRIBUTORS.rst | 1 + .../report/abstract_report_xlsx.py | 11 +- .../report/general_ledger_xlsx.py | 33 +++- .../report/templates/general_ledger.xml | 48 ++++-- .../static/description/index.html | 3 +- 8 files changed, 85 insertions(+), 165 deletions(-) diff --git a/account_financial_report/README.rst b/account_financial_report/README.rst index bf52f395..c4443e84 100644 --- a/account_financial_report/README.rst +++ b/account_financial_report/README.rst @@ -130,6 +130,7 @@ Contributors * Ernesto Tejeda * João Marques * Alexandre D. Díaz + * Víctor Martínez * `Sygel `__: diff --git a/account_financial_report/i18n/account_financial_report.pot b/account_financial_report/i18n/account_financial_report.pot index ad39f717..3abc26cf 100644 --- a/account_financial_report/i18n/account_financial_report.pot +++ b/account_financial_report/i18n/account_financial_report.pot @@ -6,6 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 15.0\n" "Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-09-01 13:35+0000\n" +"PO-Revision-Date: 2022-09-01 13:35+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -464,6 +466,11 @@ msgstr "" msgid "Credit" msgstr "" +#. module: account_financial_report +#: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines +msgid "Cumul cur." +msgstr "" + #. module: account_financial_report #: code:addons/account_financial_report/report/general_ledger_xlsx.py:0 #: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines @@ -476,7 +483,6 @@ msgstr "" #: code:addons/account_financial_report/report/open_items_xlsx.py:0 #: code:addons/account_financial_report/report/trial_balance_xlsx.py:0 #: code:addons/account_financial_report/report/trial_balance_xlsx.py:0 -#: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines #: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_table_header #: model_terms:ir.ui.view,arch_db:account_financial_report.report_open_items_lines_header #: model_terms:ir.ui.view,arch_db:account_financial_report.report_trial_balance_lines_header diff --git a/account_financial_report/i18n/es.po b/account_financial_report/i18n/es.po index 970e810d..8d902339 100644 --- a/account_financial_report/i18n/es.po +++ b/account_financial_report/i18n/es.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-21 13:00+0000\n" -"PO-Revision-Date: 2022-08-26 19:07+0000\n" +"POT-Creation-Date: 2022-09-01 13:35+0000\n" +"PO-Revision-Date: 2022-09-01 15:36+0200\n" "Last-Translator: Pedro M. Baeza \n" "Language-Team: \n" "Language: es\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.3.2\n" +"X-Generator: Poedit 3.0.1\n" #. module: account_financial_report #: model_terms:ir.ui.view,arch_db:account_financial_report.report_aged_partner_balance_lines_header @@ -480,6 +480,11 @@ msgstr "Creado el" msgid "Credit" msgstr "Haber" +#. module: account_financial_report +#: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines +msgid "Cumul cur." +msgstr "Acumulado moneda" + #. module: account_financial_report #: code:addons/account_financial_report/report/general_ledger_xlsx.py:0 #: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines @@ -491,7 +496,6 @@ msgstr "Saldo Acumu." #: code:addons/account_financial_report/report/general_ledger_xlsx.py:0 #: code:addons/account_financial_report/report/open_items_xlsx.py:0 #: code:addons/account_financial_report/report/trial_balance_xlsx.py:0 -#: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines #: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_table_header #: model_terms:ir.ui.view,arch_db:account_financial_report.report_open_items_lines_header #: model_terms:ir.ui.view,arch_db:account_financial_report.report_trial_balance_lines_header @@ -1852,136 +1856,3 @@ msgstr "ancho: 38.92%;" #: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_table_header msgid "width: 8.11%;" msgstr "ancho: 8.11%;" - -#~ msgid " Export" -#~ msgstr "Exportar" - -#~ msgid " Print" -#~ msgstr "Imprimir" - -#~ msgid "" -#~ "\n" -#~ " To\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " A\n" -#~ " " - -#~ msgid "" -#~ "\n" -#~ " To\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " A\n" -#~ " " - -#~ msgid "" -#~ "General Ledger can be computed only if selected company have only one " -#~ "unaffected earnings account." -#~ msgstr "" -#~ "El Libro mayor solo se puede calcular si la empresa seleccionada tiene " -#~ "solo una cuenta de resultados no afectados." - -#~ msgid "" -#~ "Trial Balance can be computed only if selected company have only one " -#~ "unaffected earnings account." -#~ msgstr "" -#~ "El balance de sumas y saldos solo puede calcularse si la compañía " -#~ "seleccionada tiene una y solo una cuenta de ganancias." - -#~ msgid "" -#~ "Cost\n" -#~ " center" -#~ msgstr "Centro de Costos" - -#~ msgid "Cost center" -#~ msgstr "Centro de Costos" - -#~ msgid "Account Code" -#~ msgstr "Cuenta" - -#~ msgid "Account ID" -#~ msgstr "Nº Cuenta" - -#~ msgid "Account Type" -#~ msgstr "Tipo de Cuenta" - -#~ msgid "Age 120 Days" -#~ msgstr "120 días" - -#~ msgid "Age 30 Days" -#~ msgstr "30 días" - -#~ msgid "Age 60 Days" -#~ msgstr "60 días" - -#~ msgid "Age 90 Days" -#~ msgstr "90 días" - -#~ msgid "Amount Residual" -#~ msgstr "Importe Inicial" - -#~ msgid "Amount Residual Currency" -#~ msgstr "Moneda de Saldo Pendiente" - -#~ msgid "Amount Total Due" -#~ msgstr "Total" - -#~ msgid "Amount Total Due Currency" -#~ msgstr "Moneda de Total" - -#~ msgid "Centralize" -#~ msgstr "Centralizar" - -#~ msgid "Centralized Entries" -#~ msgstr "Centralizar las entradas" - -#~ msgid "Child accounts" -#~ msgstr "Cuentas Hijas" - -#~ msgid "Company Currency" -#~ msgstr "Moneda de Empresa" - -#~ msgid "Cost Center" -#~ msgstr "Centro de Costos" - -#~ msgid "Cumul Age 120 Days" -#~ msgstr "Acumulado a 120 días" - -#~ msgid "Cumul Age 30 Days" -#~ msgstr "Acumulado a 30 días" - -#~ msgid "Cumul Age 60 Days" -#~ msgstr "Acumulado a 60 días" - -#~ msgid "Cumul Age 90 Days" -#~ msgstr "Acumulado a 90 días" - -#~ msgid "Cumul Amount Residual" -#~ msgstr "Cantidad Residual Acumulada" - -#~ msgid "Cumul Balance" -#~ msgstr "Saldo Acumulado" - -#~ msgid "Cumul Current" -#~ msgstr "Acum. Actual" - -#~ msgid "Cumul Older" -#~ msgstr "Acum. Anterior" - -#~ msgid "Currency Name" -#~ msgstr "Moneda" - -#~ msgid "Date Due" -#~ msgstr "Fecha vencimiento" - -#~ msgid "Ending blance cur." -#~ msgstr "Saldo final." - -#~ msgid "Filter Analytic Tag" -#~ msgstr "Filtrar por Etiqueta Analítica" - -#~ msgid "Filter Cost Center" -#~ msgstr "Filtro Centro de Costos" diff --git a/account_financial_report/readme/CONTRIBUTORS.rst b/account_financial_report/readme/CONTRIBUTORS.rst index b460bc03..36de804b 100644 --- a/account_financial_report/readme/CONTRIBUTORS.rst +++ b/account_financial_report/readme/CONTRIBUTORS.rst @@ -23,6 +23,7 @@ * Ernesto Tejeda * João Marques * Alexandre D. Díaz + * Víctor Martínez * `Sygel `__: diff --git a/account_financial_report/report/abstract_report_xlsx.py b/account_financial_report/report/abstract_report_xlsx.py index e232efe3..b390632d 100644 --- a/account_financial_report/report/abstract_report_xlsx.py +++ b/account_financial_report/report/abstract_report_xlsx.py @@ -532,16 +532,14 @@ class AbstractReportXslx(models.AbstractModel): format_amt = report_data["formats"]["format_amount"] field_prefix = "format_amount" if "currency_id" in line_object and line_object.get("currency_id", False): - field_name = "{}_{}".format(field_prefix, line_object["currency_id"].name) + currency = line_object["currency_id"] + field_name = "{}_{}".format(field_prefix, currency.name) if hasattr(self, field_name): format_amt = getattr(self, field_name) else: format_amt = report_data["workbook"].add_format() report_data["field_name"] = format_amt - format_amount = "#,##0." + ( - "0" * line_object["currency_id"].decimal_places - ) - format_amt.set_num_format(format_amount) + format_amt.set_num_format(self._report_xlsx_currency_format(currency)) return format_amt def _get_currency_amt_format_dict(self, line_dict, report_data): @@ -563,8 +561,7 @@ class AbstractReportXslx(models.AbstractModel): else: format_amt = report_data["workbook"].add_format() report_data["field_name"] = format_amt - format_amount = "#,##0." + ("0" * currency.decimal_places) - format_amt.set_num_format(format_amount) + format_amt.set_num_format(self._report_xlsx_currency_format(currency)) return format_amt def _get_currency_amt_header_format(self, line_object, report_data): diff --git a/account_financial_report/report/general_ledger_xlsx.py b/account_financial_report/report/general_ledger_xlsx.py index 20651695..24151e29 100644 --- a/account_financial_report/report/general_ledger_xlsx.py +++ b/account_financial_report/report/general_ledger_xlsx.py @@ -2,6 +2,7 @@ # Author: Julien Coux # Copyright 2016 Camptocamp SA # Copyright 2021 Tecnativa - João Marques +# Copyright 2022 Tecnativa - Víctor Martínez # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import _, models @@ -72,20 +73,19 @@ class GeneralLedgerXslx(models.AbstractModel): ] if report.foreign_currency: res += [ - { - "header": _("Cur."), - "field": "currency_name", - "field_currency_balance": "currency_name", - "type": "currency_name", - "width": 7, - }, { "header": _("Amount cur."), "field": "bal_curr", "field_initial_balance": "initial_bal_curr", "field_final_balance": "final_bal_curr", "type": "amount_currency", - "width": 14, + "width": 10, + }, + { + "header": _("Cumul cur."), + "field": "total_bal_curr", + "type": "amount_currency", + "width": 10, }, ] res_as_dict = {} @@ -149,6 +149,7 @@ class GeneralLedgerXslx(models.AbstractModel): tags_data = res_data["tags_data"] filter_partner_ids = res_data["filter_partner_ids"] foreign_currency = res_data["foreign_currency"] + company_currency = report.company_id.currency_id # For each account for account in general_ledger: # Write account title @@ -176,6 +177,7 @@ class GeneralLedgerXslx(models.AbstractModel): self.write_initial_balance_from_dict(account, report_data) # Display account move lines + total_bal_curr = 0 for line in account["move_lines"]: line.update( { @@ -203,6 +205,13 @@ class GeneralLedgerXslx(models.AbstractModel): "tags": tags, } ) + if ( + foreign_currency + and line["currency_id"] + and line["currency_id"] != company_currency.id + ): + total_bal_curr += line["bal_curr"] + line.update({"total_bal_curr": total_bal_curr}) self.write_line_from_dict(line, report_data) # Display ending balance line for account account.update( @@ -251,6 +260,7 @@ class GeneralLedgerXslx(models.AbstractModel): self.write_initial_balance_from_dict(partner, report_data) # Display account move lines + total_bal_curr = 0 for line in partner["move_lines"]: line.update( { @@ -280,6 +290,13 @@ class GeneralLedgerXslx(models.AbstractModel): "tags": tags, } ) + if ( + foreign_currency + and line["currency_id"] + and line["currency_id"] != company_currency.id + ): + total_bal_curr += line["bal_curr"] + line.update({"total_bal_curr": total_bal_curr}) self.write_line_from_dict(line, report_data) # Display ending balance line for partner diff --git a/account_financial_report/report/templates/general_ledger.xml b/account_financial_report/report/templates/general_ledger.xml index 83d78845..69755b47 100644 --- a/account_financial_report/report/templates/general_ledger.xml +++ b/account_financial_report/report/templates/general_ledger.xml @@ -191,8 +191,13 @@
Amount cur.
+ +
Cumul cur.
@@ -320,7 +325,7 @@ -
+
+
-
+
+
+
@@ -576,12 +584,16 @@
+ + -
- +
+ +
+ +
-
+
+ +
@@ -661,7 +685,7 @@ -
+
+
-
+
+
diff --git a/account_financial_report/static/description/index.html b/account_financial_report/static/description/index.html index 49bd40bd..c251b43c 100644 --- a/account_financial_report/static/description/index.html +++ b/account_financial_report/static/description/index.html @@ -3,7 +3,7 @@ - + Account Financial Reports