[IMP] account_financial_report: Add limit option in columns. Improve reports

pull/1281/head
Carlos Dauden 2025-02-07 21:47:16 +01:00
parent 656d242c9c
commit 0126124712
19 changed files with 741 additions and 217 deletions

View File

@ -38,6 +38,9 @@ Invoicing / Reporting / OCA accounting reports.
- VAT Report
- Journal Ledger
It is possible to select the columns to show and limit the size of some of them from the
columns page.
Currently General ledger, Trial Balance and Open Items are fully compatible with a foreign
currency set up in account in order to display balances. Moreover, any foreign
currency used in account move lines is properly shown.
@ -94,10 +97,18 @@ Known issues / Roadmap
* It would be nice to have in reports a column indicating the
state of the entries when the option "All Entries" is selected
in "Target Moves" field in a wizard
* Adapt reports so that the order of the columns displayed is dynamic
* Remove duplicated options to show columns (it has not been made in a stable version so
as not to generate confusion in users)
Changelog
=========
15.0.3.2.3 (2025-02-17)
~~~~~~~~~~~~~~~~~~~~~~~
* Added the option to select columns to display and the ability to limit the width of the text
11.0.2.5.0 (2019-04-26)
~~~~~~~~~~~~~~~~~~~~~~~
@ -138,6 +149,7 @@ Authors
* initOS GmbH
* redCOR AG
* ForgeFlow
* Tecnativa
Contributors
~~~~~~~~~~~~
@ -169,6 +181,7 @@ Contributors
* Alexandre D. Díaz
* Víctor Martínez
* Carolina Fernandez
* Carlos Dauden
* `Sygel <https://www.sygel.es>`__:

View File

@ -3,6 +3,7 @@
# Copyright 2016 Camptocamp SA
# Copyright 2020 ForgeFlow S.L. (https://www.forgeflow.com)
# Copyright 2021 Tecnativa - João Marques
# Copyright 2025 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Account Financial Reports",
@ -13,6 +14,7 @@
"initOS GmbH,"
"redCOR AG,"
"ForgeFlow,"
"Tecnativa,"
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/account-financial-reporting",
"depends": ["account", "date_range", "report_xlsx"],
@ -37,6 +39,7 @@
"report/templates/trial_balance.xml",
"report/templates/vat_report.xml",
"view/account_view.xml",
"view/account_financial_report_column_view.xml",
"view/report_general_ledger.xml",
"view/report_journal_ledger.xml",
"view/report_trial_balance.xml",

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<odoo noupdate="1">
<!-- GENERAL LEDGER columns -->
<record
id="general_ledger_report_wizard_column_date"
model="account.financial.report.column"
@ -69,6 +70,8 @@
<field name="name">Ref - Label</field>
<field name="expression_label">ref_label</field>
<field name="is_visible" eval="True" />
<field name="field_type">string</field>
<field name="limit">40</field>
</record>
<record
id="general_ledger_report_wizard_column_cost_center"
@ -76,7 +79,7 @@
>
<field name="res_model">general.ledger.report.wizard</field>
<field name="sequence">80</field>
<field name="name">Cost center</field>
<field name="name">Analytic account</field>
<field name="expression_label">cost_center</field>
<field name="is_visible" eval="True" />
</record>
@ -141,4 +144,215 @@
<field name="is_visible" eval="True" />
</record>
<!-- OPEN ITEMS columns -->
<record
id="open_items_report_wizard_column_date"
model="account.financial.report.column"
>
<field name="res_model">open.items.report.wizard</field>
<field name="sequence">10</field>
<field name="name">Date</field>
<field name="expression_label">date</field>
<field name="is_visible" eval="True" />
</record>
<record
id="open_items_report_wizard_column_entry"
model="account.financial.report.column"
>
<field name="res_model">open.items.report.wizard</field>
<field name="sequence">20</field>
<field name="name">Entry</field>
<field name="expression_label">entry</field>
<field name="is_visible" eval="True" />
</record>
<record
id="open_items_report_wizard_column_journal"
model="account.financial.report.column"
>
<field name="res_model">open.items.report.wizard</field>
<field name="sequence">30</field>
<field name="name">Journal</field>
<field name="expression_label">journal</field>
<field name="is_visible" eval="True" />
</record>
<record
id="open_items_report_wizard_column_account_code"
model="account.financial.report.column"
>
<field name="res_model">open.items.report.wizard</field>
<field name="sequence">40</field>
<field name="name">Account code</field>
<field name="expression_label">account_code</field>
<field name="is_visible" eval="True" />
</record>
<record
id="open_items_report_wizard_column_partner"
model="account.financial.report.column"
>
<field name="res_model">open.items.report.wizard</field>
<field name="sequence">50</field>
<field name="name">Partner</field>
<field name="expression_label">partner</field>
<field name="is_visible" eval="True" />
</record>
<record
id="open_items_report_wizard_column_ref_label"
model="account.financial.report.column"
>
<field name="res_model">open.items.report.wizard</field>
<field name="sequence">60</field>
<field name="name">Ref - Label</field>
<field name="expression_label">ref_label</field>
<field name="is_visible" eval="True" />
<field name="field_type">string</field>
<field name="limit">40</field>
</record>
<record
id="open_items_report_wizard_column_date_due"
model="account.financial.report.column"
>
<field name="res_model">open.items.report.wizard</field>
<field name="sequence">70</field>
<field name="name">Date due</field>
<field name="expression_label">date_due</field>
<field name="is_visible" eval="True" />
</record>
<record
id="open_items_report_wizard_column_original"
model="account.financial.report.column"
>
<field name="res_model">open.items.report.wizard</field>
<field name="sequence">80</field>
<field name="name">Original</field>
<field name="expression_label">original</field>
<field name="is_visible" eval="True" />
</record>
<record
id="open_items_report_wizard_column_residual"
model="account.financial.report.column"
>
<field name="res_model">open.items.report.wizard</field>
<field name="sequence">90</field>
<field name="name">Residual</field>
<field name="expression_label">residual</field>
<field name="is_visible" eval="True" />
</record>
<record
id="open_items_report_wizard_column_foreign_currency"
model="account.financial.report.column"
>
<field name="res_model">open.items.report.wizard</field>
<field name="sequence">100</field>
<field name="name">Foreign currency</field>
<field name="expression_label">foreign_currency</field>
<field name="is_visible" eval="True" />
</record>
<!-- JOURNAL LEDGER columns -->
<record
id="journal_ledger_report_wizard_column_sequence"
model="account.financial.report.column"
>
<field name="res_model">journal.ledger.report.wizard</field>
<field name="sequence">5</field>
<field name="name">Sequence</field>
<field name="expression_label">sequence</field>
<field name="is_visible" eval="True" />
</record>
<record
id="journal_ledger_report_wizard_column_entry"
model="account.financial.report.column"
>
<field name="res_model">journal.ledger.report.wizard</field>
<field name="sequence">10</field>
<field name="name">Entry</field>
<field name="expression_label">entry</field>
<field name="is_visible" eval="True" />
</record>
<record
id="journal_ledger_report_wizard_column_date"
model="account.financial.report.column"
>
<field name="res_model">journal.ledger.report.wizard</field>
<field name="sequence">20</field>
<field name="name">Date</field>
<field name="expression_label">date</field>
<field name="is_visible" eval="True" />
</record>
<record
id="journal_ledger_report_wizard_column_account_code"
model="account.financial.report.column"
>
<field name="res_model">journal.ledger.report.wizard</field>
<field name="sequence">30</field>
<field name="name">Account code</field>
<field name="expression_label">account_code</field>
<field name="is_visible" eval="True" />
</record>
<record
id="journal_ledger_report_wizard_column_account_name"
model="account.financial.report.column"
>
<field name="res_model">journal.ledger.report.wizard</field>
<field name="sequence">40</field>
<field name="name">Account name</field>
<field name="expression_label">account_name</field>
<field name="is_visible" eval="True" />
<field name="field_type">string</field>
<field name="limit">20</field>
</record>
<record
id="journal_ledger_report_wizard_column_partner"
model="account.financial.report.column"
>
<field name="res_model">journal.ledger.report.wizard</field>
<field name="sequence">50</field>
<field name="name">Partner</field>
<field name="expression_label">partner</field>
<field name="is_visible" eval="True" />
</record>
<record
id="journal_ledger_report_wizard_column_ref_label"
model="account.financial.report.column"
>
<field name="res_model">journal.ledger.report.wizard</field>
<field name="sequence">60</field>
<field name="name">Label</field>
<field name="expression_label">label</field>
<field name="is_visible" eval="True" />
<field name="field_type">string</field>
<field name="limit">40</field>
</record>
<record
id="journal_ledger_report_wizard_column_debit"
model="account.financial.report.column"
>
<field name="res_model">journal.ledger.report.wizard</field>
<field name="sequence">70</field>
<field name="name">Debit</field>
<field name="expression_label">debit</field>
<field name="is_visible" eval="True" />
</record>
<record
id="journal_ledger_report_wizard_column_credit"
model="account.financial.report.column"
>
<field name="res_model">journal.ledger.report.wizard</field>
<field name="sequence">80</field>
<field name="name">Credit</field>
<field name="expression_label">credit</field>
<field name="is_visible" eval="True" />
</record>
<record
id="journal_ledger_report_wizard_column_foreign_currency"
model="account.financial.report.column"
>
<field name="res_model">journal.ledger.report.wizard</field>
<field name="sequence">100</field>
<field name="name">Foreign currency</field>
<field name="expression_label">foreign_currency</field>
<field name="is_visible" eval="True" />
</record>
</odoo>

