odoo-addon-account-financial-report 15.0.2.11.0.1__py3-none-any.whl → 15.0.2.12.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.

Files changed (18) hide show
  1. odoo/addons/account_financial_report/README.rst +1 -1
  2. odoo/addons/account_financial_report/__manifest__.py +1 -1
  3. odoo/addons/account_financial_report/i18n/account_financial_report.pot +26 -3
  4. odoo/addons/account_financial_report/report/aged_partner_balance.py +39 -0
  5. odoo/addons/account_financial_report/report/aged_partner_balance_xlsx.py +9 -4
  6. odoo/addons/account_financial_report/report/open_items.py +45 -1
  7. odoo/addons/account_financial_report/report/open_items_xlsx.py +12 -7
  8. odoo/addons/account_financial_report/report/templates/aged_partner_balance.xml +77 -27
  9. odoo/addons/account_financial_report/report/templates/open_items.xml +38 -7
  10. odoo/addons/account_financial_report/static/description/index.html +1 -1
  11. odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard.py +28 -2
  12. odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard_view.xml +12 -0
  13. odoo/addons/account_financial_report/wizard/open_items_wizard.py +23 -1
  14. odoo/addons/account_financial_report/wizard/open_items_wizard_view.xml +12 -0
  15. {odoo_addon_account_financial_report-15.0.2.11.0.1.dist-info → odoo_addon_account_financial_report-15.0.2.12.0.dist-info}/METADATA +2 -2
  16. {odoo_addon_account_financial_report-15.0.2.11.0.1.dist-info → odoo_addon_account_financial_report-15.0.2.12.0.dist-info}/RECORD +18 -18
  17. {odoo_addon_account_financial_report-15.0.2.11.0.1.dist-info → odoo_addon_account_financial_report-15.0.2.12.0.dist-info}/WHEEL +0 -0
  18. {odoo_addon_account_financial_report-15.0.2.11.0.1.dist-info → odoo_addon_account_financial_report-15.0.2.12.0.dist-info}/top_level.txt +0 -0
@@ -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:496f9a74d723710fa89431853e8e4bf5ca3ea5676a7e325ae5ae2d0056a9764b
10
+ !! source digest: sha256:3e1a8bbac6b3e242b624c4e52ba3ad09f08f480b024387c3396c06894f86b76d
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": "15.0.2.11.0",
9
+ "version": "15.0.2.12.0",
10
10
  "category": "Reporting",
11
11
  "summary": "OCA Financial Reports",
12
12
  "author": "Camptocamp,"
@@ -276,6 +276,12 @@ msgstr ""
276
276
  msgid "All Posted Entries"
277
277
  msgstr ""
278
278
 
279
+ #. module: account_financial_report
280
+ #: model:ir.model.fields,field_description:account_financial_report.field_aged_partner_balance_report_wizard__all_analytic
281
+ #: model:ir.model.fields,field_description:account_financial_report.field_open_items_report_wizard__all_analytic
282
+ msgid "All analytic items"
283
+ msgstr ""
284
+
279
285
  #. module: account_financial_report
280
286
  #: code:addons/account_financial_report/report/aged_partner_balance_xlsx.py:0
281
287
  #: code:addons/account_financial_report/report/general_ledger_xlsx.py:0
@@ -321,8 +327,12 @@ msgid "Amount cur."
321
327
  msgstr ""
322
328
 
323
329
  #. module: account_financial_report
330
+ #: code:addons/account_financial_report/report/aged_partner_balance_xlsx.py:0
324
331
  #: code:addons/account_financial_report/report/general_ledger_xlsx.py:0
332
+ #: code:addons/account_financial_report/report/open_items_xlsx.py:0
333
+ #: model_terms:ir.ui.view,arch_db:account_financial_report.report_aged_partner_balance_move_lines
325
334
  #: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines
335
+ #: model_terms:ir.ui.view,arch_db:account_financial_report.report_open_items_lines_header
326
336
  #, python-format
327
337
  msgid "Analytic Account"
328
338
  msgstr ""
@@ -781,6 +791,8 @@ msgid "Filter accounts"
781
791
  msgstr ""
782
792
 
783
793
  #. module: account_financial_report
794
+ #: model:ir.model.fields,field_description:account_financial_report.field_aged_partner_balance_report_wizard__analytic_account_ids
795
+ #: model:ir.model.fields,field_description:account_financial_report.field_open_items_report_wizard__analytic_account_ids
784
796
  #: model_terms:ir.ui.view,arch_db:account_financial_report.general_ledger_wizard
785
797
  msgid "Filter analytic accounts"
786
798
  msgstr ""
@@ -1260,6 +1272,17 @@ msgstr ""
1260
1272
  msgid "Older"
1261
1273
  msgstr ""
1262
1274
 
1275
+ #. module: account_financial_report
1276
+ #: model:ir.model.fields,field_description:account_financial_report.field_open_items_report_wizard__only_analytic
1277
+ msgid "Only analytic items"
1278
+ msgstr ""
1279
+
1280
+ #. module: account_financial_report
1281
+ #: model:ir.model.fields,field_description:account_financial_report.field_aged_partner_balance_report_wizard__no_analytic
1282
+ #: model:ir.model.fields,field_description:account_financial_report.field_open_items_report_wizard__no_analytic
1283
+ msgid "Only no analytic items"
1284
+ msgstr ""
1285
+
1263
1286
  #. module: account_financial_report
1264
1287
  #: code:addons/account_financial_report/report/open_items_xlsx.py:0
1265
1288
  #: model:ir.actions.act_window,name:account_financial_report.action_open_items_wizard
