|
|
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
|
|