View File

@ -6,6 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-11 10:45+0000\n"
"PO-Revision-Date: 2025-02-11 10:45+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@ -141,6 +143,18 @@ msgstr ""
msgid "Account balance at 0 filter"
msgstr ""
#. module: account_financial_report
#: model:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_account_code
#: model:account.financial.report.column,name:account_financial_report.journal_ledger_report_wizard_column_account_code
#: model:account.financial.report.column,name:account_financial_report.open_items_report_wizard_column_account_code
msgid "Account code"
msgstr ""
#. module: account_financial_report
#: model:account.financial.report.column,name:account_financial_report.journal_ledger_report_wizard_column_account_name
msgid "Account name"
msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_group__account_ids
msgid "Accounts"
@ -339,6 +353,17 @@ msgid "Analytic Account"
msgstr ""
#. module: account_financial_report
#: model:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_cost_center
msgid "Analytic account"
msgstr ""
#. module: account_financial_report
#: model:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_analytic_tags
msgid "Analytic tags"
msgstr ""
#. module: account_financial_report
#: model:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_balance
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_all_taxes
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_taxes
msgid "Balance"
@ -416,6 +441,24 @@ msgstr ""
msgid "Code"
msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_abstract_wizard__column_ids
#: model:ir.model.fields,field_description:account_financial_report.field_aged_partner_balance_report_wizard__column_ids
#: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__column_ids
#: model:ir.model.fields,field_description:account_financial_report.field_journal_ledger_report_wizard__column_ids
#: model:ir.model.fields,field_description:account_financial_report.field_open_items_report_wizard__column_ids
#: model:ir.model.fields,field_description:account_financial_report.field_trial_balance_report_wizard__column_ids
#: model:ir.model.fields,field_description:account_financial_report.field_vat_report_wizard__column_ids
msgid "Column"
msgstr ""
#. module: account_financial_report
#: model_terms:ir.ui.view,arch_db:account_financial_report.general_ledger_wizard
#: model_terms:ir.ui.view,arch_db:account_financial_report.journal_ledger_wizard
#: model_terms:ir.ui.view,arch_db:account_financial_report.open_items_wizard
msgid "Columns"
msgstr ""
#. module: account_financial_report
#: code:addons/account_financial_report/report/journal_ledger_xlsx.py:0
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration__company_id
@ -435,11 +478,6 @@ msgstr ""
msgid "Compute accounts"
msgstr ""
#. module: account_financial_report
#: model:ir.model,name:account_financial_report.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: account_financial_report
#: model_terms:ir.ui.view,arch_db:account_financial_report.res_config_settings_view_form
msgid "Configurations"
@ -448,6 +486,7 @@ msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration__create_uid
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration_line__create_uid
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__create_uid
#: model:ir.model.fields,field_description:account_financial_report.field_aged_partner_balance_report_wizard__create_uid
#: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__create_uid
#: model:ir.model.fields,field_description:account_financial_report.field_journal_ledger_report_wizard__create_uid
@ -460,6 +499,7 @@ msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration__create_date
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration_line__create_date
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__create_date
#: model:ir.model.fields,field_description:account_financial_report.field_aged_partner_balance_report_wizard__create_date
#: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__create_date
#: model:ir.model.fields,field_description:account_financial_report.field_journal_ledger_report_wizard__create_date
@ -474,6 +514,8 @@ msgstr ""
#: code:addons/account_financial_report/report/journal_ledger_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:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_credit
#: model:account.financial.report.column,name:account_financial_report.journal_ledger_report_wizard_column_credit
#: 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_all_taxes
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_table_header
@ -539,6 +581,9 @@ msgstr ""
#: code:addons/account_financial_report/report/journal_ledger_xlsx.py:0
#: code:addons/account_financial_report/report/open_items_xlsx.py:0
#: code:addons/account_financial_report/wizard/journal_ledger_wizard.py:0
#: model:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_date
#: model:account.financial.report.column,name:account_financial_report.journal_ledger_report_wizard_column_date
#: model:account.financial.report.column,name:account_financial_report.open_items_report_wizard_column_date
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_aged_partner_balance_move_lines
#: 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
@ -578,6 +623,11 @@ msgstr ""
msgid "Date at filter"
msgstr ""
#. module: account_financial_report
#: model:account.financial.report.column,name:account_financial_report.open_items_report_wizard_column_date_due
msgid "Date due"
msgstr ""
#. module: account_financial_report
#: code:addons/account_financial_report/report/vat_report_xlsx.py:0
#, python-format
@ -613,6 +663,8 @@ msgstr ""
#: code:addons/account_financial_report/report/journal_ledger_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:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_debit
#: model:account.financial.report.column,name:account_financial_report.journal_ledger_report_wizard_column_debit
#: 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_all_taxes
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_table_header
@ -638,6 +690,7 @@ msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration__display_name
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration_line__display_name
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__display_name
#: model:ir.model.fields,field_description:account_financial_report.field_aged_partner_balance_report_wizard__display_name
#: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__display_name
#: model:ir.model.fields,field_description:account_financial_report.field_journal_ledger_report_wizard__display_name
@ -740,6 +793,9 @@ msgstr ""
#: code:addons/account_financial_report/report/general_ledger_xlsx.py:0
#: code:addons/account_financial_report/report/journal_ledger_xlsx.py:0
#: code:addons/account_financial_report/report/open_items_xlsx.py:0
#: model:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_entry
#: model:account.financial.report.column,name:account_financial_report.journal_ledger_report_wizard_column_entry
#: model:account.financial.report.column,name:account_financial_report.open_items_report_wizard_column_entry
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_aged_partner_balance_move_lines
#: 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
@ -782,6 +838,16 @@ msgstr ""
msgid "Export XLSX"
msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__expression_label
msgid "Expression Label"
msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__field_type
msgid "Field Type"
msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_aged_partner_balance_report_wizard__account_ids
#: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__account_ids
@ -823,11 +889,24 @@ msgstr ""
msgid "Filter partners"
msgstr ""
#. module: account_financial_report
#: model_terms:ir.ui.view,arch_db:account_financial_report.journal_ledger_wizard
#: model_terms:ir.ui.view,arch_db:account_financial_report.open_items_wizard
msgid "Filters"
msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_journal_ledger_report_wizard__foreign_currency
msgid "Foreign Currency"
msgstr ""
#. module: account_financial_report
#: model:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_foreign_currency
#: model:account.financial.report.column,name:account_financial_report.journal_ledger_report_wizard_column_foreign_currency
#: model:account.financial.report.column,name:account_financial_report.open_items_report_wizard_column_foreign_currency
msgid "Foreign currency"
msgstr ""
#. module: account_financial_report
#: model_terms:ir.ui.view,arch_db:account_financial_report.aged_partner_balance_wizard
#: model_terms:ir.ui.view,arch_db:account_financial_report.general_ledger_wizard
@ -957,6 +1036,7 @@ msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration__id
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration_line__id
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__id
#: model:ir.model.fields,field_description:account_financial_report.field_aged_partner_balance_report_wizard__id
#: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__id
#: model:ir.model.fields,field_description:account_financial_report.field_journal_ledger_report_wizard__id
@ -1020,6 +1100,8 @@ msgstr ""
#: 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/wizard/journal_ledger_wizard.py:0
#: model:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_journal
#: model:account.financial.report.column,name:account_financial_report.open_items_report_wizard_column_journal
#: model:ir.model.fields,field_description:account_financial_report.field_trial_balance_report_wizard__journal_ids
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_aged_partner_balance_move_lines
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines
@ -1080,9 +1162,15 @@ msgstr ""
msgid "Journals"
msgstr ""
#. module: account_financial_report
#: model:account.financial.report.column,name:account_financial_report.journal_ledger_report_wizard_column_ref_label
msgid "Label"
msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration____last_update
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration_line____last_update
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column____last_update
#: model:ir.model.fields,field_description:account_financial_report.field_aged_partner_balance_report_wizard____last_update
#: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard____last_update
#: model:ir.model.fields,field_description:account_financial_report.field_journal_ledger_report_wizard____last_update
@ -1095,6 +1183,7 @@ msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration__write_uid
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration_line__write_uid
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__write_uid
#: model:ir.model.fields,field_description:account_financial_report.field_aged_partner_balance_report_wizard__write_uid
#: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__write_uid
#: model:ir.model.fields,field_description:account_financial_report.field_journal_ledger_report_wizard__write_uid
@ -1107,6 +1196,7 @@ msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration__write_date
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration_line__write_date
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__write_date
#: model:ir.model.fields,field_description:account_financial_report.field_aged_partner_balance_report_wizard__write_date
#: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__write_date
#: model:ir.model.fields,field_description:account_financial_report.field_journal_ledger_report_wizard__write_date
@ -1128,6 +1218,11 @@ msgstr ""
msgid "Level %s"
msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__limit
msgid "Limit"
msgstr ""
#. module: account_financial_report
#: code:addons/account_financial_report/report/trial_balance_xlsx.py:0
#: model:ir.model.fields,field_description:account_financial_report.field_trial_balance_report_wizard__limit_hierarchy_level
@ -1141,6 +1236,16 @@ msgstr ""
msgid "Line"
msgstr ""
#. module: account_financial_report
#: model:ir.model,name:account_financial_report.model_account_financial_report_column
msgid "Manage column options in financial reports"
msgstr ""
#. module: account_financial_report
#: model:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_matching_number
msgid "Matching number"
msgstr ""
#. module: account_financial_report
#: code:addons/account_financial_report/report/general_ledger.py:0
#: code:addons/account_financial_report/report/general_ledger.py:0
@ -1190,6 +1295,7 @@ msgstr ""
#: code:addons/account_financial_report/report/vat_report_xlsx.py:0
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration__name
#: model:ir.model.fields,field_description:account_financial_report.field_account_age_report_configuration_line__name
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__name
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_all_taxes
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_taxes
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_vat_report_base
@ -1333,6 +1439,7 @@ msgstr ""
#. module: account_financial_report
#: code:addons/account_financial_report/report/open_items_xlsx.py:0
#: model:account.financial.report.column,name:account_financial_report.open_items_report_wizard_column_original
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_open_items_lines_header
#, python-format
msgid "Original"
@ -1345,6 +1452,9 @@ msgstr ""
#: code:addons/account_financial_report/report/journal_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:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_partner
#: model:account.financial.report.column,name:account_financial_report.journal_ledger_report_wizard_column_partner
#: model:account.financial.report.column,name:account_financial_report.open_items_report_wizard_column_partner
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_aged_partner_balance_lines_header
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_aged_partner_balance_move_lines
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines
@ -1439,6 +1549,11 @@ msgstr ""
msgid "Print"
msgstr ""
#. module: account_financial_report
#: model:ir.model,name:account_financial_report.model_res_config_settings
msgid "Procurement purchase grouping settings"
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
@ -1474,6 +1589,8 @@ msgstr ""
#: code:addons/account_financial_report/report/general_ledger_xlsx.py:0
#: code:addons/account_financial_report/report/journal_ledger_xlsx.py:0
#: code:addons/account_financial_report/report/open_items_xlsx.py:0
#: model:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_ref_label
#: model:account.financial.report.column,name:account_financial_report.open_items_report_wizard_column_ref_label
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_table_header
#, python-format
msgid "Ref - Label"
@ -1484,10 +1601,16 @@ msgstr ""
msgid "Report Action"
msgstr ""
#. module: account_financial_report
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__res_model
msgid "Res Model"
msgstr ""
#. module: account_financial_report
#: code:addons/account_financial_report/report/aged_partner_balance_xlsx.py:0
#: code:addons/account_financial_report/report/aged_partner_balance_xlsx.py:0
#: code:addons/account_financial_report/report/open_items_xlsx.py:0
#: model:account.financial.report.column,name:account_financial_report.open_items_report_wizard_column_residual
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_aged_partner_balance_lines_header
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_aged_partner_balance_move_lines
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_open_items_lines_header
@ -1497,6 +1620,8 @@ msgstr ""
#. module: account_financial_report
#: code:addons/account_financial_report/report/journal_ledger_xlsx.py:0
#: model:account.financial.report.column,name:account_financial_report.journal_ledger_report_wizard_column_sequence
#: model:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__sequence
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_table_header
#, python-format
msgid "Sequence"
@ -1506,6 +1631,7 @@ msgstr ""
#: 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:ir.model.fields,field_description:account_financial_report.field_account_financial_report_column__is_visible
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_filters
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_open_items_filters
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_trial_balance_filters
@ -1687,6 +1813,7 @@ msgstr ""
#. module: account_financial_report
#: code:addons/account_financial_report/report/general_ledger_xlsx.py:0
#: code:addons/account_financial_report/report/journal_ledger_xlsx.py:0
#: model:account.financial.report.column,name:account_financial_report.general_ledger_report_wizard_column_taxes
#: model:ir.model.fields.selection,name:account_financial_report.selection__general_ledger_report_wizard__grouped_by__taxes
#: 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