@@ -1430,17 +1453,17 @@ msgstr ""
1430
1453
 
1431
1454
  #. module: account_financial_report
1432
1455
  #: model_terms:ir.ui.view,arch_db:account_financial_report.report_aged_partner_balance_move_lines
1433
- #: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines
1434
1456
  msgid ""
1435
1457
  "Ref -\n"
1436
- " Label"
1458
+ " Label"
1437
1459
  msgstr ""
1438
1460
 
1439
1461
  #. module: account_financial_report
1462
+ #: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines
1440
1463
  #: model_terms:ir.ui.view,arch_db:account_financial_report.report_open_items_lines_header
1441
1464
  msgid ""
1442
1465
  "Ref -\n"
1443
- " Label"
1466
+ " Label"
1444
1467
  msgstr ""
1445
1468
 
1446
1469
  #. module: account_financial_report
@@ -6,6 +6,7 @@ import operator
6
6
  from datetime import date, datetime, timedelta
7
7
 
8
8
  from odoo import api, models
9
+ from odoo.osv import expression
9
10
  from odoo.tools import float_is_zero
10
11
 
11
12
 
@@ -148,10 +149,38 @@ class AgedPartnerBalanceReport(models.AbstractModel):
148
149
  date_from,
149
150
  only_posted_moves,
150
151
  show_move_line_details,
152
+ analytic_account_ids,
153
+ no_analytic,
151
154
  ):
152
155
  domain = self._get_move_lines_domain_not_reconciled(
153
156
  company_id, account_ids, partner_ids, only_posted_moves, date_from
154
157
  )
158
+ if no_analytic:
159
+ domain = expression.AND(
160
+ [
161
+ domain,
162
+ [
163
+ (
164
+ "analytic_account_id",
165
+ "=",
166
+ False,
167
+ )
168
+ ],
169
+ ]
170
+ )
171
+ elif analytic_account_ids:
172
+ domain = expression.AND(
173
+ [
174
+ domain,
175
+ [
176
+ (
177
+ "analytic_account_id",
178
+ "in",
179
+ analytic_account_ids,
180
+ )
181
+ ],
182
+ ]
183
+ )
155
184
  ml_fields = self._get_ml_fields()
156
185
  line_model = self.env["account.move.line"]
157
186
  move_lines = line_model.search_read(domain=domain, fields=ml_fields)
@@ -224,6 +253,10 @@ class AgedPartnerBalanceReport(models.AbstractModel):
224
253
  ref_label = move_line["ref"]
225
254
  else:
226
255
  ref_label = move_line["ref"] + str(" - ") + move_line["name"]
256
+ if move_line["analytic_account_id"]:
257
+ analytic = move_line["analytic_account_id"][1]
258
+ else:
259
+ analytic = False
227
260
  move_line_data.update(
228
261
  {
229
262
  "line_rec": line_model.browse(move_line["id"]),
@@ -235,6 +268,7 @@ class AgedPartnerBalanceReport(models.AbstractModel):
235
268
  "ref_label": ref_label,
236
269
  "due_date": move_line["date_maturity"],
237
270
  "residual": move_line["amount_residual"],
271
+ "analytic_account_id": analytic,
238
272
  }
239
273
  )
240
274
  ag_pb_data[acc_id][prt_id]["move_lines"].append(move_line_data)
@@ -416,6 +450,8 @@ class AgedPartnerBalanceReport(models.AbstractModel):
416
450
  aged_partner_configuration = self.env[
417
451
  "account.age.report.configuration"
418
452
  ].browse(data["age_partner_config_id"])
453
+ analytic_account_ids = data["analytic_account_ids"]
454
+ no_analytic = data["no_analytic"]
419
455
  (ag_pb_data, accounts_data, partners_data, journals_data,) = self.with_context(
420
456
  age_partner_config=aged_partner_configuration
421
457
  )._get_move_lines_data(
@@ -426,6 +462,8 @@ class AgedPartnerBalanceReport(models.AbstractModel):
426
462
  date_from,
427
463
  only_posted_moves,
428
464
  show_move_line_details,
465
+ analytic_account_ids,
466
+ no_analytic,
429
467
  )
430
468
  aged_partner_data = self.with_context(
431
469
  age_partner_config=aged_partner_configuration
@@ -458,4 +496,5 @@ class AgedPartnerBalanceReport(models.AbstractModel):
458
496
  "amount_residual",
459
497
  "reconciled",
460
498
  "date_maturity",
499
+ "analytic_account_id",
461
500
  ]
@@ -104,9 +104,14 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
104
104
  2: {"header": _("Journal"), "field": "journal", "width": 8},
105
105
  3: {"header": _("Account"), "field": "account", "width": 9},
106
106
  4: {"header": _("Partner"), "field": "partner", "width": 25},
