diff --git a/account_financial_report/models/account_group.py b/account_financial_report/models/account_group.py index 726765cd..45938cc5 100644 --- a/account_financial_report/models/account_group.py +++ b/account_financial_report/models/account_group.py @@ -16,6 +16,7 @@ class AccountGroup(models.Model): ) compute_account_ids = fields.Many2many( "account.account", + recursive=True, compute="_compute_group_accounts", string="Compute accounts", store=True, @@ -58,16 +59,11 @@ class AccountGroup(models.Model): group.level = group.parent_id.level + 1 @api.depends( - "code_prefix_start", "account_ids", - "account_ids.code", - "group_child_ids", - "group_child_ids.account_ids.code", + "group_child_ids.compute_account_ids", ) def _compute_group_accounts(self): - account_obj = self.env["account.account"] - accounts = account_obj.search([]) - for group in self: - prefix = group.code_prefix_start if group.code_prefix_start else group.name - gr_acc = accounts.filtered(lambda a: a.code.startswith(prefix)).ids - group.compute_account_ids = [(6, 0, gr_acc)] + for one in self: + one.compute_account_ids = ( + one.account_ids | one.group_child_ids.compute_account_ids + )