View File

@ -1,4 +1,4 @@
# Copyright 2021 Tecnativa - Carlos Dauden
# Copyright 2025 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models
@ -10,7 +10,8 @@ class AccountFinancialReportColumn(models.Model):
res_model = fields.Char()
sequence = fields.Integer()
name = fields.Char(required=True)
name = fields.Char(required=True, translate=True)
expression_label = fields.Char(required=True)
is_visible = fields.Boolean(default=True)
# user_id = fields.Many2one(comodel_name="res.users")
is_visible = fields.Boolean(string="Show", default=True)
field_type = fields.Char()
limit = fields.Integer()

View File

@ -25,6 +25,7 @@
* Alexandre D. Díaz
* Víctor Martínez
* Carolina Fernandez
* Carlos Dauden
* `Sygel <https://www.sygel.es>`__:

View File

@ -8,6 +8,9 @@ Invoicing / Reporting / OCA accounting reports.
- VAT Report
- Journal Ledger
It is possible to select the columns to show and limit the size of some of them from the
columns page.
Currently General ledger, Trial Balance and Open Items are fully compatible with a foreign
currency set up in account in order to display balances. Moreover, any foreign
currency used in account move lines is properly shown.

View File

@ -1,3 +1,8 @@
15.0.3.2.3 (2025-02-17)
~~~~~~~~~~~~~~~~~~~~~~~
* Added the option to select columns to display and the ability to limit the width of the text
11.0.2.5.0 (2019-04-26)
~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -5,3 +5,6 @@
* It would be nice to have in reports a column indicating the
state of the entries when the option "All Entries" is selected
in "Target Moves" field in a wizard
* Adapt reports so that the order of the columns displayed is dynamic
* Remove duplicated options to show columns (it has not been made in a stable version so
as not to generate confusion in users)

