From 8dc6135948efbfce59f7bd764d0308120a4fceaf Mon Sep 17 00:00:00 2001 From: Enric Tobella Date: Fri, 22 Mar 2024 10:49:32 +0100 Subject: [PATCH] [FIX] account_reconcile_oca: Use counterparts properly --- .../models/account_bank_statement_line.py | 16 +++++++++------- .../models/account_reconcile_abstract.py | 6 +++--- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/account_reconcile_oca/models/account_bank_statement_line.py b/account_reconcile_oca/models/account_bank_statement_line.py index e820a40f..f3584b35 100644 --- a/account_reconcile_oca/models/account_bank_statement_line.py +++ b/account_reconcile_oca/models/account_bank_statement_line.py @@ -130,7 +130,9 @@ class AccountBankStatementLine(models.Model): for line in data: if line["kind"] != "suspense": pending_amount += line["amount"] - if line.get("counterpart_line_id") == self.add_account_move_line_id.id: + if self.add_account_move_line_id.id in line.get( + "counterpart_line_ids", [] + ): is_new_line = False else: new_data.append(line) @@ -161,8 +163,8 @@ class AccountBankStatementLine(models.Model): suspense_line = False counterparts = [] for line in data: - if line.get("counterpart_line_id"): - counterparts.append(line["counterpart_line_id"]) + if line.get("counterpart_line_ids"): + counterparts += line["counterpart_line_ids"] if ( line["account_id"][0] == self.journal_id.suspense_account_id.id or not line["account_id"][0] @@ -524,10 +526,10 @@ class AccountBankStatementLine(models.Model): ) .create(self._reconcile_move_line_vals(line_vals)) ) - if line_vals.get("counterpart_line_id"): + if line_vals.get("counterpart_line_ids"): to_reconcile.append( self.env["account.move.line"].browse( - line_vals.get("counterpart_line_id") + line_vals.get("counterpart_line_ids") ) + line ) @@ -590,10 +592,10 @@ class AccountBankStatementLine(models.Model): .with_context(check_move_validity=False, skip_invoice_sync=True) .create(self._reconcile_move_line_vals(line_vals, move.id)) ) - if line_vals.get("counterpart_line_id") and line.account_id.reconcile: + if line_vals.get("counterpart_line_ids") and line.account_id.reconcile: to_reconcile[line.account_id.id] |= ( self.env["account.move.line"].browse( - line_vals.get("counterpart_line_id") + line_vals.get("counterpart_line_ids") ) | line ) diff --git a/account_reconcile_oca/models/account_reconcile_abstract.py b/account_reconcile_oca/models/account_reconcile_abstract.py index f07f9d6e..306f9b9d 100644 --- a/account_reconcile_oca/models/account_reconcile_abstract.py +++ b/account_reconcile_oca/models/account_reconcile_abstract.py @@ -86,10 +86,10 @@ class AccountReconcileAbstract(models.AbstractModel): vals.update( { "id": False, - "counterpart_line_id": ( + "counterpart_line_ids": ( line.matched_debit_ids.mapped("debit_move_id") | line.matched_credit_ids.mapped("credit_move_id") - ).id, + ).ids, } ) if not float_is_zero( @@ -98,5 +98,5 @@ class AccountReconcileAbstract(models.AbstractModel): vals["original_amount"] = abs(original_amount) vals["original_amount_unsigned"] = original_amount if is_counterpart: - vals["counterpart_line_id"] = line.id + vals["counterpart_line_ids"] = line.ids return vals