odoo-addon-account-financial-report 18.0.1.0.5__py3-none-any.whl → 18.0.1.0.7__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.

@@ -7,7 +7,7 @@ Account Financial Reports
7
7
  !! This file is generated by oca-gen-addon-readme !!
8
8
  !! changes will be overwritten. !!
9
9
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10
- !! source digest: sha256:cb628456fefe33b0fd81a9140719a400a6f9a0de213d34a1083731f50cc47694
10
+ !! source digest: sha256:42327a8d7db1b05b4f1444e071f89af4ba0c9f461f4645e699a1918740a01d86
11
11
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
12
 
13
13
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -6,7 +6,7 @@
6
6
  # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
7
7
  {
8
8
  "name": "Account Financial Reports",
9
- "version": "18.0.1.0.5",
9
+ "version": "18.0.1.0.7",
10
10
  "category": "Reporting",
11
11
  "summary": "OCA Financial Reports",
12
12
  "author": "Camptocamp,"
@@ -1631,6 +1631,14 @@ msgstr ""
1631
1631
  msgid "The hierarchy level to filter on must be greater than 0."
1632
1632
  msgstr ""
1633
1633
 
1634
+ #. module: account_financial_report
1635
+ #. odoo-python
1636
+ #: code:addons/account_financial_report/report/trial_balance.py:0
1637
+ msgid ""
1638
+ "There is a problem in the structure of the account groups. You may need to "
1639
+ "create some child group of %s."
1640
+ msgstr ""
1641
+
1634
1642
  #. module: account_financial_report
1635
1643
  #: model:ir.model.fields,help:account_financial_report.field_general_ledger_report_wizard__domain
1636
1644
  msgid "This domain will be used to select specific domain for Journal Items"
@@ -3,6 +3,7 @@
3
3
 
4
4
  import itertools
5
5
  import operator
6
+ from collections import defaultdict
6
7
 
7
8
  from odoo import models
8
9
 
@@ -181,13 +182,23 @@ class JournalLedgerReport(models.AbstractModel):
181
182
  return {"move_line_ids": tuple(move_lines.ids)}
182
183
 
183
184
  def _get_move_lines(self, move_ids, wizard, journal_ids):
184
- move_lines = self.env["account.move.line"].search(
185
- self._get_move_lines_domain(move_ids, wizard, journal_ids),
186
- order=self._get_move_lines_order(move_ids, wizard, journal_ids),
185
+ move_lines = (
186
+ self.env["account.move.line"]
187
+ .with_context(prefetch_fields=False)
188
+ .search(
189
+ self._get_move_lines_domain(move_ids, wizard, journal_ids),
190
+ order=self._get_move_lines_order(move_ids, wizard, journal_ids),
191
+ )
187
192
  )
188
- move_lines_exigible = self.env["account.move.line"].search(
189
- self._get_move_lines_domain(move_ids, wizard, journal_ids)
190
- + self.env["account.move.line"]._get_tax_exigible_domain(),
193
+ # Get the exigible move lines ids instead of the recordset to increase
194
+ # performance with a large number of journal items
195
+ move_lines_exigible_ids = set(
196
+ self.env["account.move.line"]
197
+ .search(
198
+ self._get_move_lines_domain(move_ids, wizard, journal_ids)
199
+ + self.env["account.move.line"]._get_tax_exigible_domain(),
200
+ )
201
+ .ids
191
202
  )
192
203
  move_line_ids_taxes_data = {}
193
204
  if move_lines:
@@ -209,36 +220,24 @@ class JournalLedgerReport(models.AbstractModel):
209
220
  "description": tax_description,
210
221
  }
211
222
  Move_Lines = {}
212
- accounts = self.env["account.account"]
213
- partners = self.env["res.partner"]
214
- currencies = self.env["res.currency"]
215
- tax_lines = self.env["account.tax"]
216
223
  auto_sequence = len(move_ids)
224
+ Move_Lines = defaultdict(list)
217
225
  for ml in move_lines:
218
- if ml.account_id not in accounts:
219
- accounts |= ml.account_id
220
- if ml.partner_id not in partners:
221
- partners |= ml.partner_id
222
- if ml.currency_id not in currencies:
223
- currencies |= ml.currency_id
224
- if ml.tax_line_id not in tax_lines:
225
- tax_lines |= ml.tax_line_id
226
- if ml.move_id.id not in Move_Lines.keys():
227
- Move_Lines[ml.move_id.id] = []
226
+ move_id = ml.move_id.id
227
+ if move_id not in Move_Lines:
228
228
  auto_sequence -= 1
229
- taxes = (
230
- ml.id in move_line_ids_taxes_data.keys()
231
- and move_line_ids_taxes_data[ml.id]
232
- or {}
233
- )
234
- exigible = ml in move_lines_exigible
235
- Move_Lines[ml.move_id.id].append(
229
+ taxes = move_line_ids_taxes_data.get(ml.id, {})
230
+ # Check the exigibility of the move line by id
231
+ # this way we avoid the recreation of the recordset which affects to the
232
+ # performance in the case of a large number of journal items
233
+ exigible = ml.id in move_lines_exigible_ids
234
+ Move_Lines[move_id].append(
236
235
  self._get_move_lines_data(ml, wizard, taxes, auto_sequence, exigible)
237
236
  )
238
- account_ids_data = self._get_account_data(accounts)
239
- partner_ids_data = self._get_partner_data(partners)
240
- currency_ids_data = self._get_currency_data(currencies)
241
- tax_line_ids_data = self._get_tax_line_data(tax_lines)
237
+ account_ids_data = self._get_account_data(move_lines.account_id)
238
+ partner_ids_data = self._get_partner_data(move_lines.partner_id)
239
+ currency_ids_data = self._get_currency_data(move_lines.currency_id)
240
+ tax_line_ids_data = self._get_tax_line_data(move_lines.tax_line_id)
242
241
  return (
243
242
  move_lines.ids,
244
243
  Move_Lines,
@@ -5,6 +5,7 @@
5
5
 
6
6
 
7
7
  from odoo import _, api, models
8
+ from odoo.exceptions import UserError
8
9
  from odoo.tools.float_utils import float_is_zero
9
10
 
10
11
 
@@ -687,8 +688,26 @@ class TrialBalanceReport(models.AbstractModel):
687
688
  return trial_balance, total_amount_grouped
688
689
 
689
690
  def _get_hierarchy_groups(self, group_ids, groups_data, foreign_currency):
690
- for group_id in group_ids:
691
+ processed_groups = []
692
+ # Sort groups so that parent groups are processed before child groups
693
+ groups = (
694
+ self.env["account.group"]
695
+ .browse(group_ids)
696
+ .sorted(key=lambda x: x.complete_code)
697
+ )
698
+ for group in groups:
699
+ group_id = group.id
691
700
  parent_id = groups_data[group_id]["parent_id"]
701
+ if group_id in processed_groups:
702
+ raise UserError(
703
+ _(
704
+ "There is a problem in the structure of the account groups. "
705
+ "You may need to create some child group of %s."
706
+ )
707
+ % groups_data[group_id]["name"]
708
+ )
709
+ else:
710
+ processed_groups.append(parent_id)
692
711
  while parent_id:
693
712
  if parent_id not in groups_data.keys():
694
713
  group = self.env["account.group"].browse(parent_id)
@@ -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:cb628456fefe33b0fd81a9140719a400a6f9a0de213d34a1083731f50cc47694
370
+ !! source digest: sha256:42327a8d7db1b05b4f1444e071f89af4ba0c9f461f4645e699a1918740a01d86
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/18.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-18-0/account-financial-reporting-18-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&amp;target_branch=18.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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-account_financial_report
3
- Version: 18.0.1.0.5
3
+ Version: 18.0.1.0.7
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: odoo-addon-date_range==18.0.*
6
6
  Requires-Dist: odoo-addon-report_xlsx==18.0.*
@@ -24,7 +24,7 @@ Account Financial Reports
24
24
  !! This file is generated by oca-gen-addon-readme !!
25
25
  !! changes will be overwritten. !!
26
26
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27
- !! source digest: sha256:cb628456fefe33b0fd81a9140719a400a6f9a0de213d34a1083731f50cc47694
27
+ !! source digest: sha256:42327a8d7db1b05b4f1444e071f89af4ba0c9f461f4645e699a1918740a01d86
28
28
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
29
29
 
30
30
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -1,9 +1,9 @@
1
- odoo/addons/account_financial_report/README.rst,sha256=8mcg39u67M8GXvZ16LXqc7Z8w9lW2PNBeQiMCRhCFho,7037
1
+ odoo/addons/account_financial_report/README.rst,sha256=hWG2Q27nXQoaDQGwc4WFprVJNCDGoBXa3HX7jB2cuvY,7037
2
2
  odoo/addons/account_financial_report/__init__.py,sha256=YoL8hk5QxSifbFJL7gPzpOSk-3zB1OSHJBXyZK25G6Q,187
3
- odoo/addons/account_financial_report/__manifest__.py,sha256=PEHw-_xHtd6an86LykEZx2-33lRx5iRcmm3TEXnJAck,2119
3
+ odoo/addons/account_financial_report/__manifest__.py,sha256=gRv6PaJ-MUoukAWDL_jOaumzm1XdFvv_QDcpurUcT5o,2119
4
4
  odoo/addons/account_financial_report/menuitems.xml,sha256=k20N6cNRlDsnPhc378MVs7jwzJhbbJQ2k-P3WdsmF_M,1206
5
5
  odoo/addons/account_financial_report/reports.xml,sha256=c2KamS250rNzHUInjNwC0G2dhwiIqtYgbked51PtmVw,9254
6
- odoo/addons/account_financial_report/i18n/account_financial_report.pot,sha256=0OSpF-whWjhVRJKbwm5VZEPpGdq60pYqU9JxrgyEcjs,79628
6
+ odoo/addons/account_financial_report/i18n/account_financial_report.pot,sha256=un4L5D5x2DSppFigS60CTcOHOcEZB_OQ6TtP7Y8vNe4,79876
7
7
  odoo/addons/account_financial_report/i18n/ar.po,sha256=m2y_8WfgUOy3rWF0L7bFL7H3wpamb1h4V3zv0U_90lU,89559
8
8
  odoo/addons/account_financial_report/i18n/ca.po,sha256=y2AVVo891j8F6lJimF1Ah7KRuxqO37Z3SLHMroR4Hvw,86358
9
9
  odoo/addons/account_financial_report/i18n/de.po,sha256=02q90RIBmDHmyyFN_wjQXRltteW9tTjty725TiqfWtE,92246
@@ -43,11 +43,11 @@ odoo/addons/account_financial_report/report/aged_partner_balance.py,sha256=Nsdz7
43
43
  odoo/addons/account_financial_report/report/aged_partner_balance_xlsx.py,sha256=U5X3ajFLlWlD-WqxTBsjLa1TdntImyVIgrMBpvOiBkY,14525
44
44
  odoo/addons/account_financial_report/report/general_ledger.py,sha256=lAjBhv4_tX4XD5hc2KHf8g1aozgr99Dvkmffj0ZLPXM,38493
45
45
  odoo/addons/account_financial_report/report/general_ledger_xlsx.py,sha256=k9w51C5jlpnrfzrflFNVH3iiv8rGms-Uqxwk4dnKt6U,17335
46
- odoo/addons/account_financial_report/report/journal_ledger.py,sha256=Zyz1_ZfdbAvHbLOU0FsJFqN8pwrp_NhfOPV4haq0xIw,15485
46
+ odoo/addons/account_financial_report/report/journal_ledger.py,sha256=HvE8TlzMHAXGcNvqN2C8sEYx9CBKLk3a1vsu9X_3xX4,15465
47
47
  odoo/addons/account_financial_report/report/journal_ledger_xlsx.py,sha256=gqulSBNfZY5chQFbBxXLUa1I11AlY_NbaIz3lHDeF70,10060
48
48
  odoo/addons/account_financial_report/report/open_items.py,sha256=bAplEfAFLLq9-H_mM5VTttfST3DusSPT8d4mkINGpnk,12218
49
49
  odoo/addons/account_financial_report/report/open_items_xlsx.py,sha256=XtgGVN995J89c3mnaMw5uvliOJBY47H9hn4GGsPiLcs,8366
50
- odoo/addons/account_financial_report/report/trial_balance.py,sha256=kUS-9FgMYSfgBTwaet9LeF0wakpNNxljhSVsMJ-_0ys,41580
50
+ odoo/addons/account_financial_report/report/trial_balance.py,sha256=k3-xWQ0bOFIhhUgmO4mgfowbm5lqq13JFznE7feBJIA,42322
51
51
  odoo/addons/account_financial_report/report/trial_balance_xlsx.py,sha256=HqSKYcDwqeTcTYHRju7RvR410VjYnOy5vE78bHEWkQs,13246
52
52
  odoo/addons/account_financial_report/report/vat_report.py,sha256=Si2hVaxJLwLXfMqzAF0N5dMdbc2eaQtCVM0UmwQMHc0,10249
53
53
  odoo/addons/account_financial_report/report/vat_report_xlsx.py,sha256=movkNhEiNi3kGlBf2VEmxxWKuqW_fzqM_QKOXw04ppU,2307
@@ -61,7 +61,7 @@ odoo/addons/account_financial_report/report/templates/vat_report.xml,sha256=2WeL
61
61
  odoo/addons/account_financial_report/security/ir.model.access.csv,sha256=S1VQLLwLeaOeAMYGqtoOqHUaZVrvDUVE4Z-0-SRjSGQ,1134
62
62
  odoo/addons/account_financial_report/security/security.xml,sha256=YQCXbOuTGHCWGYwGnXMie_0tnWG5zYJGdoeey3o1xaw,382
63
63
  odoo/addons/account_financial_report/static/description/icon.png,sha256=WW-eOIjW5-jo7tgBieNv6K2DUKMoHFSVctnp0htstHI,15230
64
- odoo/addons/account_financial_report/static/description/index.html,sha256=qksh3q3mqIrlh-IRY9bADRSImckBYWlelKwTZrlmang,20176
64
+ odoo/addons/account_financial_report/static/description/index.html,sha256=Bv_VKr-weFSAFCzysBw1ohXzAWHzqmEv_bWbhHaIAZ8,20176
65
65
  odoo/addons/account_financial_report/static/src/js/report.esm.js,sha256=bJcyov25ktGuF-eT_SUGkRLudz-6UNnKR0gmv3e-ZYc,2495
66
66
  odoo/addons/account_financial_report/static/src/js/report_action.esm.js,sha256=QFNFkxgsWrOwjgW0WlZj6CDLXPaAGf0p3Ml5NQFgbm0,1160
67
67
  odoo/addons/account_financial_report/static/src/scss/report.scss,sha256=UYlrKHXNvw3lcwlaTVNCxSQyMDi0JrizZjn4fS5cirw,2354
@@ -98,7 +98,7 @@ odoo/addons/account_financial_report/wizard/trial_balance_wizard.py,sha256=ibU3V
98
98
  odoo/addons/account_financial_report/wizard/trial_balance_wizard_view.xml,sha256=aHKMVPiQUfrpfUT0sojCfLUG38Am0DuEZSOHTPTof3k,7221
99
99
  odoo/addons/account_financial_report/wizard/vat_report_wizard.py,sha256=SQOpKuTWKjU9F5zfc7NIG0HxhZRHt5Eullia45RA_wM,3430
100
100
  odoo/addons/account_financial_report/wizard/vat_report_wizard_view.xml,sha256=3cJ0it2_5w20iw5x8QtTp11HoBk5kqQup6XjgJMbv7U,2274
101
- odoo_addon_account_financial_report-18.0.1.0.5.dist-info/METADATA,sha256=1_0F0zK-UCuS-j_pMc0A5TozyOUAGZR-OxY3Y__FbYI,7686
102
- odoo_addon_account_financial_report-18.0.1.0.5.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
103
- odoo_addon_account_financial_report-18.0.1.0.5.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
104
- odoo_addon_account_financial_report-18.0.1.0.5.dist-info/RECORD,,
101
+ odoo_addon_account_financial_report-18.0.1.0.7.dist-info/METADATA,sha256=7DjFW4POjypmJ-c6WIhmpd19lWKPBfr1od9vk5LmRDA,7686
102
+ odoo_addon_account_financial_report-18.0.1.0.7.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
103
+ odoo_addon_account_financial_report-18.0.1.0.7.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
104
+ odoo_addon_account_financial_report-18.0.1.0.7.dist-info/RECORD,,