View File

@ -1,4 +1,5 @@
# Copyright 2020 ForgeFlow S.L. (https://www.forgeflow.com)
# Copyright 2025 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, models
@ -164,5 +165,13 @@ class AgedPartnerBalanceReport(models.AbstractModel):
def _get_report_values(self, docids, data):
wizard = self.env[data["wizard_name"]].browse(data["wizard_id"])
res = {f"{c.expression_label}_visible": c.is_visible for c in wizard.column_ids}
res.update(
{
f"{c.expression_label}_limit": c.limit
for c in wizard.column_ids
if c.field_type == "string"
}
)
# Pass function to be called in report
res["limit_text"] = wizard._limit_text
return res

View File

@ -514,14 +514,14 @@
view-type="form"
>
<t
t-out="limit_text(line['ref_label'], 'label_text_limit')"
t-out="limit_text(line['ref_label'], ref_label_limit)"
/>
</span>
</t>
<t t-else="">
<span>
<t
t-out="limit_text(line['ref_label'], 'label_text_limit')"
t-out="limit_text(line['ref_label'], ref_label_limit)"
/>
</span>
</t>

View File

@ -119,7 +119,7 @@
</t>
<div class="act_as_thead">
<div class="act_as_row labels">
<t t-if="with_auto_sequence">
<t t-if="with_auto_sequence and sequence_visible">
<div
class="act_as_cell first_column"
name="entry"
@ -129,6 +129,7 @@
</div>
</t>
<div
t-if="entry_visible"
t-att-class="'act_as_cell' if with_auto_sequence else 'act_as_cell first_column'"
class="act_as_cell"
name="entry"
@ -136,26 +137,57 @@
>
Entry
</div>
<div class="act_as_cell" name="date" style="width: 5.41%;">Date</div>
<div
t-if="date_visible"
class="act_as_cell"
name="date"
style="width: 5.41%;"
>Date</div>
<div
t-if="account_code_visible or account_name_visible"
class="act_as_cell"
name="account"
t-att-style="account_column_style"
>
Account
</div>
<div class="act_as_cell" name="partner" style="width: 15.14%;">
<div
t-if="partner_visible"
class="act_as_cell"
name="partner"
style="width: 15.14%;"
>
Partner
</div>
<div class="act_as_cell" name="label" t-att-style="label_column_style">
<div
t-if="label_visible"
class="act_as_cell"
name="label"
t-att-style="label_column_style"
>
Ref - Label
</div>
<div class="act_as_cell" name="taxes" style="width: 7.57%;">Taxes</div>
<div class="act_as_cell" name="debit" style="width: 8.65%;">Debit</div>
<div class="act_as_cell" name="credit" style="width: 8.65%;">
<div
t-if="taxes_visible"
class="act_as_cell"
name="taxes"
style="width: 7.57%;"
>Taxes</div>
<div
t-if="debit_visible"
class="act_as_cell"
name="debit"
style="width: 8.65%;"
>Debit</div>
<div
t-if="credit_visible"
class="act_as_cell"
name="credit"
style="width: 8.65%;"
>
Credit
</div>
<t t-if="display_currency">
<t t-if="display_currency and foreing_currency_visible">
<div class="act_as_cell" name="currency_name" style="width: 2.16%;">
Cur.
</div>
@ -172,16 +204,20 @@
</template>
<template id="account_financial_report.report_journal_ledger_journal_first_line">
<div class="act_as_row lines">
<t t-if="with_auto_sequence">
<t t-if="with_auto_sequence and sequence_visible">
<div class="act_as_cell" name="Sequence" />
</t>
<div class="act_as_cell" name="entry" />
<div class="act_as_cell" name="date" />
<div class="act_as_cell" name="account" />
<div class="act_as_cell" name="partner" />
<div class="act_as_cell" name="label" />
<div class="act_as_cell" name="taxes" />
<div class="act_as_cell amount" name="debit">
<div t-if="entry_visible" class="act_as_cell" name="entry" />
<div t-if="date_visible" class="act_as_cell" name="date" />
<div
t-if="account_code_visible or account_name_visible"
class="act_as_cell"
name="account"
/>
<div t-if="partner_visible" class="act_as_cell" name="partner" />
<div t-if="label_visible" class="act_as_cell" name="label" />
<div t-if="taxes_visible" class="act_as_cell" name="taxes" />
<div t-if="debit_visible" class="act_as_cell amount" name="debit">
<b>
<span
t-esc="journal['debit']"
@ -189,7 +225,7 @@
/>
</b>
</div>
<div class="act_as_cell amount" name="credit">
<div t-if="credit_visible" class="act_as_cell amount" name="credit">
<b>
<span
t-esc="journal['credit']"
@ -197,7 +233,7 @@
/>
</b>
</div>
<t t-if="display_currency">
<t t-if="display_currency and foreign_currency_visible">
<div class="act_as_cell" name="currency_name">
</div>
@ -226,10 +262,14 @@
</t>
</template>
<template id="account_financial_report.report_journal_move_line">
<div class="act_as_cell left" name="auto_sequence" t-if="with_auto_sequence">
<div
class="act_as_cell left"
name="auto_sequence"
t-if="with_auto_sequence and sequence_visible"
>
<span t-if="display_move_info" t-esc="move_line['auto_sequence']" />
</div>
<div class="act_as_cell left" name="entry">
<div t-if="entry_visible" class="act_as_cell left" name="entry">
<t t-if="display_move_info">
<span
t-att-res-id="move_line['move_id']"
@ -242,38 +282,43 @@
</span>
</t>
</div>
<div class="act_as_cell left" name="date">
<div t-if="date_visible" class="act_as_cell left" name="date">
<span
t-if="display_move_info"
t-esc="move_line['date']"
t-options="{'widget': 'date'}"
/>
</div>
<div class="act_as_cell left" name="account">
<div
t-if="account_code_visible or account_name_visible"
class="act_as_cell left"
name="account"
>
<span
t-if="account_code_visible"
t-esc="o._get_atr_from_dict(move_line['account_id'], account_ids_data, 'code')"
/>
<span t-if="display_account_name">
<span t-if="display_account_name and account_name_visible">
-
<span
t-esc="o._get_atr_from_dict(move_line['account_id'], account_ids_data, 'name')"
t-esc="limit_text(o._get_atr_from_dict(move_line['account_id'], account_ids_data, 'name'), account_name_limit)"
/>
</span>
</div>
<div class="act_as_cell left" name="partner">
<div t-if="partner_visible" class="act_as_cell left" name="partner">
<span
t-if="display_partner"
t-esc="o._get_partner_name(move_line['partner_id'], partner_ids_data)"
/>
</div>
<div class="act_as_cell left" name="label">
<div t-if="label_visible" class="act_as_cell left" name="label">
<span
t-if="move_line['label']"
t-esc="limit_text(move_line['label'], 'label_text_limit')"
t-esc="limit_text(move_line['label'], label_limit)"
/>
<span t-if="not move_line['label']">/</span>
</div>
<div class="act_as_cell left" name="taxes">
<div t-if="taxes_visible" class="act_as_cell left" name="taxes">
<t
t-set="tax_line_dat"
t-value="o._get_data_from_dict(move_line['tax_line_id'], tax_line_data)"
@ -286,7 +331,7 @@
t-esc="o._get_ml_tax_description(move_line, tax_line_dat, move_line_ids_taxes_dat)"
/>
</div>
<div class="act_as_cell amount" name="debit">
<div t-if="debit_visible" class="act_as_cell amount" name="debit">
<t t-if="move_line['debit']">
<span
t-esc="move_line['debit']"
@ -294,7 +339,7 @@
/>
</t>
</div>
<div class="act_as_cell amount" name="credit">
<div t-if="credit_visible" class="act_as_cell amount" name="credit">
<t t-if="move_line['credit']">
<span
t-esc="move_line['credit']"
@ -302,7 +347,7 @@
/>
</t>
</div>
<t t-if="display_currency">
<t t-if="display_currency and foreign_currency_visible">
<div class="act_as_cell" name="currency_name">
<t t-if="move_line['currency_id']">
<span t-esc="currency_ids_data.get(move_line['currency_id'], '')" />

