Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: Invoicing

Entity: res.partner

Compute Method: _compute_account_move_count

Inputs Method Outputs
  • id
  • parent_id
all_partners = self.with_context(active_test=False).search_fetch(
            [("id", "child_of", self.ids)],
            ["parent_id"],
        )
domain = [
            ("partner_id", "in", all_partners.ids),
            ("move_type", "in", ("out_invoice", "out_refund")),
        ]
account_move_groups = self.env["account.move"]._read_group(
            domain=domain, groupby=["partner_id"], aggregates=["__count"],
        )
self_ids = set(self._ids)
self.account_move_count = 0
for partner, count in account_move_groups:
            while partner:
                if partner.id in self_ids:
                    partner.account_move_count += count
                partner = partner.parent_id

Back to entity