odoo-addon-account-financial-report 16.0.1.5.4.3__py3-none-any.whl → 16.0.1.6.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 +36 -1
- odoo/addons/account_financial_report/__manifest__.py +4 -1
- odoo/addons/account_financial_report/i18n/account_financial_report.pot +105 -5
- odoo/addons/account_financial_report/i18n/es.po +103 -0
- odoo/addons/account_financial_report/i18n/it.po +13 -13
- odoo/addons/account_financial_report/models/__init__.py +2 -0
- odoo/addons/account_financial_report/models/account_age_report_configuration.py +47 -0
- odoo/addons/account_financial_report/models/res_config_settings.py +14 -0
- odoo/addons/account_financial_report/readme/CONFIGURE.rst +26 -0
- odoo/addons/account_financial_report/readme/CONTRIBUTORS.rst +1 -0
- odoo/addons/account_financial_report/readme/DESCRIPTION.rst +4 -0
- odoo/addons/account_financial_report/report/aged_partner_balance.py +69 -8
- odoo/addons/account_financial_report/report/aged_partner_balance_xlsx.py +145 -104
- odoo/addons/account_financial_report/report/templates/aged_partner_balance.xml +428 -333
- odoo/addons/account_financial_report/security/ir.model.access.csv +2 -0
- odoo/addons/account_financial_report/security/security.xml +10 -0
- odoo/addons/account_financial_report/static/description/index.html +45 -21
- odoo/addons/account_financial_report/tests/__init__.py +1 -0
- odoo/addons/account_financial_report/tests/test_age_report_configuration.py +41 -0
- odoo/addons/account_financial_report/tests/test_aged_partner_balance.py +88 -7
- odoo/addons/account_financial_report/view/account_age_report_configuration_views.xml +41 -0
- odoo/addons/account_financial_report/view/res_config_settings_views.xml +56 -0
- odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard.py +4 -0
- odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard_view.xml +2 -3
- {odoo_addon_account_financial_report-16.0.1.5.4.3.dist-info → odoo_addon_account_financial_report-16.0.1.6.0.dist-info}/METADATA +37 -2
- {odoo_addon_account_financial_report-16.0.1.5.4.3.dist-info → odoo_addon_account_financial_report-16.0.1.6.0.dist-info}/RECORD +28 -21
- {odoo_addon_account_financial_report-16.0.1.5.4.3.dist-info → odoo_addon_account_financial_report-16.0.1.6.0.dist-info}/WHEEL +0 -0
- {odoo_addon_account_financial_report-16.0.1.5.4.3.dist-info → odoo_addon_account_financial_report-16.0.1.6.0.dist-info}/top_level.txt +0 -0
|
@@ -7,7 +7,7 @@ msgstr ""
|
|
|
7
7
|
"Project-Id-Version: Odoo Server 12.0\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
|
9
9
|
"POT-Creation-Date: 2019-06-03 12:07+0000\n"
|
|
10
|
-
"PO-Revision-Date: 2024-04-
|
|
10
|
+
"PO-Revision-Date: 2024-04-19 13:34+0000\n"
|
|
11
11
|
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
|
|
12
12
|
"Language-Team: \n"
|
|
13
13
|
"Language: it\n"
|
|
@@ -69,7 +69,7 @@ msgstr "Report astratto"
|
|
|
69
69
|
#. module: account_financial_report
|
|
70
70
|
#: model:ir.model,name:account_financial_report.model_account_financial_report_abstract_wizard
|
|
71
71
|
msgid "Abstract Wizard"
|
|
72
|
-
msgstr "Procedura guidata
|
|
72
|
+
msgstr "Procedura guidata sintesi"
|
|
73
73
|
|
|
74
74
|
#. module: account_financial_report
|
|
75
75
|
#: model:ir.model,name:account_financial_report.model_report_account_financial_report_abstract_report_xlsx
|
|
@@ -810,7 +810,7 @@ msgstr "Filtro conti"
|
|
|
810
810
|
#. module: account_financial_report
|
|
811
811
|
#: model_terms:ir.ui.view,arch_db:account_financial_report.general_ledger_wizard
|
|
812
812
|
msgid "Filter analytic accounts"
|
|
813
|
-
msgstr "
|
|
813
|
+
msgstr "Filtra conti analitici"
|
|
814
814
|
|
|
815
815
|
#. module: account_financial_report
|
|
816
816
|
#: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__cost_center_ids
|
|
@@ -857,7 +857,7 @@ msgstr "Da:"
|
|
|
857
857
|
#: code:addons/account_financial_report/report/trial_balance_xlsx.py:0
|
|
858
858
|
#, python-format
|
|
859
859
|
msgid "From: %(date_from)s To: %(date_to)s"
|
|
860
|
-
msgstr "
|
|
860
|
+
msgstr "Dal: %(date_from)s Al: %(date_to)s"
|
|
861
861
|
|
|
862
862
|
#. module: account_financial_report
|
|
863
863
|
#: model:ir.model.fields,field_description:account_financial_report.field_account_group__complete_code
|
|
@@ -929,7 +929,7 @@ msgstr "Raggruppa registrazioni per"
|
|
|
929
929
|
#. module: account_financial_report
|
|
930
930
|
#: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__grouped_by
|
|
931
931
|
msgid "Grouped By"
|
|
932
|
-
msgstr "
|
|
932
|
+
msgstr "Raggruppato per"
|
|
933
933
|
|
|
934
934
|
#. module: account_financial_report
|
|
935
935
|
#. odoo-python
|
|
@@ -1048,12 +1048,12 @@ msgstr "Libro Mastro -"
|
|
|
1048
1048
|
#. module: account_financial_report
|
|
1049
1049
|
#: model:ir.model,name:account_financial_report.model_report_account_financial_report_journal_ledger
|
|
1050
1050
|
msgid "Journal Ledger Report"
|
|
1051
|
-
msgstr "Resoconto libro
|
|
1051
|
+
msgstr "Resoconto libro mastro"
|
|
1052
1052
|
|
|
1053
1053
|
#. module: account_financial_report
|
|
1054
1054
|
#: model:ir.model,name:account_financial_report.model_journal_ledger_report_wizard
|
|
1055
1055
|
msgid "Journal Ledger Report Wizard"
|
|
1056
|
-
msgstr "Procedura guidata resoconto libro
|
|
1056
|
+
msgstr "Procedura guidata resoconto libro mastro"
|
|
1057
1057
|
|
|
1058
1058
|
#. module: account_financial_report
|
|
1059
1059
|
#: model:ir.actions.report,name:account_financial_report.action_report_journal_ledger_xlsx
|
|
@@ -1063,7 +1063,7 @@ msgstr "Libro mastro XLSX"
|
|
|
1063
1063
|
#. module: account_financial_report
|
|
1064
1064
|
#: model:ir.model,name:account_financial_report.model_report_a_f_r_report_journal_ledger_xlsx
|
|
1065
1065
|
msgid "Journal Ledger XLSX Report"
|
|
1066
|
-
msgstr "Resoconto XLSX libro
|
|
1066
|
+
msgstr "Resoconto XLSX libro mastro"
|
|
1067
1067
|
|
|
1068
1068
|
#. module: account_financial_report
|
|
1069
1069
|
#. odoo-python
|
|
@@ -1737,7 +1737,7 @@ msgstr ""
|
|
|
1737
1737
|
#: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__unaffected_earnings_account
|
|
1738
1738
|
#: model:ir.model.fields,field_description:account_financial_report.field_trial_balance_report_wizard__unaffected_earnings_account
|
|
1739
1739
|
msgid "Unaffected Earnings Account"
|
|
1740
|
-
msgstr "Conto
|
|
1740
|
+
msgstr "Conto ricavi inalterato"
|
|
1741
1741
|
|
|
1742
1742
|
#. module: account_financial_report
|
|
1743
1743
|
#: model:ir.model.fields,help:account_financial_report.field_general_ledger_report_wizard__hide_account_at_0
|
|
@@ -1875,22 +1875,22 @@ msgstr "larghezza: 23.24%;"
|
|
|
1875
1875
|
#. module: account_financial_report
|
|
1876
1876
|
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_table_header
|
|
1877
1877
|
msgid "width: 23.78%;"
|
|
1878
|
-
msgstr "larghezza: 23
|
|
1878
|
+
msgstr "larghezza: 23,78%;"
|
|
1879
1879
|
|
|
1880
1880
|
#. module: account_financial_report
|
|
1881
1881
|
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_table_header
|
|
1882
1882
|
msgid "width: 31.35%;"
|
|
1883
|
-
msgstr "larghezza: 31
|
|
1883
|
+
msgstr "larghezza: 31,35%;"
|
|
1884
1884
|
|
|
1885
1885
|
#. module: account_financial_report
|
|
1886
1886
|
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_table_header
|
|
1887
1887
|
msgid "width: 38.92%;"
|
|
1888
|
-
msgstr "larghezza: 38
|
|
1888
|
+
msgstr "larghezza: 38,92%;"
|
|
1889
1889
|
|
|
1890
1890
|
#. module: account_financial_report
|
|
1891
1891
|
#: model_terms:ir.ui.view,arch_db:account_financial_report.report_journal_ledger_journal_table_header
|
|
1892
1892
|
msgid "width: 8.11%;"
|
|
1893
|
-
msgstr "larghezza: 8
|
|
1893
|
+
msgstr "larghezza: 8,11%;"
|
|
1894
1894
|
|
|
1895
1895
|
#~ msgid "Filter analytic tags"
|
|
1896
1896
|
#~ msgstr "Filtro tag analitici"
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Copyright 2023 Ernesto García
|
|
2
|
+
# Copyright 2023 Carolina Fernandez
|
|
3
|
+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
|
4
|
+
from odoo import _, api, fields, models
|
|
5
|
+
from odoo.exceptions import ValidationError
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class AccountAgeReportConfiguration(models.Model):
|
|
9
|
+
_name = "account.age.report.configuration"
|
|
10
|
+
_description = "Model to set intervals for Age partner balance report"
|
|
11
|
+
|
|
12
|
+
name = fields.Char(required=True)
|
|
13
|
+
company_id = fields.Many2one(
|
|
14
|
+
"res.company", default=lambda self: self.env.company, readonly=True
|
|
15
|
+
)
|
|
16
|
+
line_ids = fields.One2many(
|
|
17
|
+
"account.age.report.configuration.line", "account_age_report_config_id"
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
@api.constrains("line_ids")
|
|
21
|
+
def _check_line_ids(self):
|
|
22
|
+
for rec in self:
|
|
23
|
+
if not rec.line_ids:
|
|
24
|
+
raise ValidationError(_("Must complete Configuration Lines"))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class AccountAgeReportConfigurationLine(models.Model):
|
|
28
|
+
_name = "account.age.report.configuration.line"
|
|
29
|
+
_description = "Model to set interval lines for Age partner balance report"
|
|
30
|
+
|
|
31
|
+
name = fields.Char(required=True)
|
|
32
|
+
account_age_report_config_id = fields.Many2one("account.age.report.configuration")
|
|
33
|
+
inferior_limit = fields.Integer()
|
|
34
|
+
|
|
35
|
+
@api.constrains("inferior_limit")
|
|
36
|
+
def _check_inferior_limit(self):
|
|
37
|
+
for rec in self:
|
|
38
|
+
if rec.inferior_limit <= 0:
|
|
39
|
+
raise ValidationError(_("Inferior Limit must be greather than zero"))
|
|
40
|
+
|
|
41
|
+
_sql_constraints = [
|
|
42
|
+
(
|
|
43
|
+
"unique_name_config_combination",
|
|
44
|
+
"UNIQUE(name,account_age_report_config_id)",
|
|
45
|
+
_("Name must be unique per report configuration"),
|
|
46
|
+
)
|
|
47
|
+
]
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Copyright 2023 Tecnativa - Carolina Fernandez
|
|
2
|
+
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
|
3
|
+
|
|
4
|
+
from odoo import fields, models
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class ResConfigSettings(models.TransientModel):
|
|
8
|
+
_inherit = "res.config.settings"
|
|
9
|
+
|
|
10
|
+
default_age_partner_config_id = fields.Many2one(
|
|
11
|
+
"account.age.report.configuration",
|
|
12
|
+
string="Intervals configuration",
|
|
13
|
+
default_model="aged.partner.balance.report.wizard",
|
|
14
|
+
)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
To configure dynamic intervals for Aged Partner Balance you need to:
|
|
2
|
+
|
|
3
|
+
Go on 'Settings' -> 'Invoicing' -> 'OCA Aged Report Configuration'.
|
|
4
|
+
|
|
5
|
+
Click on option 'Configurations' and create new record.
|
|
6
|
+
|
|
7
|
+
Create new interval.
|
|
8
|
+
The name established on line will be the column to display in Aged Partner Balance.
|
|
9
|
+
Inferior limit established on line is the interval
|
|
10
|
+
|
|
11
|
+
Example of configuration inferior limit:
|
|
12
|
+
|
|
13
|
+
-> 15
|
|
14
|
+
-> 30
|
|
15
|
+
-> 60
|
|
16
|
+
|
|
17
|
+
It means the first interval is from 0 to 15, the second from 16 to 30, and the third is 61+.
|
|
18
|
+
|
|
19
|
+
Go on 'Invoicing' -> 'Reports' -> 'OCA accounting reports' -> 'Aged Partner Balance'
|
|
20
|
+
|
|
21
|
+
When wizard is open, you need to select your interval configuration and print report.
|
|
22
|
+
|
|
23
|
+
If you want to get default interval configuration any time you wish to print Aged Partner Report,
|
|
24
|
+
you can set default interval configuration per company in:
|
|
25
|
+
|
|
26
|
+
'Settings' -> 'Invoicing' -> 'OCA Aged Report Configuration'.
|
|
@@ -14,3 +14,7 @@ currency used in account move lines is properly shown.
|
|
|
14
14
|
|
|
15
15
|
In case that in an account has not been configured a second currency foreign
|
|
16
16
|
currency balances are not available.
|
|
17
|
+
|
|
18
|
+
Invoicing / Settings / Invoicing / OCA Aged Report Configuration you will be able to set
|
|
19
|
+
dynamic intervals that will appear on the Aged Partner Balance.
|
|
20
|
+
For further information, check CONFIGURE.rst
|
|
@@ -25,6 +25,8 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
25
25
|
ag_pb_data[acc_id]["90_days"] = 0.0
|
|
26
26
|
ag_pb_data[acc_id]["120_days"] = 0.0
|
|
27
27
|
ag_pb_data[acc_id]["older"] = 0.0
|
|
28
|
+
for interval_line in self.env.context["age_partner_config"].line_ids:
|
|
29
|
+
ag_pb_data[acc_id][interval_line] = 0.0
|
|
28
30
|
return ag_pb_data
|
|
29
31
|
|
|
30
32
|
@api.model
|
|
@@ -39,6 +41,8 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
39
41
|
ag_pb_data[acc_id][prt_id]["120_days"] = 0.0
|
|
40
42
|
ag_pb_data[acc_id][prt_id]["older"] = 0.0
|
|
41
43
|
ag_pb_data[acc_id][prt_id]["move_lines"] = []
|
|
44
|
+
for interval_line in self.env.context["age_partner_config"].line_ids:
|
|
45
|
+
ag_pb_data[acc_id][prt_id][interval_line] = 0.0
|
|
42
46
|
return ag_pb_data
|
|
43
47
|
|
|
44
48
|
@api.model
|
|
@@ -47,6 +51,7 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
47
51
|
):
|
|
48
52
|
ag_pb_data[acc_id]["residual"] += residual
|
|
49
53
|
ag_pb_data[acc_id][prt_id]["residual"] += residual
|
|
54
|
+
interval_lines = self.env.context["age_partner_config"].line_ids
|
|
50
55
|
today = date_at_object
|
|
51
56
|
if not due_date or today <= due_date:
|
|
52
57
|
ag_pb_data[acc_id]["current"] += residual
|
|
@@ -66,8 +71,29 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
66
71
|
else:
|
|
67
72
|
ag_pb_data[acc_id]["older"] += residual
|
|
68
73
|
ag_pb_data[acc_id][prt_id]["older"] += residual
|
|
74
|
+
days_difference = abs((today - due_date).days)
|
|
75
|
+
for index, line in enumerate(interval_lines):
|
|
76
|
+
lower_limit = 0 if not index else interval_lines[index - 1].inferior_limit
|
|
77
|
+
next_line = interval_lines[index] if index < len(interval_lines) else None
|
|
78
|
+
interval_range = self._get_values_for_range_intervals(
|
|
79
|
+
lower_limit, next_line.inferior_limit
|
|
80
|
+
)
|
|
81
|
+
if (
|
|
82
|
+
days_difference in interval_range
|
|
83
|
+
or days_difference == line.inferior_limit
|
|
84
|
+
):
|
|
85
|
+
ag_pb_data[acc_id][line] += residual
|
|
86
|
+
ag_pb_data[acc_id][prt_id][line] += residual
|
|
87
|
+
break
|
|
69
88
|
return ag_pb_data
|
|
70
89
|
|
|
90
|
+
def _get_values_for_range_intervals(self, num1, num2):
|
|
91
|
+
min_num = min(num1, num2)
|
|
92
|
+
max_num = max(num1, num2)
|
|
93
|
+
if abs(num2 - num1) == 1:
|
|
94
|
+
return [max_num]
|
|
95
|
+
return list(range(min_num + 1, max_num))
|
|
96
|
+
|
|
71
97
|
def _get_account_partial_reconciled(self, company_id, date_at_object):
|
|
72
98
|
domain = [("max_date", ">", date_at_object), ("company_id", "=", company_id)]
|
|
73
99
|
fields = [
|
|
@@ -235,6 +261,9 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
235
261
|
"older": 0.0,
|
|
236
262
|
}
|
|
237
263
|
)
|
|
264
|
+
interval_lines = self.env.context["age_partner_config"].line_ids
|
|
265
|
+
for interval_line in interval_lines:
|
|
266
|
+
ml[interval_line] = 0.0
|
|
238
267
|
due_date = ml["due_date"]
|
|
239
268
|
amount = ml["residual"]
|
|
240
269
|
today = date_at_object
|
|
@@ -250,6 +279,19 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
250
279
|
ml["120_days"] += amount
|
|
251
280
|
else:
|
|
252
281
|
ml["older"] += amount
|
|
282
|
+
days_difference = abs((today - due_date).days)
|
|
283
|
+
for index, interval_line in enumerate(interval_lines):
|
|
284
|
+
lower_limit = 0 if not index else interval_lines[index - 1].inferior_limit
|
|
285
|
+
next_line = interval_lines[index] if index < len(interval_lines) else None
|
|
286
|
+
interval_range = self._get_values_for_range_intervals(
|
|
287
|
+
lower_limit, next_line.inferior_limit
|
|
288
|
+
)
|
|
289
|
+
if (
|
|
290
|
+
days_difference in interval_range
|
|
291
|
+
or days_difference == interval_line.inferior_limit
|
|
292
|
+
):
|
|
293
|
+
ml[interval_line] += amount
|
|
294
|
+
break
|
|
253
295
|
|
|
254
296
|
def _create_account_list(
|
|
255
297
|
self,
|
|
@@ -261,6 +303,7 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
261
303
|
date_at_oject,
|
|
262
304
|
):
|
|
263
305
|
aged_partner_data = []
|
|
306
|
+
interval_lines = self.env.context["age_partner_config"].line_ids
|
|
264
307
|
for account in accounts_data.values():
|
|
265
308
|
acc_id = account["id"]
|
|
266
309
|
account.update(
|
|
@@ -275,6 +318,8 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
275
318
|
"partners": [],
|
|
276
319
|
}
|
|
277
320
|
)
|
|
321
|
+
for interval_line in interval_lines:
|
|
322
|
+
account[interval_line] = ag_pb_data[acc_id][interval_line]
|
|
278
323
|
for prt_id in ag_pb_data[acc_id]:
|
|
279
324
|
if isinstance(prt_id, int):
|
|
280
325
|
partner = {
|
|
@@ -287,6 +332,10 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
287
332
|
"120_days": ag_pb_data[acc_id][prt_id]["120_days"],
|
|
288
333
|
"older": ag_pb_data[acc_id][prt_id]["older"],
|
|
289
334
|
}
|
|
335
|
+
for interval_line in interval_lines:
|
|
336
|
+
partner[interval_line] = ag_pb_data[acc_id][prt_id][
|
|
337
|
+
interval_line
|
|
338
|
+
]
|
|
290
339
|
if show_move_line_details:
|
|
291
340
|
move_lines = []
|
|
292
341
|
for ml in ag_pb_data[acc_id][prt_id]["move_lines"]:
|
|
@@ -306,6 +355,7 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
306
355
|
|
|
307
356
|
@api.model
|
|
308
357
|
def _calculate_percent(self, aged_partner_data):
|
|
358
|
+
interval_lines = self.env.context["age_partner_config"].line_ids
|
|
309
359
|
for account in aged_partner_data:
|
|
310
360
|
if abs(account["residual"]) > 0.01:
|
|
311
361
|
total = account["residual"]
|
|
@@ -331,6 +381,10 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
331
381
|
),
|
|
332
382
|
}
|
|
333
383
|
)
|
|
384
|
+
for interval_line in interval_lines:
|
|
385
|
+
account[f"percent_{interval_line.id}"] = abs(
|
|
386
|
+
round((account[interval_line] / total) * 100, 2)
|
|
387
|
+
)
|
|
334
388
|
else:
|
|
335
389
|
account.update(
|
|
336
390
|
{
|
|
@@ -342,6 +396,8 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
342
396
|
"percent_older": 0.0,
|
|
343
397
|
}
|
|
344
398
|
)
|
|
399
|
+
for interval_line in interval_lines:
|
|
400
|
+
account[f"percent_{interval_line.id}"] = 0.0
|
|
345
401
|
return aged_partner_data
|
|
346
402
|
|
|
347
403
|
def _get_report_values(self, docids, data):
|
|
@@ -355,12 +411,12 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
355
411
|
date_from = data["date_from"]
|
|
356
412
|
only_posted_moves = data["only_posted_moves"]
|
|
357
413
|
show_move_line_details = data["show_move_line_details"]
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
)
|
|
414
|
+
aged_partner_configuration = self.env[
|
|
415
|
+
"account.age.report.configuration"
|
|
416
|
+
].browse(data["age_partner_config_id"])
|
|
417
|
+
(ag_pb_data, accounts_data, partners_data, journals_data,) = self.with_context(
|
|
418
|
+
age_partner_config=aged_partner_configuration
|
|
419
|
+
)._get_move_lines_data(
|
|
364
420
|
company_id,
|
|
365
421
|
account_ids,
|
|
366
422
|
partner_ids,
|
|
@@ -369,7 +425,9 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
369
425
|
only_posted_moves,
|
|
370
426
|
show_move_line_details,
|
|
371
427
|
)
|
|
372
|
-
aged_partner_data = self.
|
|
428
|
+
aged_partner_data = self.with_context(
|
|
429
|
+
age_partner_config=aged_partner_configuration
|
|
430
|
+
)._create_account_list(
|
|
373
431
|
ag_pb_data,
|
|
374
432
|
accounts_data,
|
|
375
433
|
partners_data,
|
|
@@ -377,7 +435,9 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
377
435
|
show_move_line_details,
|
|
378
436
|
date_at_object,
|
|
379
437
|
)
|
|
380
|
-
aged_partner_data = self.
|
|
438
|
+
aged_partner_data = self.with_context(
|
|
439
|
+
age_partner_config=aged_partner_configuration
|
|
440
|
+
)._calculate_percent(aged_partner_data)
|
|
381
441
|
return {
|
|
382
442
|
"doc_ids": [wizard_id],
|
|
383
443
|
"doc_model": "open.items.report.wizard",
|
|
@@ -388,6 +448,7 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
388
448
|
"only_posted_moves": only_posted_moves,
|
|
389
449
|
"aged_partner_balance": aged_partner_data,
|
|
390
450
|
"show_move_lines_details": show_move_line_details,
|
|
451
|
+
"age_partner_config": aged_partner_configuration,
|
|
391
452
|
}
|
|
392
453
|
|
|
393
454
|
def _get_ml_fields(self):
|