View File

@ -238,47 +238,88 @@
<div class="act_as_thead">
<div class="act_as_row labels">
<!--## date-->
<div class="act_as_cell first_column" style="width: 5.51%;">Date</div>
<div
t-if="date_visible"
class="act_as_cell first_column"
style="width: 5.51%;"
>Date</div>
<!--## move-->
<div class="act_as_cell" style="width: 9.76%;">Entry</div>
<div
t-if="entry_visible"
class="act_as_cell"
style="width: 9.76%;"
>Entry</div>
<!--## journal-->
<div class="act_as_cell" style="width: 4.78%;">Journal</div>
<div
t-if="journal_visible"
class="act_as_cell"
style="width: 4.78%;"
>Journal</div>
<!--## account code-->
<div class="act_as_cell" style="width: 5.38%;">Account</div>
<div
t-if="account_code_visible"
class="act_as_cell"
style="width: 5.38%;"
>Account</div>
<t t-if="analytic_account_ids">
<!--## partner-->
<div class="act_as_cell" style="width: 13.19%;">Partner</div>
<div
t-if="partner_visible"
class="act_as_cell"
style="width: 13.19%;"
>Partner</div>
<!--## analytic_account-->
<div
t-if="analytic_account_visible"
class="act_as_cell"
style="width: 13.19%;"
>Analytic Account</div>
<!--## ref - label-->
<div class="act_as_cell" style="width: 13.19%;">
<div
t-if="ref_label_visible"
class="act_as_cell"
style="width: 13.19%;"
>
Ref -
Label
</div>
</t>
<t t-else="">
<!--## partner-->
<div class="act_as_cell" style="width: 15.07%;">Partner</div>
<div
t-if="partner_visible"
class="act_as_cell"
style="width: 15.07%;"
>Partner</div>
<!--## ref - label-->
<div class="act_as_cell" style="width: 24.5%;">
<div
t-if="ref_label_visible"
class="act_as_cell"
style="width: 24.5%;"
>
Ref -
Label
</div>
</t>
<!--## date_due-->
<div class="act_as_cell" style="width: 6.47%;">
<div t-if="date_due_visible" class="act_as_cell" style="width: 6.47%;">
Due
date
</div>
<!--## amount_total_due-->
<div class="act_as_cell" style="width: 6.57%;">Original</div>
<div
t-if="original_visible"
class="act_as_cell"
style="width: 6.57%;"
>Original</div>
<!--## amount_residual-->
<div class="act_as_cell" style="width: 6.57%;">Residual</div>
<t t-if="foreign_currency">
<div
t-if="residual_visible"
class="act_as_cell"
style="width: 6.57%;"
>Residual</div>
<t t-if="foreign_currency and foreign_currency_visible">
<!--## currency_name-->
<div class="act_as_cell" style="width: 2.25%;">Cur.</div>
<!--## amount_total_due_currency-->
@ -297,11 +338,11 @@
<!-- # lines or centralized lines -->
<div class="act_as_row lines">
<!--## date-->
<div class="act_as_cell left">
<div t-if="date_visible" class="act_as_cell left">
<span t-raw="line['date'].strftime('%d/%m/%Y')" />
</div>
<!--## move-->
<div class="act_as_cell left">
<div t-if="entry_visible" class="act_as_cell left">
<span
t-att-res-id="line['entry_id']"
res-model="account.move"
@ -311,7 +352,7 @@
</span>
</div>
<!--## journal-->
<div class="act_as_cell left">
<div t-if="journal_visible" class="act_as_cell left">
<span
t-att-res-id="journals_data[line['journal_id']]['id']"
res-model="account.journal"
@ -321,7 +362,7 @@
</span>
</div>
<!--## account code-->
<div class="act_as_cell left">
<div t-if="account_code_visible" class="act_as_cell left">
<span
t-att-res-id="accounts_data[account_id]['id']"
res-model="account.account"
@ -331,7 +372,7 @@
</span>
</div>
<!--## partner-->
<div class="act_as_cell left">
<div t-if="partner_visible" class="act_as_cell left">
<span
t-if="line.get('partner_id', False)"
t-att-res-id="line['partner_id']"
@ -356,15 +397,15 @@
</div>
</t>
<!--## ref - label-->
<div class="act_as_cell left">
<span t-esc="limit_text(line['ref_label'], 'label_text_limit')" />
<div t-if="ref_label_visible" class="act_as_cell left">
<span t-esc="limit_text(line['ref_label'], ref_label_limit)" />
</div>
<!--## date_due-->
<div class="act_as_cell left">
<div t-if="date_due_visible" class="act_as_cell left">
<span t-esc="line['date_maturity']" />
</div>
<!--## amount_total_due-->
<div class="act_as_cell amount">
<div t-if="original_visible" class="act_as_cell amount">
<span
t-if="line.get('original', False)"
t-esc="line['original']"
@ -372,13 +413,13 @@
/>
</div>
<!--## amount_residual-->
<div class="act_as_cell amount">
<div t-if="residual_visible" class="act_as_cell amount">
<span
t-esc="line['amount_residual']"
t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
/>
</div>
<t t-if="foreign_currency">
<t t-if="foreign_currency and foreign_currency_visible">
<t t-if="line['currency_id']">
<!--## currency_name-->
<div class="act_as_cell amount">
@ -472,7 +513,7 @@
</t>
</div>
<!--## amount_total_due_currency + amount_residual_currency -->
<t t-if="foreign_currency">
<t t-if="foreign_currency and foreign_currency_visible">
<!--## currency_name-->
<div class="act_as_cell" />
<!--## amount_total_due_currency-->

