odoo-addon-account-financial-report 15.0.3.2.2__py3-none-any.whl → 15.0.3.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of odoo-addon-account-financial-report might be problematic. Click here for more details.
- odoo/addons/account_financial_report/README.rst +14 -1
- odoo/addons/account_financial_report/__manifest__.py +5 -1
- odoo/addons/account_financial_report/data/report_column_data.xml +358 -0
- odoo/addons/account_financial_report/i18n/account_financial_report.pot +125 -0
- odoo/addons/account_financial_report/models/__init__.py +1 -0
- odoo/addons/account_financial_report/models/account_financial_report_column.py +17 -0
- odoo/addons/account_financial_report/readme/CONTRIBUTORS.rst +1 -0
- odoo/addons/account_financial_report/readme/DESCRIPTION.rst +3 -0
- odoo/addons/account_financial_report/readme/HISTORY.rst +5 -0
- odoo/addons/account_financial_report/readme/ROADMAP.rst +3 -0
- odoo/addons/account_financial_report/report/abstract_report.py +15 -0
- odoo/addons/account_financial_report/report/aged_partner_balance.py +16 -12
- odoo/addons/account_financial_report/report/general_ledger.py +28 -24
- odoo/addons/account_financial_report/report/journal_ledger.py +27 -22
- odoo/addons/account_financial_report/report/open_items.py +24 -19
- odoo/addons/account_financial_report/report/templates/general_ledger.xml +116 -52
- odoo/addons/account_financial_report/report/templates/journal_ledger.xml +79 -31
- odoo/addons/account_financial_report/report/templates/open_items.xml +65 -24
- odoo/addons/account_financial_report/report/trial_balance.py +29 -25
- odoo/addons/account_financial_report/report/vat_report.py +17 -12
- odoo/addons/account_financial_report/security/ir.model.access.csv +1 -0
- odoo/addons/account_financial_report/static/description/index.html +33 -19
- odoo/addons/account_financial_report/tests/test_aged_partner_balance.py +4 -4
- odoo/addons/account_financial_report/tests/test_general_ledger.py +1 -1
- odoo/addons/account_financial_report/tests/test_journal_ledger.py +5 -5
- odoo/addons/account_financial_report/tests/test_open_items.py +1 -1
- odoo/addons/account_financial_report/tests/test_trial_balance.py +4 -4
- odoo/addons/account_financial_report/tests/test_vat_report.py +1 -1
- odoo/addons/account_financial_report/view/account_financial_report_column_view.xml +46 -0
- odoo/addons/account_financial_report/wizard/abstract_wizard.py +24 -1
- odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard.py +19 -17
- odoo/addons/account_financial_report/wizard/general_ledger_wizard.py +1 -5
- odoo/addons/account_financial_report/wizard/general_ledger_wizard_view.xml +7 -0
- odoo/addons/account_financial_report/wizard/journal_ledger_wizard.py +19 -17
- odoo/addons/account_financial_report/wizard/journal_ledger_wizard_view.xml +48 -32
- odoo/addons/account_financial_report/wizard/open_items_wizard.py +22 -20
- odoo/addons/account_financial_report/wizard/open_items_wizard_view.xml +79 -66
- odoo/addons/account_financial_report/wizard/trial_balance_wizard.py +26 -24
- odoo/addons/account_financial_report/wizard/vat_report_wizard.py +15 -13
- {odoo_addon_account_financial_report-15.0.3.2.2.dist-info → odoo_addon_account_financial_report-15.0.3.3.0.dist-info}/METADATA +16 -3
- {odoo_addon_account_financial_report-15.0.3.2.2.dist-info → odoo_addon_account_financial_report-15.0.3.3.0.dist-info}/RECORD +43 -40
- {odoo_addon_account_financial_report-15.0.3.2.2.dist-info → odoo_addon_account_financial_report-15.0.3.3.0.dist-info}/WHEEL +0 -0
- {odoo_addon_account_financial_report-15.0.3.2.2.dist-info → odoo_addon_account_financial_report-15.0.3.3.0.dist-info}/top_level.txt +0 -0
|
@@ -367,7 +367,7 @@ ul.auto-toc {
|
|
|
367
367
|
!! This file is generated by oca-gen-addon-readme !!
|
|
368
368
|
!! changes will be overwritten. !!
|
|
369
369
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
370
|
-
!! source digest: sha256:
|
|
370
|
+
!! source digest: sha256:19c6a50b17dc525e27768d61a9be0e54bfde38f6cfcb359f3e72d5f7a69fbfc0
|
|
371
371
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
372
372
|
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/account-financial-reporting/tree/15.0/account_financial_report"><img alt="OCA/account-financial-reporting" src="https://img.shields.io/badge/github-OCA%2Faccount--financial--reporting-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/account-financial-reporting-15-0/account-financial-reporting-15-0-account_financial_report"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/account-financial-reporting&target_branch=15.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
373
373
|
<p>This module adds a set of financial reports. They are accessible under
|
|
@@ -380,6 +380,8 @@ Invoicing / Reporting / OCA accounting reports.</p>
|
|
|
380
380
|
<li>VAT Report</li>
|
|
381
381
|
<li>Journal Ledger</li>
|
|
382
382
|
</ul>
|
|
383
|
+
<p>It is possible to select the columns to show and limit the size of some of them from the
|
|
384
|
+
columns page.</p>
|
|
383
385
|
<p>Currently General ledger, Trial Balance and Open Items are fully compatible with a foreign
|
|
384
386
|
currency set up in account in order to display balances. Moreover, any foreign
|
|
385
387
|
currency used in account move lines is properly shown.</p>
|
|
@@ -394,16 +396,17 @@ For further information, check CONFIGURE.rst</p>
|
|
|
394
396
|
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
|
|
395
397
|
<li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-2">Known issues / Roadmap</a></li>
|
|
396
398
|
<li><a class="reference internal" href="#changelog" id="toc-entry-3">Changelog</a><ul>
|
|
397
|
-
<li><a class="reference internal" href="#section-1" id="toc-entry-4">
|
|
398
|
-
<li><a class="reference internal" href="#section-2" id="toc-entry-5">11.0.2.
|
|
399
|
-
<li><a class="reference internal" href="#section-3" id="toc-entry-6">11.0.2.
|
|
399
|
+
<li><a class="reference internal" href="#section-1" id="toc-entry-4">15.0.3.2.3 (2025-02-17)</a></li>
|
|
400
|
+
<li><a class="reference internal" href="#section-2" id="toc-entry-5">11.0.2.5.0 (2019-04-26)</a></li>
|
|
401
|
+
<li><a class="reference internal" href="#section-3" id="toc-entry-6">11.0.2.4.1 (2019-01-08)</a></li>
|
|
402
|
+
<li><a class="reference internal" href="#section-4" id="toc-entry-7">11.0.2.3.1 (2018-11-29)</a></li>
|
|
400
403
|
</ul>
|
|
401
404
|
</li>
|
|
402
|
-
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-
|
|
403
|
-
<li><a class="reference internal" href="#credits" id="toc-entry-
|
|
404
|
-
<li><a class="reference internal" href="#authors" id="toc-entry-
|
|
405
|
-
<li><a class="reference internal" href="#contributors" id="toc-entry-
|
|
406
|
-
<li><a class="reference internal" href="#maintainers" id="toc-entry-
|
|
405
|
+
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-8">Bug Tracker</a></li>
|
|
406
|
+
<li><a class="reference internal" href="#credits" id="toc-entry-9">Credits</a><ul>
|
|
407
|
+
<li><a class="reference internal" href="#authors" id="toc-entry-10">Authors</a></li>
|
|
408
|
+
<li><a class="reference internal" href="#contributors" id="toc-entry-11">Contributors</a></li>
|
|
409
|
+
<li><a class="reference internal" href="#maintainers" id="toc-entry-12">Maintainers</a></li>
|
|
407
410
|
</ul>
|
|
408
411
|
</li>
|
|
409
412
|
</ul>
|
|
@@ -437,26 +440,35 @@ are different.</li>
|
|
|
437
440
|
<li>It would be nice to have in reports a column indicating the
|
|
438
441
|
state of the entries when the option “All Entries” is selected
|
|
439
442
|
in “Target Moves” field in a wizard</li>
|
|
443
|
+
<li>Adapt reports so that the order of the columns displayed is dynamic</li>
|
|
444
|
+
<li>Remove duplicated options to show columns (it has not been made in a stable version so
|
|
445
|
+
as not to generate confusion in users)</li>
|
|
440
446
|
</ul>
|
|
441
447
|
</div>
|
|
442
448
|
<div class="section" id="changelog">
|
|
443
449
|
<h1><a class="toc-backref" href="#toc-entry-3">Changelog</a></h1>
|
|
444
450
|
<div class="section" id="section-1">
|
|
445
|
-
<h2><a class="toc-backref" href="#toc-entry-4">
|
|
451
|
+
<h2><a class="toc-backref" href="#toc-entry-4">15.0.3.2.3 (2025-02-17)</a></h2>
|
|
446
452
|
<ul class="simple">
|
|
447
|
-
<li>
|
|
453
|
+
<li>Added the option to select columns to display and the ability to limit the width of the text</li>
|
|
448
454
|
</ul>
|
|
449
455
|
</div>
|
|
450
456
|
<div class="section" id="section-2">
|
|
451
|
-
<h2><a class="toc-backref" href="#toc-entry-5">11.0.2.
|
|
457
|
+
<h2><a class="toc-backref" href="#toc-entry-5">11.0.2.5.0 (2019-04-26)</a></h2>
|
|
458
|
+
<ul class="simple">
|
|
459
|
+
<li>In the Trial Balance you have an option to hide parent hierarchy levels</li>
|
|
460
|
+
</ul>
|
|
461
|
+
</div>
|
|
462
|
+
<div class="section" id="section-3">
|
|
463
|
+
<h2><a class="toc-backref" href="#toc-entry-6">11.0.2.4.1 (2019-01-08)</a></h2>
|
|
452
464
|
<ul class="simple">
|
|
453
465
|
<li>Handle better multicompany behaviour</li>
|
|
454
466
|
<li>Improve how title appears in the reports</li>
|
|
455
467
|
<li>Improve performance in General Ledger</li>
|
|
456
468
|
</ul>
|
|
457
469
|
</div>
|
|
458
|
-
<div class="section" id="section-
|
|
459
|
-
<h2><a class="toc-backref" href="#toc-entry-
|
|
470
|
+
<div class="section" id="section-4">
|
|
471
|
+
<h2><a class="toc-backref" href="#toc-entry-7">11.0.2.3.1 (2018-11-29)</a></h2>
|
|
460
472
|
<ul class="simple">
|
|
461
473
|
<li>In the Trial Balance you can apply a filter by hierarchy levels</li>
|
|
462
474
|
<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>
|
|
|
465
477
|
</div>
|
|
466
478
|
</div>
|
|
467
479
|
<div class="section" id="bug-tracker">
|
|
468
|
-
<h1><a class="toc-backref" href="#toc-entry-
|
|
480
|
+
<h1><a class="toc-backref" href="#toc-entry-8">Bug Tracker</a></h1>
|
|
469
481
|
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/account-financial-reporting/issues">GitHub Issues</a>.
|
|
470
482
|
In case of trouble, please check there if your issue has already been reported.
|
|
471
483
|
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
|
|
|
473
485
|
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
|
474
486
|
</div>
|
|
475
487
|
<div class="section" id="credits">
|
|
476
|
-
<h1><a class="toc-backref" href="#toc-entry-
|
|
488
|
+
<h1><a class="toc-backref" href="#toc-entry-9">Credits</a></h1>
|
|
477
489
|
<div class="section" id="authors">
|
|
478
|
-
<h2><a class="toc-backref" href="#toc-entry-
|
|
490
|
+
<h2><a class="toc-backref" href="#toc-entry-10">Authors</a></h2>
|
|
479
491
|
<ul class="simple">
|
|
480
492
|
<li>Camptocamp</li>
|
|
481
493
|
<li>initOS GmbH</li>
|
|
482
494
|
<li>redCOR AG</li>
|
|
483
495
|
<li>ForgeFlow</li>
|
|
496
|
+
<li>Tecnativa</li>
|
|
484
497
|
</ul>
|
|
485
498
|
</div>
|
|
486
499
|
<div class="section" id="contributors">
|
|
487
|
-
<h2><a class="toc-backref" href="#toc-entry-
|
|
500
|
+
<h2><a class="toc-backref" href="#toc-entry-11">Contributors</a></h2>
|
|
488
501
|
<ul class="simple">
|
|
489
502
|
<li>Jordi Ballester <<a class="reference external" href="mailto:jordi.ballester@forgeflow.com">jordi.ballester@forgeflow.com</a>></li>
|
|
490
503
|
<li>Yannick Vaucher <<a class="reference external" href="mailto:yannick.vaucher@camptocamp.com">yannick.vaucher@camptocamp.com</a>></li>
|
|
@@ -512,6 +525,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
512
525
|
<li>Alexandre D. Díaz</li>
|
|
513
526
|
<li>Víctor Martínez</li>
|
|
514
527
|
<li>Carolina Fernandez</li>
|
|
528
|
+
<li>Carlos Dauden</li>
|
|
515
529
|
</ul>
|
|
516
530
|
</li>
|
|
517
531
|
<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
|
|
|
527
541
|
April 2016.</p>
|
|
528
542
|
</div>
|
|
529
543
|
<div class="section" id="maintainers">
|
|
530
|
-
<h2><a class="toc-backref" href="#toc-entry-
|
|
544
|
+
<h2><a class="toc-backref" href="#toc-entry-12">Maintainers</a></h2>
|
|
531
545
|
<p>This module is maintained by the OCA.</p>
|
|
532
546
|
<a class="reference external image-reference" href="https://odoo-community.org">
|
|
533
547
|
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
|
|
@@ -67,7 +67,7 @@ class TestAgedPartnerBalance(TransactionCase):
|
|
|
67
67
|
wizard = self.wizard_with_line_details
|
|
68
68
|
|
|
69
69
|
wizard.onchange_type_accounts_only()
|
|
70
|
-
data = wizard.
|
|
70
|
+
data = wizard._prepare_report_data()
|
|
71
71
|
|
|
72
72
|
# Simulate web client behavior:
|
|
73
73
|
# default value is a datetime.date but web client sends back strings
|
|
@@ -83,7 +83,7 @@ class TestAgedPartnerBalance(TransactionCase):
|
|
|
83
83
|
|
|
84
84
|
second_wizard = self.wizard_without_line_details
|
|
85
85
|
second_wizard.onchange_type_accounts_only()
|
|
86
|
-
data = second_wizard.
|
|
86
|
+
data = second_wizard._prepare_report_data()
|
|
87
87
|
|
|
88
88
|
# Simulate web client behavior:
|
|
89
89
|
# default value is a datetime.date but web client sends back strings
|
|
@@ -129,7 +129,7 @@ class TestAgedPartnerBalance(TransactionCase):
|
|
|
129
129
|
wizard.age_partner_config_id = self.account_age_report_config.id
|
|
130
130
|
|
|
131
131
|
wizard.onchange_type_accounts_only()
|
|
132
|
-
data = wizard.
|
|
132
|
+
data = wizard._prepare_report_data()
|
|
133
133
|
|
|
134
134
|
# Simulate web client behavior:
|
|
135
135
|
# default value is a datetime.date but web client sends back strings
|
|
@@ -147,7 +147,7 @@ class TestAgedPartnerBalance(TransactionCase):
|
|
|
147
147
|
second_wizard.age_partner_config_id = self.account_age_report_config.id
|
|
148
148
|
|
|
149
149
|
second_wizard.onchange_type_accounts_only()
|
|
150
|
-
data = second_wizard.
|
|
150
|
+
data = second_wizard._prepare_report_data()
|
|
151
151
|
|
|
152
152
|
# Simulate web client behavior:
|
|
153
153
|
# default value is a datetime.date but web client sends back strings
|
|
@@ -128,7 +128,7 @@ class TestGeneralLedgerReport(AccountTestInvoicingCommon):
|
|
|
128
128
|
"centralize": centralize,
|
|
129
129
|
}
|
|
130
130
|
)
|
|
131
|
-
data = general_ledger.
|
|
131
|
+
data = general_ledger._prepare_report_data()
|
|
132
132
|
res_data = self.env[
|
|
133
133
|
"report.account_financial_report.general_ledger"
|
|
134
134
|
]._get_report_values(general_ledger, data)
|
|
@@ -177,7 +177,7 @@ class TestJournalReport(AccountTestInvoicingCommon):
|
|
|
177
177
|
"move_target": "all",
|
|
178
178
|
}
|
|
179
179
|
)
|
|
180
|
-
data = wiz.
|
|
180
|
+
data = wiz._prepare_report_data()
|
|
181
181
|
res_data = self.JournalLedgerReport._get_report_values(wiz, data)
|
|
182
182
|
self.check_report_journal_debit_credit(res_data, 100, 100)
|
|
183
183
|
|
|
@@ -186,7 +186,7 @@ class TestJournalReport(AccountTestInvoicingCommon):
|
|
|
186
186
|
res_data = self.JournalLedgerReport._get_report_values(wiz, data)
|
|
187
187
|
self.check_report_journal_debit_credit(res_data, 200, 200)
|
|
188
188
|
wiz.move_target = "posted"
|
|
189
|
-
data = wiz.
|
|
189
|
+
data = wiz._prepare_report_data()
|
|
190
190
|
res_data = self.JournalLedgerReport._get_report_values(wiz, data)
|
|
191
191
|
self.check_report_journal_debit_credit(res_data, 0, 0)
|
|
192
192
|
|
|
@@ -203,7 +203,7 @@ class TestJournalReport(AccountTestInvoicingCommon):
|
|
|
203
203
|
self.check_report_journal_debit_credit(res_data, 200, 200)
|
|
204
204
|
|
|
205
205
|
wiz.date_from = self.previous_fy_date_start
|
|
206
|
-
data = wiz.
|
|
206
|
+
data = wiz._prepare_report_data()
|
|
207
207
|
res_data = self.JournalLedgerReport._get_report_values(wiz, data)
|
|
208
208
|
self.check_report_journal_debit_credit(res_data, 300, 300)
|
|
209
209
|
|
|
@@ -238,7 +238,7 @@ class TestJournalReport(AccountTestInvoicingCommon):
|
|
|
238
238
|
"move_target": "all",
|
|
239
239
|
}
|
|
240
240
|
)
|
|
241
|
-
data = wiz.
|
|
241
|
+
data = wiz._prepare_report_data()
|
|
242
242
|
res_data = self.JournalLedgerReport._get_report_values(wiz, data)
|
|
243
243
|
self.check_report_journal_debit_credit(res_data, 250, 250)
|
|
244
244
|
self.check_report_journal_debit_credit_taxes(res_data, 0, 300, 0, 50)
|
|
@@ -276,7 +276,7 @@ class TestJournalReport(AccountTestInvoicingCommon):
|
|
|
276
276
|
"move_target": "all",
|
|
277
277
|
}
|
|
278
278
|
)
|
|
279
|
-
data = wiz.
|
|
279
|
+
data = wiz._prepare_report_data()
|
|
280
280
|
res_data = self.JournalLedgerReport._get_report_values(wiz, data)
|
|
281
281
|
|
|
282
282
|
self.check_report_journal_debit_credit(res_data, 250, 250)
|
|
@@ -199,7 +199,7 @@ class TestTrialBalanceReport(AccountTestInvoicingCommon):
|
|
|
199
199
|
"show_partner_details": with_partners,
|
|
200
200
|
}
|
|
201
201
|
)
|
|
202
|
-
data = trial_balance.
|
|
202
|
+
data = trial_balance._prepare_report_data()
|
|
203
203
|
res_data = self.env[
|
|
204
204
|
"report.account_financial_report.trial_balance"
|
|
205
205
|
]._get_report_values(trial_balance, data)
|
|
@@ -554,7 +554,7 @@ class TestTrialBalanceReport(AccountTestInvoicingCommon):
|
|
|
554
554
|
"fy_start_date": self.fy_date_start,
|
|
555
555
|
}
|
|
556
556
|
)
|
|
557
|
-
data = trial_balance.
|
|
557
|
+
data = trial_balance._prepare_report_data()
|
|
558
558
|
res_data = self.env[
|
|
559
559
|
"report.account_financial_report.trial_balance"
|
|
560
560
|
]._get_report_values(trial_balance, data)
|
|
@@ -607,7 +607,7 @@ class TestTrialBalanceReport(AccountTestInvoicingCommon):
|
|
|
607
607
|
"fy_start_date": self.fy_date_start,
|
|
608
608
|
}
|
|
609
609
|
)
|
|
610
|
-
data = trial_balance.
|
|
610
|
+
data = trial_balance._prepare_report_data()
|
|
611
611
|
res_data = self.env[
|
|
612
612
|
"report.account_financial_report.trial_balance"
|
|
613
613
|
]._get_report_values(trial_balance, data)
|
|
@@ -661,7 +661,7 @@ class TestTrialBalanceReport(AccountTestInvoicingCommon):
|
|
|
661
661
|
"fy_start_date": self.fy_date_start,
|
|
662
662
|
}
|
|
663
663
|
)
|
|
664
|
-
data = trial_balance.
|
|
664
|
+
data = trial_balance._prepare_report_data()
|
|
665
665
|
res_data = self.env[
|
|
666
666
|
"report.account_financial_report.trial_balance"
|
|
667
667
|
]._get_report_values(trial_balance, data)
|
|
@@ -219,7 +219,7 @@ class TestVATReport(AccountTestInvoicingCommon):
|
|
|
219
219
|
"tax_detail": True,
|
|
220
220
|
}
|
|
221
221
|
)
|
|
222
|
-
data = vat_report.
|
|
222
|
+
data = vat_report._prepare_report_data()
|
|
223
223
|
res_data = self.env[
|
|
224
224
|
"report.account_financial_report.vat_report"
|
|
225
225
|
]._get_report_values(vat_report, data)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<odoo>
|
|
3
|
+
<record model="ir.ui.view" id="view_account_financial_report_column_form">
|
|
4
|
+
<field name="name">account.financial.report.column.form.inherit</field>
|
|
5
|
+
<field name="model">account.financial.report.column</field>
|
|
6
|
+
<field name="type">form</field>
|
|
7
|
+
<field name="arch" type="xml">
|
|
8
|
+
<form>
|
|
9
|
+
<sheet>
|
|
10
|
+
<group>
|
|
11
|
+
<field name="name" />
|
|
12
|
+
<field
|
|
13
|
+
name="limit"
|
|
14
|
+
attrs="{'invisible': [('field_type', '!=', 'string')]}"
|
|
15
|
+
/>
|
|
16
|
+
<field name="is_visible" widget="boolean_toggle" />
|
|
17
|
+
</group>
|
|
18
|
+
<group>
|
|
19
|
+
<field name="expression_label" />
|
|
20
|
+
<field name="sequence" />
|
|
21
|
+
<field name="field_type" />
|
|
22
|
+
</group>
|
|
23
|
+
</sheet>
|
|
24
|
+
</form>
|
|
25
|
+
</field>
|
|
26
|
+
</record>
|
|
27
|
+
<record model="ir.ui.view" id="view_account_financial_report_column_tree">
|
|
28
|
+
<field name="name">account.financial.report.column.tree</field>
|
|
29
|
+
<field name="model">account.financial.report.column</field>
|
|
30
|
+
<field name="type">tree</field>
|
|
31
|
+
<field name="arch" type="xml">
|
|
32
|
+
<tree editable="bottom" create="false" delete="false">
|
|
33
|
+
<field name="sequence" widget="handle" />
|
|
34
|
+
<field name="name" readonly="1" />
|
|
35
|
+
<field name="expression_label" readonly="1" optional="hide" />
|
|
36
|
+
<field name="is_visible" widget="boolean_toggle" />
|
|
37
|
+
<field name="field_type" optional="hide" />
|
|
38
|
+
<field
|
|
39
|
+
name="limit"
|
|
40
|
+
attrs="{'invisible': [('field_type', '!=', 'string')]}"
|
|
41
|
+
optional="show"
|
|
42
|
+
/>
|
|
43
|
+
</tree>
|
|
44
|
+
</field>
|
|
45
|
+
</record>
|
|
46
|
+
</odoo>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# Copyright 2019 Lorenzo Battistini @ TAKOBI
|
|
2
|
+
# Copyright 2025 Tecnativa - Carlos Dauden
|
|
2
3
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
3
4
|
|
|
4
|
-
from odoo import fields, models
|
|
5
|
+
from odoo import api, fields, models
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
class AbstractWizard(models.AbstractModel):
|
|
@@ -34,6 +35,19 @@ class AbstractWizard(models.AbstractModel):
|
|
|
34
35
|
required=False,
|
|
35
36
|
string="Company",
|
|
36
37
|
)
|
|
38
|
+
# Hack inverse to force save columns options
|
|
39
|
+
column_ids = fields.Many2many(
|
|
40
|
+
comodel_name="account.financial.report.column",
|
|
41
|
+
compute="_compute_column_ids",
|
|
42
|
+
inverse=lambda self: self,
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
@api.depends("company_id")
|
|
46
|
+
def _compute_column_ids(self):
|
|
47
|
+
for wiz in self:
|
|
48
|
+
wiz.column_ids = self.env["account.financial.report.column"].search(
|
|
49
|
+
[("res_model", "=", wiz._name)]
|
|
50
|
+
)
|
|
37
51
|
|
|
38
52
|
def button_export_html(self):
|
|
39
53
|
self.ensure_one()
|
|
@@ -49,3 +63,12 @@ class AbstractWizard(models.AbstractModel):
|
|
|
49
63
|
self.ensure_one()
|
|
50
64
|
report_type = "xlsx"
|
|
51
65
|
return self._export(report_type)
|
|
66
|
+
|
|
67
|
+
def _limit_text(self, value, limit=0):
|
|
68
|
+
if value and limit and len(value) > limit:
|
|
69
|
+
value = value[:limit] + "..."
|
|
70
|
+
return value
|
|
71
|
+
|
|
72
|
+
def _prepare_report_data(self):
|
|
73
|
+
self.ensure_one()
|
|
74
|
+
return {"wizard_name": self._name, "wizard_id": self.id}
|
|
@@ -139,7 +139,7 @@ class AgedPartnerBalanceWizard(models.TransientModel):
|
|
|
139
139
|
|
|
140
140
|
def _print_report(self, report_type):
|
|
141
141
|
self.ensure_one()
|
|
142
|
-
data = self.
|
|
142
|
+
data = self._prepare_report_data()
|
|
143
143
|
if report_type == "xlsx":
|
|
144
144
|
report_name = "a_f_r.report_aged_partner_balance_xlsx"
|
|
145
145
|
else:
|
|
@@ -153,22 +153,24 @@ class AgedPartnerBalanceWizard(models.TransientModel):
|
|
|
153
153
|
.report_action(self, data=data)
|
|
154
154
|
)
|
|
155
155
|
|
|
156
|
-
def
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
156
|
+
def _prepare_report_data(self):
|
|
157
|
+
res = super()._prepare_report_data()
|
|
158
|
+
res.update(
|
|
159
|
+
{
|
|
160
|
+
"date_at": self.date_at,
|
|
161
|
+
"date_from": self.date_from or False,
|
|
162
|
+
"only_posted_moves": self.target_move == "posted",
|
|
163
|
+
"company_id": self.company_id.id,
|
|
164
|
+
"account_ids": self.account_ids.ids,
|
|
165
|
+
"partner_ids": self.partner_ids.ids,
|
|
166
|
+
"show_move_line_details": self.show_move_line_details,
|
|
167
|
+
"account_financial_report_lang": self.env.lang,
|
|
168
|
+
"age_partner_config_id": self.age_partner_config_id.id,
|
|
169
|
+
"analytic_account_ids": self.analytic_account_ids.ids or [],
|
|
170
|
+
"no_analytic": self.no_analytic,
|
|
171
|
+
}
|
|
172
|
+
)
|
|
173
|
+
return res
|
|
172
174
|
|
|
173
175
|
def _export(self, report_type):
|
|
174
176
|
"""Default export is PDF."""
|
|
@@ -272,7 +272,7 @@ class GeneralLedgerReportWizard(models.TransientModel):
|
|
|
272
272
|
|
|
273
273
|
def _print_report(self, report_type):
|
|
274
274
|
self.ensure_one()
|
|
275
|
-
data = self.
|
|
275
|
+
data = self._prepare_report_data()
|
|
276
276
|
if report_type == "xlsx":
|
|
277
277
|
report_name = "a_f_r.report_general_ledger_xlsx"
|
|
278
278
|
else:
|
|
@@ -286,10 +286,6 @@ class GeneralLedgerReportWizard(models.TransientModel):
|
|
|
286
286
|
.report_action(self, data=data)
|
|
287
287
|
)
|
|
288
288
|
|
|
289
|
-
def _prepare_report_general_ledger(self):
|
|
290
|
-
self.ensure_one()
|
|
291
|
-
return {"wizard_id": self.id}
|
|
292
|
-
|
|
293
289
|
def _export(self, report_type):
|
|
294
290
|
"""Default export is PDF."""
|
|
295
291
|
return self._print_report(report_type)
|
|
@@ -102,6 +102,13 @@
|
|
|
102
102
|
context="{'skip_search_count': 1}"
|
|
103
103
|
/>
|
|
104
104
|
</page>
|
|
105
|
+
<page name="columns" string="Columns">
|
|
106
|
+
<field
|
|
107
|
+
name="column_ids"
|
|
108
|
+
context="{'default_res_name': 'general.ledger.report.wizard'}"
|
|
109
|
+
widget="one2many"
|
|
110
|
+
/>
|
|
111
|
+
</page>
|
|
105
112
|
</notebook>
|
|
106
113
|
</div>
|
|
107
114
|
<div
|
|
@@ -75,7 +75,7 @@ class JournalLedgerReportWizard(models.TransientModel):
|
|
|
75
75
|
|
|
76
76
|
def _print_report(self, report_type):
|
|
77
77
|
self.ensure_one()
|
|
78
|
-
data = self.
|
|
78
|
+
data = self._prepare_report_data()
|
|
79
79
|
if report_type == "xlsx":
|
|
80
80
|
report_name = "a_f_r.report_journal_ledger_xlsx"
|
|
81
81
|
else:
|
|
@@ -89,28 +89,30 @@ class JournalLedgerReportWizard(models.TransientModel):
|
|
|
89
89
|
.report_action(self, data=data)
|
|
90
90
|
)
|
|
91
91
|
|
|
92
|
-
def
|
|
93
|
-
|
|
92
|
+
def _prepare_report_data(self):
|
|
93
|
+
res = super()._prepare_report_data()
|
|
94
94
|
journals = self.journal_ids
|
|
95
95
|
if not journals:
|
|
96
96
|
# Not selecting a journal means that we'll display all journals
|
|
97
97
|
journals = self.env["account.journal"].search(
|
|
98
98
|
[("company_id", "=", self.company_id.id)]
|
|
99
99
|
)
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
100
|
+
res.update(
|
|
101
|
+
{
|
|
102
|
+
"date_from": self.date_from,
|
|
103
|
+
"date_to": self.date_to,
|
|
104
|
+
"move_target": self.move_target,
|
|
105
|
+
"foreign_currency": self.foreign_currency,
|
|
106
|
+
"company_id": self.company_id.id,
|
|
107
|
+
"journal_ids": journals.ids,
|
|
108
|
+
"sort_option": self.sort_option,
|
|
109
|
+
"group_option": self.group_option,
|
|
110
|
+
"with_account_name": self.with_account_name,
|
|
111
|
+
"account_financial_report_lang": self.env.lang,
|
|
112
|
+
"with_auto_sequence": self.with_auto_sequence,
|
|
113
|
+
}
|
|
114
|
+
)
|
|
115
|
+
return res
|
|
114
116
|
|
|
115
117
|
def _export(self, report_type):
|
|
116
118
|
"""Default export is PDF."""
|
|
@@ -7,38 +7,54 @@
|
|
|
7
7
|
<field name="model">journal.ledger.report.wizard</field>
|
|
8
8
|
<field name="arch" type="xml">
|
|
9
9
|
<form>
|
|
10
|
-
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
10
|
+
<sheet>
|
|
11
|
+
<notebook>
|
|
12
|
+
<page string="Filters">
|
|
13
|
+
<group>
|
|
14
|
+
<field
|
|
15
|
+
name="company_id"
|
|
16
|
+
groups="base.group_multi_company"
|
|
17
|
+
/>
|
|
18
|
+
</group>
|
|
19
|
+
<separator string="Periods" />
|
|
20
|
+
<group>
|
|
21
|
+
<group>
|
|
22
|
+
<field name="date_range_id" />
|
|
23
|
+
<field name="date_from" />
|
|
24
|
+
<field name="date_to" />
|
|
25
|
+
</group>
|
|
26
|
+
<group />
|
|
27
|
+
</group>
|
|
28
|
+
<separator string="Options" />
|
|
29
|
+
<group name="options">
|
|
30
|
+
<group>
|
|
31
|
+
<field
|
|
32
|
+
name="move_target"
|
|
33
|
+
widget="radio"
|
|
34
|
+
options="{'horizontal': true}"
|
|
35
|
+
/>
|
|
36
|
+
<field name="sort_option" />
|
|
37
|
+
<field name="group_option" />
|
|
38
|
+
<field name="foreign_currency" />
|
|
39
|
+
<field name="with_account_name" />
|
|
40
|
+
<field name="with_auto_sequence" />
|
|
41
|
+
</group>
|
|
42
|
+
<group />
|
|
43
|
+
</group>
|
|
44
|
+
<separator string="Journals" />
|
|
45
|
+
<group>
|
|
46
|
+
<field name="journal_ids" widget="many2many_tags" />
|
|
47
|
+
</group>
|
|
48
|
+
</page>
|
|
49
|
+
<page string="Columns">
|
|
50
|
+
<field
|
|
51
|
+
name="column_ids"
|
|
52
|
+
context="{'default_res_name': 'journal.ledger.report.wizard'}"
|
|
53
|
+
widget="one2many"
|
|
54
|
+
/>
|
|
55
|
+
</page>
|
|
56
|
+
</notebook>
|
|
57
|
+
</sheet>
|
|
42
58
|
<footer>
|
|
43
59
|
<button
|
|
44
60
|
name="button_export_html"
|