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_supplier_invoice_count
| Inputs | Method | Outputs |
|---|---|---|
|
all_partners = self.with_context(active_test=False).search_fetch(
[('id', 'child_of', self.ids)],
['parent_id'],
)
supplier_invoice_groups = self.env['account.move']._read_group(
domain=[('partner_id', 'in', all_partners.ids),
+ *self.env['account.move']._check_company_domain(self.env.company),
('move_type', 'in', ('in_invoice', 'in_refund'))],
groupby=['partner_id'], aggregates=['__count']
)
self_ids = set(self._ids)
self.supplier_invoice_count = 0
for partner, count in supplier_invoice_groups:
while partner:
if partner.id in self_ids:
partner.supplier_invoice_count += count
partner = partner.parent_id
|
|
