From 4e7161a12c449932c0d8e2ccc3a086a145357c14 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Wed, 10 Jun 2020 08:08:54 +0000 Subject: [PATCH] [FIX] account: compute methods do not always assign value --- addons/account/models/account_payment.py | 5 +++++ addons/account/models/partner.py | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/addons/account/models/account_payment.py b/addons/account/models/account_payment.py index a3f6d746212..66c5e5df5c8 100644 --- a/addons/account/models/account_payment.py +++ b/addons/account/models/account_payment.py @@ -420,7 +420,12 @@ class AccountPayment(models.Model): ''' Retrieve the invoices reconciled to the payments through the reconciliation (account.partial.reconcile). ''' stored_payments = self.filtered('id') if not stored_payments: + self.reconciled_invoice_ids = False + self.reconciled_invoices_count = 0 + self.reconciled_statement_ids = False + self.reconciled_statements_count = 0 return + self.env['account.move'].flush() self.env['account.move.line'].flush() self.env['account.partial.reconcile'].flush() diff --git a/addons/account/models/partner.py b/addons/account/models/partner.py index e72f3f8a723..160536e4849 100644 --- a/addons/account/models/partner.py +++ b/addons/account/models/partner.py @@ -302,12 +302,13 @@ class ResPartner(models.Model): return self._asset_difference_search('payable', operator, operand) def _invoice_total(self): + self.total_invoiced = 0 if not self.ids: return True all_partners_and_children = {} all_partner_ids = [] - for partner in self: + for partner in self.filtered('id'): # price_total is in the company currency all_partners_and_children[partner] = self.with_context(active_test=False).search([('id', 'child_of', partner.id)]).ids all_partner_ids += all_partners_and_children[partner]