View File

@ -380,6 +380,8 @@ Invoicing / Reporting / OCA accounting reports.</p>
<li>VAT Report</li>
<li>Journal Ledger</li>
</ul>
<p>It is possible to select the columns to show and limit the size of some of them from the
columns page.</p>
<p>Currently General ledger, Trial Balance and Open Items are fully compatible with a foreign
currency set up in account in order to display balances. Moreover, any foreign
currency used in account move lines is properly shown.</p>
@ -394,16 +396,17 @@ For further information, check CONFIGURE.rst</p>
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
<li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-2">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#changelog" id="toc-entry-3">Changelog</a><ul>
<li><a class="reference internal" href="#section-1" id="toc-entry-4">11.0.2.5.0 (2019-04-26)</a></li>
<li><a class="reference internal" href="#section-2" id="toc-entry-5">11.0.2.4.1 (2019-01-08)</a></li>
<li><a class="reference internal" href="#section-3" id="toc-entry-6">11.0.2.3.1 (2018-11-29)</a></li>
<li><a class="reference internal" href="#section-1" id="toc-entry-4">15.0.3.2.3 (2025-02-17)</a></li>
<li><a class="reference internal" href="#section-2" id="toc-entry-5">11.0.2.5.0 (2019-04-26)</a></li>
<li><a class="reference internal" href="#section-3" id="toc-entry-6">11.0.2.4.1 (2019-01-08)</a></li>
<li><a class="reference internal" href="#section-4" id="toc-entry-7">11.0.2.3.1 (2018-11-29)</a></li>
</ul>
</li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-7">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-8">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-9">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-10">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-11">Maintainers</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-8">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-9">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-10">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-11">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-12">Maintainers</a></li>
</ul>
</li>
</ul>
@ -437,26 +440,35 @@ are different.</li>
<li>It would be nice to have in reports a column indicating the
state of the entries when the option “All Entries” is selected
in “Target Moves” field in a wizard</li>
<li>Adapt reports so that the order of the columns displayed is dynamic</li>
<li>Remove duplicated options to show columns (it has not been made in a stable version so
as not to generate confusion in users)</li>
</ul>
</div>
<div class="section" id="changelog">
<h1><a class="toc-backref" href="#toc-entry-3">Changelog</a></h1>
<div class="section" id="section-1">
<h2><a class="toc-backref" href="#toc-entry-4">11.0.2.5.0 (2019-04-26)</a></h2>
<h2><a class="toc-backref" href="#toc-entry-4">15.0.3.2.3 (2025-02-17)</a></h2>
<ul class="simple">
<li>Added the option to select columns to display and the ability to limit the width of the text</li>
</ul>
</div>
<div class="section" id="section-2">
<h2><a class="toc-backref" href="#toc-entry-5">11.0.2.5.0 (2019-04-26)</a></h2>
<ul class="simple">
<li>In the Trial Balance you have an option to hide parent hierarchy levels</li>
</ul>
</div>
<div class="section" id="section-2">
<h2><a class="toc-backref" href="#toc-entry-5">11.0.2.4.1 (2019-01-08)</a></h2>
<div class="section" id="section-3">
<h2><a class="toc-backref" href="#toc-entry-6">11.0.2.4.1 (2019-01-08)</a></h2>
<ul class="simple">
<li>Handle better multicompany behaviour</li>
<li>Improve how title appears in the reports</li>
<li>Improve performance in General Ledger</li>
</ul>
</div>
<div class="section" id="section-3">
<h2><a class="toc-backref" href="#toc-entry-6">11.0.2.3.1 (2018-11-29)</a></h2>
<div class="section" id="section-4">
<h2><a class="toc-backref" href="#toc-entry-7">11.0.2.3.1 (2018-11-29)</a></h2>
<ul class="simple">
<li>In the Trial Balance you can apply a filter by hierarchy levels</li>
<li>In the General Ledger you can apply a filter by Analytic Tag</li>
@ -465,7 +477,7 @@ in “Target Moves” field in a wizard</li>
</div>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-7">Bug Tracker</a></h1>
<h1><a class="toc-backref" href="#toc-entry-8">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/account-financial-reporting/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
@ -473,18 +485,19 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-8">Credits</a></h1>
<h1><a class="toc-backref" href="#toc-entry-9">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-9">Authors</a></h2>
<h2><a class="toc-backref" href="#toc-entry-10">Authors</a></h2>
<ul class="simple">
<li>Camptocamp</li>
<li>initOS GmbH</li>
<li>redCOR AG</li>
<li>ForgeFlow</li>
<li>Tecnativa</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-10">Contributors</a></h2>
<h2><a class="toc-backref" href="#toc-entry-11">Contributors</a></h2>
<ul class="simple">
<li>Jordi Ballester &lt;<a class="reference external" href="mailto:jordi.ballester&#64;forgeflow.com">jordi.ballester&#64;forgeflow.com</a>&gt;</li>
<li>Yannick Vaucher &lt;<a class="reference external" href="mailto:yannick.vaucher&#64;camptocamp.com">yannick.vaucher&#64;camptocamp.com</a>&gt;</li>
@ -512,6 +525,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
<li>Alexandre D. Díaz</li>
<li>Víctor Martínez</li>
<li>Carolina Fernandez</li>
<li>Carlos Dauden</li>
</ul>
</li>
<li><a class="reference external" href="https://www.sygel.es">Sygel</a>:<ul>
@ -527,7 +541,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
April 2016.</p>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-11">Maintainers</a></h2>
<h2><a class="toc-backref" href="#toc-entry-12">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record model="ir.ui.view" id="view_account_financial_report_column_form">
<field name="name">account.financial.report.column.form.inherit</field>
<field name="model">account.financial.report.column</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="name" />
<field
name="limit"
attrs="{'invisible': [('field_type', '!=', 'string')]}"
/>
<field name="is_visible" widget="boolean_toggle" />
</group>
<group>
<field name="expression_label" />
<field name="sequence" />
<field name="field_type" />
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="view_account_financial_report_column_tree">
<field name="name">account.financial.report.column.tree</field>
<field name="model">account.financial.report.column</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree editable="bottom" create="false" delete="false">
<field name="sequence" widget="handle" />
<field name="name" readonly="1" />
<field name="expression_label" readonly="1" optional="hide" />
<field name="is_visible" widget="boolean_toggle" />
<field name="field_type" optional="hide" />
<field
name="limit"
attrs="{'invisible': [('field_type', '!=', 'string')]}"
optional="show"
/>
</tree>
</field>
</record>
</odoo>