107
- 5: {"header": _("Ref - Label"), "field": "ref_label", "width": 40},
108
- 6: {"header": _("Due date"), "field": "due_date", "width": 11},
109
- 7: {
107
+ 5: {
108
+ "header": _("Analytic Account"),
109
+ "field": "analytic_account_id",
110
+ "width": 25,
111
+ },
112
+ 6: {"header": _("Ref - Label"), "field": "ref_label", "width": 40},
113
+ 7: {"header": _("Due date"), "field": "due_date", "width": 11},
114
+ 8: {
110
115
  "header": _("Residual"),
111
116
  "field": "residual",
112
117
  "field_footer_total": "residual",
@@ -114,7 +119,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
114
119
  "type": "amount",
115
120
  "width": 14,
116
121
  },
117
- 8: {
122
+ 9: {
118
123
  "header": _("Current"),
119
124
  "field": "current",
120
125
  "field_footer_total": "current",
@@ -7,6 +7,7 @@ import operator
7
7
  from datetime import date, datetime
8
8
 
9
9
  from odoo import _, api, models
10
+ from odoo.osv import expression
10
11
  from odoo.tools import float_is_zero
11
12
 
12
13
 
@@ -68,10 +69,14 @@ class OpenItemsReport(models.AbstractModel):
68
69
  company_id,
69
70
  date_from,
70
71
  grouped_by,
72
+ analytic_account_ids,
73
+ no_analytic,
71
74
  ):
72
75
  domain = self._get_move_lines_domain_not_reconciled(
73
76
  company_id, account_ids, partner_ids, only_posted_moves, date_from
74
77
  )
78
+ # moved out to avoid too complex method error
79
+ domain = self.get_analytic_domain(domain, analytic_account_ids, no_analytic)
75
80
  ml_fields = self._get_ml_fields()
76
81
  move_lines = self.env["account.move.line"].search_read(
77
82
  domain=domain, fields=ml_fields
@@ -148,7 +153,10 @@ class OpenItemsReport(models.AbstractModel):
148
153
  ref_label = move_line["ref"]
149
154
  else:
150
155
  ref_label = move_line["ref"] + str(" - ") + move_line["name"]
151
-
156
+ if analytic_account_ids and move_line["analytic_account_id"]:
157
+ analytic_account_id = move_line["analytic_account_id"][1]
158
+ else:
159
+ analytic_account_id = False
152
160
  move_line.update(
153
161
  {
154
162
  "date": move_line["date"],
@@ -167,6 +175,7 @@ class OpenItemsReport(models.AbstractModel):
167
175
  "currency_name": move_line["currency_id"][1]
168
176
  if move_line["currency_id"]
169
177
  else False,
178
+ "analytic_account_id": analytic_account_id,
170
179
  }
171
180
  )
172
181
 
@@ -247,6 +256,9 @@ class OpenItemsReport(models.AbstractModel):
247
256
  only_posted_moves = data["only_posted_moves"]
248
257
  show_partner_details = data["show_partner_details"]
249
258
  grouped_by = data["grouped_by"]
259
+ analytic_account_ids = data["analytic_account_ids"]
260
+ no_analytic = data["no_analytic"]
261
+
250
262
  (
251
263
  move_lines_data,
252
264
  partners_data,
@@ -261,6 +273,8 @@ class OpenItemsReport(models.AbstractModel):
261
273
  company_id,
262
274
  date_from,
263
275
  grouped_by,
276
+ analytic_account_ids,
277
+ no_analytic,
264
278
  )
265
279
 
266
280
  total_amount = self._calculate_amounts(open_items_move_lines_data)
@@ -288,6 +302,7 @@ class OpenItemsReport(models.AbstractModel):
288
302
 
289
303
  def _get_ml_fields(self):
290
304
  return self.COMMON_ML_FIELDS + [
305
+ "analytic_account_id",
291
306
  "amount_residual",
292
307
  "reconciled",
293
308
  "currency_id",
@@ -297,3 +312,32 @@ class OpenItemsReport(models.AbstractModel):
297
312
  "debit",
298
313
  "amount_currency",
299
314
  ]
315
+
316
+ def get_analytic_domain(self, domain, analytic_account_ids, no_analytic):
317
+ if no_analytic:
318
+ domain = expression.AND(
319
+ [
320
+ domain,
321
+ [
322
+ (
323
+ "analytic_account_id",
324
+ "=",
325
+ False,
326
+ )
327
+ ],
328
+ ]
329
+ )
330
+ elif analytic_account_ids:
331
+ domain = expression.AND(
332
+ [
333
+ domain,
334
+ [
335
+ (
336
+ "analytic_account_id",
337
+ "in",
338
+ analytic_account_ids,
339
+ )
340
+ ],
341
+ ]
342
+ )
343
+ return domain
@@ -27,15 +27,20 @@ class OpenItemsXslx(models.AbstractModel):
27
27
  2: {"header": _("Journal"), "field": "journal", "width": 8},
28
28
  3: {"header": _("Account"), "field": "account", "width": 9},
29
29
  4: {"header": _("Partner"), "field": "partner_name", "width": 25},
30
- 5: {"header": _("Ref - Label"), "field": "ref_label", "width": 40},
31
- 6: {"header": _("Due date"), "field": "date_maturity", "width": 11},
32
- 7: {
30
+ 5: {
31
+ "header": _("Analytic Account"),
32
+ "field": "analytic_account_id",
33
+ "width": 25,
34
+ },
35
+ 6: {"header": _("Ref - Label"), "field": "ref_label", "width": 40},
36
+ 7: {"header": _("Due date"), "field": "date_maturity", "width": 11},
37
+ 8: {
33
38
  "header": _("Original"),
34
39
  "field": "original",
35
40
  "type": "amount",
36
41
  "width": 14,
37
42
  },
38
- 8: {
43
+ 9: {
39
44
  "header": _("Residual"),
40
45
  "field": "amount_residual",
41
46
  "field_final_balance": "residual",
@@ -45,21 +50,21 @@ class OpenItemsXslx(models.AbstractModel):
45
50
  }
46
51
  if report.foreign_currency:
47
52
  foreign_currency = {
48
- 9: {
53
+ 10: {
49
54
  "header": _("Cur."),
50
55
  "field": "currency_name",
51
56
  "field_currency_balance": "currency_name",
52
57
  "type": "currency_name",
53
58
  "width": 7,
54
59
  },
55
- 10: {
60
+ 11: {
56
61
  "header": _("Cur. Original"),
57
62
  "field": "amount_currency",
58
63
  "field_final_balance": "amount_currency",
59
64
  "type": "amount_currency",
60
65
  "width": 14,
61
66
  },
62
- 11: {
67
+ 12: {
63
68
  "header": _("Cur. Residual"),
64
69
  "field": "amount_residual_currency",
65
70
  "field_final_balance": "amount_currency",
@@ -218,13 +218,29 @@
218
218
  <div class="act_as_cell" style="width: 5.00%;">Journal</div>
219
219
  <!--## account code-->
220
220
  <div class="act_as_cell" style="width: 6.00%;">Account</div>
221
- <!--## partner-->
222
- <div class="act_as_cell" style="width: 10.50%;">Partner</div>
223
- <!--## ref - label-->
224
- <div class="act_as_cell" style="width: 18.00%;">
225
- Ref -
226
- Label
227
- </div>
221
+ <t t-if="analytic_account_ids">
222
+ <!--## partner-->
223
+ <div class="act_as_cell" style="width: 9.50%;">Partner</div>
224
+ <!--## analytic account -->
225
+ <div
226
+ class="act_as_cell"
227
+ style="width: 9.50%;"
228
+ >Analytic Account</div>
229
+ <!--## ref - label-->
230
+ <div class="act_as_cell" style="width: 9.50%;">
231
+ Ref -
232
+ Label
233
+ </div>
234
+ </t>
235
+ <t t-else="">
236
+ <!--## partner-->
237
+ <div class="act_as_cell" style="width: 10.50%;">Partner</div>
238
+ <!--## ref - label-->
239
+ <div class="act_as_cell" style="width: 18.00%;">
240
+ Ref -
241
+ Label
242
+ </div>
243
+ </t>
228
244
  <!--## date_due-->
229
245
  <div class="act_as_cell" style="width: 6.00%;">
230
246
  Due
@@ -311,26 +327,60 @@
311
327
  <t t-out="line['account']" />
312
328
  </span>
313
329
  </div>
314
- <!--## partner-->
315
- <div class="act_as_cell left">
316
- <span
317
- t-att-res-id="line['line_rec'].partner_id.id"
318
- res-model="res.partner"
319
- view-type="form"
320
- >
321
- <t t-out="line['partner']" />
322
- </span>
323
- </div>
324
- <!--## ref - label-->
325
- <div class="act_as_cell left">
326
- <span
327
- t-att-res-id="line['line_rec'].id"
328
- res-model="account.move.line"
329
- view-type="form"
330
- >
331
- <t t-out="line['ref_label']" />
332
- </span>
333
- </div>
330
+ <t t-if="analytic_account_ids">
331
+ <!--## partner-->
332
+ <div class="act_as_cell left">
333
+ <span
334
+ t-att-res-id="line['line_rec'].partner_id.id"
335
+ res-model="res.partner"
336
+ view-type="form"
337
+ >
338
+ <t t-out="line['partner']" />
339
+ </span>
340
+ </div>
341
+ <!-- ANAL -->
342
+ <div class="act_as_cell left">
343
+ <span
344
+ t-att-res-id="line['line_rec'].analytic_account_id.id"
345
+ res-model="analytic_account_id"
346
+ view-type="form"
347
+ >
348
+ <t t-out="line['analytic_account_id']" />
349
+ </span>
350
+ </div>
351
+ <!--## ref - label-->
352
+ <div class="act_as_cell left">
353
+ <span
354
+ t-att-res-id="line['line_rec'].id"
355
+ res-model="account.move.line"
356
+ view-type="form"
357
+ >
358
+ <t t-out="line['ref_label']" />
359
+ </span>
360
+ </div>
361
+ </t>
362
+ <t t-else="">
363
+ <!--## partner-->
364
+ <div class="act_as_cell left">
365
+ <span
366
+ t-att-res-id="line['line_rec'].partner_id.id"
367
+ res-model="res.partner"
368
+ view-type="form"
369
+ >
370
+ <t t-out="line['partner']" />
371
+ </span>
372
+ </div>
373
+ <!--## ref - label-->
374
+ <div class="act_as_cell left">
375
+ <span
376
+ t-att-res-id="line['line_rec'].id"
377
+ res-model="account.move.line"
378
+ view-type="form"
379
+ >
380
+ <t t-out="line['ref_label']" />
381
+ </span>
382
+ </div>
383
+ </t>
334
384
  <!--## date_due-->
335
385
  <div class="act_as_cell left">
336
386
  <span
@@ -245,13 +245,30 @@
245
245
  <div class="act_as_cell" style="width: 4.78%;">Journal</div>
246
246
  <!--## account code-->
247
247
  <div class="act_as_cell" style="width: 5.38%;">Account</div>
248
- <!--## partner-->
249
- <div class="act_as_cell" style="width: 15.07%;">Partner</div>
250
- <!--## ref - label-->
251
- <div class="act_as_cell" style="width: 24.5%;">
252
- Ref -
253
- Label
254
- </div>
248
+
249
+ <t t-if="analytic_account_ids">
250
+ <!--## partner-->
251
+ <div class="act_as_cell" style="width: 13.19%;">Partner</div>
252
+ <!--## analytic_account-->
253
+ <div
254
+ class="act_as_cell"
255
+ style="width: 13.19%;"
256
+ >Analytic Account</div>
257
+ <!--## ref - label-->
258
+ <div class="act_as_cell" style="width: 13.19%;">
259
+ Ref -
260
+ Label
261
+ </div>
262
+ </t>
263
+ <t t-else="">
264
+ <!--## partner-->
265
+ <div class="act_as_cell" style="width: 15.07%;">Partner</div>
266
+ <!--## ref - label-->
267
+ <div class="act_as_cell" style="width: 24.5%;">
268
+ Ref -
269
+ Label
270
+ </div>
271
+ </t>
255
272
  <!--## date_due-->
256
273
  <div class="act_as_cell" style="width: 6.47%;">
257
274
  Due
@@ -324,6 +341,20 @@
324
341
  <t t-esc="line['partner_name']" />
325
342
  </span>
326
343
  </div>
344
+ <!--## cost_center-->
345
+ <t t-if="analytic_account_ids">
346
+ <div class="act_as_cell left">
347
+ <t t-if="line['analytic_account_id']">
348
+ <span
349
+ t-att-res-id="line['analytic_account_id']"
350
+ res-model="account.analytic.account"
351
+ view-type="form"
352
+ >
353
+ <t t-raw="line['analytic_account_id']" />
354
+ </span>
355
+ </t>
356
+ </div>
357
+ </t>
327
358
  <!--## ref - label-->
328
359
  <div class="act_as_cell left">
329
360
  <span t-esc="line['ref_label']" />
@@ -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:496f9a74d723710fa89431853e8e4bf5ca3ea5676a7e325ae5ae2d0056a9764b
370
+ !! source digest: sha256:3e1a8bbac6b3e242b624c4e52ba3ad09f08f480b024387c3396c06894f86b76d
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&amp;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
@@ -43,6 +43,20 @@ class AgedPartnerBalanceWizard(models.TransientModel):
43
43
  age_partner_config_id = fields.Many2one(
44
44
  "account.age.report.configuration", string="Intervals configuration"
45
45
  )
46
+ analytic_account_ids = fields.Many2many(
47
+ comodel_name="account.analytic.account", string="Filter analytic accounts"
48
+ )
49
+ no_analytic = fields.Boolean("Only no analytic items")
50
+ all_analytic = fields.Boolean("All analytic items")
51
+
52
+ @api.onchange("all_analytic", "no_analytic")
53
+ def on_change_all_analytic(self):
54
+ if self.all_analytic:
55
+ all_aa = self.env["account.analytic.account"].search([])
56
+ self.analytic_account_ids = all_aa
57
+ self.no_analytic = False
58
+ else:
59
+ self.analytic_account_ids = False
46
60
 
47
61
  @api.onchange("account_code_from", "account_code_to")
48
62
  def on_change_account_range(self):
@@ -86,17 +100,27 @@ class AgedPartnerBalanceWizard(models.TransientModel):
86
100
  self.account_ids = self.account_ids.filtered(
87
101
  lambda a: a.company_id == self.company_id
88
102
  )
89
- res = {"domain": {"account_ids": [], "partner_ids": []}}
103
+ res = {
104
+ "domain": {"account_ids": [], "partner_ids": [], "analytic_account_ids": []}
105
+ }
90
106
  if not self.company_id:
91
107
  return res
92
108
  else:
93
109
  res["domain"]["account_ids"] += [("company_id", "=", self.company_id.id)]
94
110
  res["domain"]["partner_ids"] += self._get_partner_ids_domain()
111
+ res["domain"]["analytic_account_ids"] += [
112
+ ("company_id", "=", self.company_id.id)
113
+ ]
95
114
  return res
96
115
 
97
116
  @api.onchange("account_ids")
98
117
  def onchange_account_ids(self):
99
- return {"domain": {"account_ids": [("reconcile", "=", True)]}}
118
+ return {
119
+ "domain": {
120
+ "account_ids": [("reconcile", "=", True)],
121
+ "analytic_account_ids": [],
122
+ }
123
+ }
100
124
 
101
125
  @api.onchange("receivable_accounts_only", "payable_accounts_only")
102
126
  def onchange_type_accounts_only(self):
@@ -142,6 +166,8 @@ class AgedPartnerBalanceWizard(models.TransientModel):
142
166
  "show_move_line_details": self.show_move_line_details,
143
167
  "account_financial_report_lang": self.env.lang,
144
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,
145
171
  }
146
172
 
147
173
  def _export(self, report_type):
@@ -62,6 +62,18 @@
62
62
  colspan="4"
63
63
  />
64
64
  </group>
65
+ <group
66
+ name="Filter analytic accounts"
67
+ groups="analytic.group_analytic_accounting"
68
+ >
69
+ <field
70
+ name="analytic_account_ids"
71
+ widget="many2many_tags"
72
+ options="{'no_create': True}"
73
+ />
74
+ <field name="no_analytic" />
75
+ <field name="all_analytic" />
76
+ </group>
65
77
  <footer>
66
78
  <button
67
79
  name="button_export_html"
@@ -63,6 +63,21 @@ class OpenItemsReportWizard(models.TransientModel):
63
63
  selection=[("partners", "Partners"), ("salesperson", "Partner Salesperson")],
64
64
  default="partners",
65
65
  )
66
+ analytic_account_ids = fields.Many2many(
67
+ comodel_name="account.analytic.account", string="Filter analytic accounts"
68
+ )
69
+ no_analytic = fields.Boolean("Only no analytic items")
70
+ only_analytic = fields.Boolean("Only analytic items")
71
+ all_analytic = fields.Boolean("All analytic items")
72
+
73
+ @api.onchange("all_analytic", "no_analytic")
74
+ def on_change_all_analytic(self):
75
+ if self.all_analytic:
76
+ all_aa = self.env["account.analytic.account"].search([])
77
+ self.analytic_account_ids = all_aa
78
+ self.no_analytic = False
79
+ else:
80
+ self.analytic_account_ids = False
66
81
 
67
82
  @api.onchange("account_code_from", "account_code_to")
68
83
  def on_change_account_range(self):
@@ -109,12 +124,17 @@ class OpenItemsReportWizard(models.TransientModel):
109
124
  self.account_ids = self.account_ids.filtered(
110
125
  lambda a: a.company_id == self.company_id
111
126
  )
112
- res = {"domain": {"account_ids": [], "partner_ids": []}}
127
+ res = {
128
+ "domain": {"account_ids": [], "partner_ids": [], "analytic_account_ids": []}
129
+ }
113
130
  if not self.company_id:
114
131
  return res
115
132
  else:
116
133
  res["domain"]["account_ids"] += [("company_id", "=", self.company_id.id)]
117
134
  res["domain"]["partner_ids"] += self._get_partner_ids_domain()
135
+ res["domain"]["analytic_account_ids"] += [
136
+ ("company_id", "=", self.company_id.id)
137
+ ]
118
138
  return res
119
139
 
120
140
  @api.onchange("account_ids")
@@ -179,8 +199,10 @@ class OpenItemsReportWizard(models.TransientModel):
179
199
  "target_move": self.target_move,
180
200
  "account_ids": self.account_ids.ids,
181
201
  "partner_ids": self.partner_ids.ids or [],
202
+ "analytic_account_ids": self.analytic_account_ids.ids or [],
182
203
  "account_financial_report_lang": self.env.lang,
183
204
  "grouped_by": self.grouped_by,
205
+ "no_analytic": self.no_analytic,
184
206
  }
185
207
 
186
208
  def _export(self, report_type):
@@ -62,6 +62,18 @@
62
62
  colspan="4"
63
63
  />
64
64
  </group>
65
+ <group
66
+ name="Filter analytic accounts"
67
+ groups="analytic.group_analytic_accounting"
68
+ >
69
+ <field
70
+ name="analytic_account_ids"
71
+ widget="many2many_tags"
72
+ options="{'no_create': True}"
73
+ />
74
+ <field name="no_analytic" />
75
+ <field name="all_analytic" />
76
+ </group>
65
77
  <footer>
66
78
  <button
67
79
  name="button_export_html"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-account_financial_report
3
- Version: 15.0.2.11.0.1
3
+ Version: 15.0.2.12.0
4
4
  Summary: OCA Financial Reports
5
5
  Home-page: https://github.com/OCA/account-financial-reporting
6
6
  Author: Camptocamp,initOS GmbH,redCOR AG,ForgeFlow,Odoo Community Association (OCA)
@@ -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:496f9a74d723710fa89431853e8e4bf5ca3ea5676a7e325ae5ae2d0056a9764b
27
+ !! source digest: sha256:3e1a8bbac6b3e242b624c4e52ba3ad09f08f480b024387c3396c06894f86b76d
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=qVVr_ib0KHTEBTbyv_aA0UMvTYz1bLM68YzdRj4_t9I,6889
1
+ odoo/addons/account_financial_report/README.rst,sha256=lD56w613Cb7XS7Wt9eL_qQWc3nOFaQtNPyhggdGn34U,6889
2
2
  odoo/addons/account_financial_report/__init__.py,sha256=YoL8hk5QxSifbFJL7gPzpOSk-3zB1OSHJBXyZK25G6Q,187
3
- odoo/addons/account_financial_report/__manifest__.py,sha256=DfOS_TNpB_khNTGVhde3AJwvhrxpQCJ6lC2kGAxBik0,2308
3
+ odoo/addons/account_financial_report/__manifest__.py,sha256=aItQoGE7CNEFIsySltC72TKPeOMBCYyr2ptK5ZPw-i0,2308
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=KkSFpL4-aSmP7EkgcSxh9Wyyw7PCplmFtr_tJ3WU1Vw,83274
6
+ odoo/addons/account_financial_report/i18n/account_financial_report.pot,sha256=6iqE5_K5jkKvTdP_azbWriMLqkyTzoCPZ9gkGJntJDU,84679
7
7
  odoo/addons/account_financial_report/i18n/ar.po,sha256=zP9g8Xv_8YHZt70hRKfTyaA5SXuazBehSGczPtz1j9w,90993
8
8
  odoo/addons/account_financial_report/i18n/ca.po,sha256=0RWgkz4T34nGvtrtuvJgGwnUG-bRJdpAM2qR1cSffnY,87827
9
9
  odoo/addons/account_financial_report/i18n/da.po,sha256=ab7YQAzza6apaHSuwpyX-Bme4inSigzyE5iQ2MX3I2U,87059
@@ -38,29 +38,29 @@ odoo/addons/account_financial_report/readme/ROADMAP.rst,sha256=CK1z_cr3bdtTPHyCO
38
38
  odoo/addons/account_financial_report/report/__init__.py,sha256=D-L2gAu6aAsGo9YtxVH14sulDEPHK0CEy7A2kTwewTE,618
39
39
  odoo/addons/account_financial_report/report/abstract_report.py,sha256=EuQxVQq5NmwhyrgNiOXHGA5NfSAcE2F1wPSePyk7-cc,5965
40
40
  odoo/addons/account_financial_report/report/abstract_report_xlsx.py,sha256=ugty0nle8yhqdxCdi6aBjxEh8vN2u2KRz9hTsrpJgT0,29911
41
- odoo/addons/account_financial_report/report/aged_partner_balance.py,sha256=e3qBXUOuQPccXuxPzqdUoig6Qbcsuzk7J-dKawoiijI,19596
42
- odoo/addons/account_financial_report/report/aged_partner_balance_xlsx.py,sha256=h_z-Jw_k46SBp5tWJh8iZU83-PGmKwGDZIyFRV--FNc,14334
41
+ odoo/addons/account_financial_report/report/aged_partner_balance.py,sha256=p-D_r-PA8dKl0tHYawEcP5QpvjwiBq7eSQm2kRBHY-A,20848
42
+ odoo/addons/account_financial_report/report/aged_partner_balance_xlsx.py,sha256=9xB660H5Xv8aX65oy-1gDXBSjQERIpRrlJhbtXtyToQ,14492
43
43
  odoo/addons/account_financial_report/report/general_ledger.py,sha256=wRXeQsrMlaZtGbjcSDDCyN5EjGM3Wlp4CGfmWIhcQmE,35441
44
44
  odoo/addons/account_financial_report/report/general_ledger_xlsx.py,sha256=EHkkVgdt2_Vpw01KjqVb6RKZBfEKWBqdsXvMBu3iRPY,15599
45
45
  odoo/addons/account_financial_report/report/journal_ledger.py,sha256=j83-QCAONs7AAh1C3C7_3_nByKk43B7o3Atx42OhdOc,15362
46
46
  odoo/addons/account_financial_report/report/journal_ledger_xlsx.py,sha256=Pp7iDkBjSk0BqZkSPAiKI2hBHNcjKYjZoBxuL_ENz5E,10126
47
- odoo/addons/account_financial_report/report/open_items.py,sha256=JND4C0oixuL7cc45kVj5tc4ysivHQJguEPcX_ebviWI,12258
48
- odoo/addons/account_financial_report/report/open_items_xlsx.py,sha256=iv32561UaRppS5XyclMnYwLHJ2icYUA1hNeUOkcl8ng,14960
47
+ odoo/addons/account_financial_report/report/open_items.py,sha256=7iIrnkCLuH17Lx0I98Nvt0KfYpcyhVcNRSJMr9i_PS8,13788
48
+ odoo/addons/account_financial_report/report/open_items_xlsx.py,sha256=a4HMQ97VkwTO_8tnxyzFIIlLkawaG1HBXnujgYUI_Ug,15119
49
49
  odoo/addons/account_financial_report/report/trial_balance.py,sha256=ERrdWkQugXtRX_4lURibQCdPsW_52ggbyLOrMDSSTrg,30737
50
50
  odoo/addons/account_financial_report/report/trial_balance_xlsx.py,sha256=phPDqy4pXbd94oFmwjPNe_XKoMCgcTXPE6HOkGJJDko,12060
51
51
  odoo/addons/account_financial_report/report/vat_report.py,sha256=mRr8zk3sTVvz7CFHQAzDL4Eexqzt7X6JVOEPD2axumM,10163
52
52
  odoo/addons/account_financial_report/report/vat_report_xlsx.py,sha256=aa0dLzYdywjmO63ONRYUBTpSGmsPfEjX60CkUbULuo8,2317
53
- odoo/addons/account_financial_report/report/templates/aged_partner_balance.xml,sha256=IfeLCmOIFqyaEsRnRihb0pXo-deJD41id5qgjE3_Ftw,41020
53
+ odoo/addons/account_financial_report/report/templates/aged_partner_balance.xml,sha256=WNaWvMoBR74v6SGj13Tp6Eydxd-zk93Yf3x0dnRIj28,43416
54
54
  odoo/addons/account_financial_report/report/templates/general_ledger.xml,sha256=BTJ8k7_pX2StHGP3BgRaqktx3NYeqdV1tTJ0KqmHjeo,38690
55
55
  odoo/addons/account_financial_report/report/templates/journal_ledger.xml,sha256=qPupJ-t85k2_H-o12pwOyvpYCpROBkVpSsGaib3mGkI,21619
56
56
  odoo/addons/account_financial_report/report/templates/layouts.xml,sha256=gCejPAn8GLrySSve8pGcs0fY5nr48C3mmyuoEJVZkJ4,1526
57
- odoo/addons/account_financial_report/report/templates/open_items.xml,sha256=sETrMPg6GJmYXjzKiP35mnZMFK1FSRQlmUyPvEaVjXY,21559
57
+ odoo/addons/account_financial_report/report/templates/open_items.xml,sha256=OxyVnVzPa0UKGNuV2uqgWh7RxMwsWu8OzQbcIV0iDaE,22821
58
58
  odoo/addons/account_financial_report/report/templates/trial_balance.xml,sha256=q-ShNar7AifnJpSzhkv5OYmc-ydkF9ub_VlsLnOVKPI,47168
59
59
  odoo/addons/account_financial_report/report/templates/vat_report.xml,sha256=F5hQzdM8NTuLW04mT6SMjbdush5r7C81_RXa7NByfAY,8128
60
60
  odoo/addons/account_financial_report/security/ir.model.access.csv,sha256=S1VQLLwLeaOeAMYGqtoOqHUaZVrvDUVE4Z-0-SRjSGQ,1134
61
61
  odoo/addons/account_financial_report/security/security.xml,sha256=gpNJnzruXfeYskn26FqY9U04FiuTf8vgLCKEGY8PADM,422
62
62
  odoo/addons/account_financial_report/static/description/icon.png,sha256=WW-eOIjW5-jo7tgBieNv6K2DUKMoHFSVctnp0htstHI,15230
63
- odoo/addons/account_financial_report/static/description/index.html,sha256=s-zwCUG12HuZX83uuAMkmUen7BOjfRwyMRAASCQWUGI,19748
63
+ odoo/addons/account_financial_report/static/description/index.html,sha256=k0Qi5LnZH9zNBKjfd2ovhSomoldVlsS181qqEu1Rt70,19748
64
64
  odoo/addons/account_financial_report/static/src/css/report.css,sha256=y0CysZUK3afkYSHgBaMi_qmh8da3XXEZwJDjRBg6HqQ,2335
65
65
  odoo/addons/account_financial_report/static/src/css/report_html.css,sha256=I1kX1RsThtjGNLOaNJEWCvMnB9iAFW6nGkcyFYZzJoA,135
66
66
  odoo/addons/account_financial_report/static/src/js/action_manager_report.js,sha256=g8aZkSRMgNcFzQ4f_3mmeKl7oNnoap_cDUxuyGxMT4M,1608
@@ -86,19 +86,19 @@ odoo/addons/account_financial_report/view/report_vat_report.xml,sha256=Bc4DAlUg_
86
86
  odoo/addons/account_financial_report/view/res_config_settings_views.xml,sha256=GtTwacwa_GzueCBOfAU_yYAns_y7yrCUo9CM_dxFiFw,2986
87
87
  odoo/addons/account_financial_report/wizard/__init__.py,sha256=5lngmjx-Vz-5k9nPILd25_1oVKKhUHnYhjAOMgdQHPY,243
88
88
  odoo/addons/account_financial_report/wizard/abstract_wizard.py,sha256=RLvXJzFA-75Ui-AokPwzZ9yGWfuMQvVPXhhEgQMH26E,1584
89
- odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard.py,sha256=00Ntygmeqds8dDQus8PmlfpYbm_NP7xQ_RYr6LJeiA8,5859
90
- odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard_view.xml,sha256=P4y5oItOq_1xovOhpjCU-9JzIvT2HH00tXWYFmMhnMo,3996
89
+ odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard.py,sha256=aDy76jXJg3MvbtdRWSxN5WClfZ_uiFgZ3EcY7giXghs,6829
90
+ odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard_view.xml,sha256=cgY9-5tpkWOEwL39Z5kHDNREITYAxaUSADRhwzaUJFE,4481
91
91
  odoo/addons/account_financial_report/wizard/general_ledger_wizard.py,sha256=ZilX5D6MqXZDda_8UlQ0D7cRuqdJoIwwJvDzKI3wppc,11504
92
92
  odoo/addons/account_financial_report/wizard/general_ledger_wizard_view.xml,sha256=P_0_TvjXIlyCI7zdAJhNi8RTWd6h5tGtElDoEg-339U,8356
93
93
  odoo/addons/account_financial_report/wizard/journal_ledger_wizard.py,sha256=CA44N2yVdZbAttw3JUK6hueMOQc__wY5Abc2hDW49_0,5546
94
94
  odoo/addons/account_financial_report/wizard/journal_ledger_wizard_view.xml,sha256=s3go3x-VSCcr1xNAE3Lzj1FnymyS76hxzazuWtNc91k,2957
95
- odoo/addons/account_financial_report/wizard/open_items_wizard.py,sha256=M1qGW3MjCQTXHPXZLmXT33uV4WWmvbDeSYYHa8Xp5Ro,7316
96
- odoo/addons/account_financial_report/wizard/open_items_wizard_view.xml,sha256=8dMmYxRm0u8jkhSZ8NVq8_SG6Ll_HPDGjhaql5_JgoU,4741
95
+ odoo/addons/account_financial_report/wizard/open_items_wizard.py,sha256=JUOLiUNl6jyGDQACf70hqsBykN5Bax8pGSOTQk2beu8,8247
96
+ odoo/addons/account_financial_report/wizard/open_items_wizard_view.xml,sha256=B6AEXvVHm02J5Dz75SirpdszyqdPDtpB_7AvSW2X7nE,5226
97
97
  odoo/addons/account_financial_report/wizard/trial_balance_wizard.py,sha256=hFaHYfWsbJiKZczJJyUhcyuDuvLx69KEePV1zOvVLcE,10652
98
98
  odoo/addons/account_financial_report/wizard/trial_balance_wizard_view.xml,sha256=7oNGPs3s8DVw3movVGe2ryRUNl1MtN7O76UH8zaFFtI,7048
99
99
  odoo/addons/account_financial_report/wizard/vat_report_wizard.py,sha256=pJATDNWLcEWvctby5e5yvv4Kz7YDfCTi7YZP7slA8a4,3424
100
100
  odoo/addons/account_financial_report/wizard/vat_report_wizard_view.xml,sha256=T3P81O4csDGP7Jmf7eAtmbIIldja3IoXbBmweMMt8vA,2330
101
- odoo_addon_account_financial_report-15.0.2.11.0.1.dist-info/METADATA,sha256=gyJi_pHhdtNTJRSD-3gNw8sm_PmDPmBM9oQ7vWO0REY,7571
102
- odoo_addon_account_financial_report-15.0.2.11.0.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
103
- odoo_addon_account_financial_report-15.0.2.11.0.1.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
104
- odoo_addon_account_financial_report-15.0.2.11.0.1.dist-info/RECORD,,
101
+ odoo_addon_account_financial_report-15.0.2.12.0.dist-info/METADATA,sha256=NYGG-Mb17JoIcKz11Wx3h3iRbjyddqBhkkA4uGqFn44,7569
102
+ odoo_addon_account_financial_report-15.0.2.12.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
103
+ odoo_addon_account_financial_report-15.0.2.12.0.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
104
+ odoo_addon_account_financial_report-15.0.2.12.0.dist-info/RECORD,,