View File

@ -1,4 +1,5 @@
# Copyright 2019 Lorenzo Battistini @ TAKOBI
# Copyright 2025 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
@ -34,7 +35,6 @@ class AbstractWizard(models.AbstractModel):
required=False,
string="Company",
)
label_text_limit = fields.Integer(default=40)
# Hack inverse to force save columns options
column_ids = fields.Many2many(
comodel_name="account.financial.report.column",
@ -51,24 +51,20 @@ class AbstractWizard(models.AbstractModel):
def button_export_html(self):
self.ensure_one()
self._set_default_wizard_values()
report_type = "qweb-html"
return self._export(report_type)
def button_export_pdf(self):
self.ensure_one()
self._set_default_wizard_values()
report_type = "qweb-pdf"
return self._export(report_type)
def button_export_xlsx(self):
self.ensure_one()
self._set_default_wizard_values()
report_type = "xlsx"
return self._export(report_type)
def _limit_text(self, value, limit_field="label_text_limit"):
limit = self[limit_field]
def _limit_text(self, value, limit=0):
if value and limit and len(value) > limit:
value = value[:limit] + "..."
return value
@ -76,12 +72,3 @@ class AbstractWizard(models.AbstractModel):
def _prepare_report_data(self):
self.ensure_one()
return {"wizard_name": self._name, "wizard_id": self.id}
def _set_default_wizard_values(self):
self.env["ir.default"].set(
self._name,
"label_text_limit",
self.label_text_limit,
user_id=False,
company_id=True,
)

View File

@ -102,27 +102,12 @@
context="{'skip_search_count': 1}"
/>
</page>
<page name="format" string="Format">
<group>
<field name="label_text_limit" />
</group>
</page>
<page name="columns" string="Columns">
<field
name="column_ids"
context="{'default_res_name': 'general.ledger.report.wizard'}"
widget="one2many"
>
<tree>
<field name="name" readonly="1" />
<field
name="expression_label"
optional="hide"
readonly="1"
/>
<field name="is_visible" widget="boolean_toggle" />
</tree>
</field>
/>
</page>
</notebook>
</div>

View File

@ -7,39 +7,54 @@
<field name="model">journal.ledger.report.wizard</field>
<field name="arch" type="xml">
<form>
<group>
<field name="company_id" groups="base.group_multi_company" />
</group>
<separator string="Periods" />
<group>
<group>
<field name="date_range_id" />
<field name="date_from" />
<field name="date_to" />
</group>
<group />
</group>
<separator string="Options" />
<group name="options">
<group>
<field
name="move_target"
widget="radio"
options="{'horizontal': true}"
/>
<field name="sort_option" />
<field name="group_option" />
<field name="foreign_currency" />
<field name="with_account_name" />
<field name="with_auto_sequence" />
<field name="label_text_limit" />
</group>
<group />
</group>
<separator string="Journals" />
<group>
<field name="journal_ids" widget="many2many_tags" />
</group>
<sheet>
<notebook>
<page string="Filters">
<group>
<field
name="company_id"
groups="base.group_multi_company"
/>
</group>
<separator string="Periods" />
<group>
<group>
<field name="date_range_id" />
<field name="date_from" />
<field name="date_to" />
</group>
<group />
</group>
<separator string="Options" />
<group name="options">
<group>
<field
name="move_target"
widget="radio"
options="{'horizontal': true}"
/>
<field name="sort_option" />
<field name="group_option" />
<field name="foreign_currency" />
<field name="with_account_name" />
<field name="with_auto_sequence" />
</group>
<group />
</group>
<separator string="Journals" />
<group>
<field name="journal_ids" widget="many2many_tags" />
</group>
</page>
<page string="Columns">
<field
name="column_ids"
context="{'default_res_name': 'journal.ledger.report.wizard'}"
widget="one2many"
/>
</page>
</notebook>
</sheet>
<footer>
<button
name="button_export_html"

View File

@ -6,75 +6,87 @@
<field name="model">open.items.report.wizard</field>
<field name="arch" type="xml">
<form>
<group name="main_info">
<field
name="company_id"
options="{'no_create': True}"
groups="base.group_multi_company"
/>
</group>
<group name="filters">
<group name="date_range">
<field name="date_at" />
<field name="date_from" />
</group>
<group name="other_filters">
<field name="target_move" widget="radio" />
<field name="show_partner_details" />
<field name="grouped_by" />
<field name="hide_account_at_0" />
<field name="foreign_currency" />
<field name="label_text_limit" />
</group>
</group>
<group name="partner_filter" col="1">
<label for="partner_ids" />
<field
name="partner_ids"
nolabel="1"
widget="many2many_tags"
options="{'no_create': True}"
/>
</group>
<group name="account_filter" col="4">
<field name="receivable_accounts_only" />
<field name="payable_accounts_only" />
<label for="account_code_from" string="From Code" />
<div>
<div class="o_row">
<sheet>
<notebook>
<page string="Filters">
<group name="main_info">
<field
name="company_id"
options="{'no_create': True}"
groups="base.group_multi_company"
/>
</group>
<group name="filters">
<group name="date_range">
<field name="date_at" />
<field name="date_from" />
</group>
<group name="other_filters">
<field name="target_move" widget="radio" />
<field name="show_partner_details" />
<field name="grouped_by" />
<field name="hide_account_at_0" />
<field name="foreign_currency" />
</group>
</group>
<group name="partner_filter" col="1">
<label for="partner_ids" />
<field
name="partner_ids"
nolabel="1"
widget="many2many_tags"
options="{'no_create': True}"
/>
</group>
<group name="account_filter" col="4">
<field name="receivable_accounts_only" />
<field name="payable_accounts_only" />
<label for="account_code_from" string="From Code" />
<div>
<div class="o_row">
<field
name="account_code_from"
class="oe_inline"
options="{'no_create': True}"
/>
<span class="oe_inline">To</span>
<field
name="account_code_to"
class="oe_inline"
options="{'no_create': True}"
/>
</div>
</div>
<field
name="account_ids"
nolabel="1"
widget="many2many_tags"
options="{'no_create': True}"
colspan="4"
/>
</group>
<group
name="Filter analytic accounts"
groups="analytic.group_analytic_accounting"
>
<field
name="analytic_account_ids"
widget="many2many_tags"
options="{'no_create': True}"
/>
<field name="no_analytic" />
<field name="all_analytic" />
</group>
</page>
<page string="Columns">
<field
name="account_code_from"
class="oe_inline"
options="{'no_create': True}"
name="column_ids"
context="{'default_res_name': 'open.items.report.wizard'}"
widget="one2many"
/>
<span class="oe_inline">To</span>
<field
name="account_code_to"
class="oe_inline"
options="{'no_create': True}"
/>
</div>
</div>
<field
name="account_ids"
nolabel="1"
widget="many2many_tags"
options="{'no_create': True}"
colspan="4"
/>
</group>
<group
name="Filter analytic accounts"
groups="analytic.group_analytic_accounting"
>
<field
name="analytic_account_ids"
widget="many2many_tags"
options="{'no_create': True}"
/>
<field name="no_analytic" />
<field name="all_analytic" />
</group>
</page>
</notebook>
</sheet>
<footer>
<button
name="button_export_html"