diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index 9a768a3f528..373616c90fd 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -4154,6 +4154,14 @@ class AccountMoveLine(models.Model): 'context': self.env.context, } + def _get_attachment_domains(self): + self.ensure_one() + domains = [[('res_model', '=', 'account.move'), ('res_id', '=', self.move_id.id)]] + if self.statement_id: + domains.append([('res_model', '=', 'account.bank.statement'), ('res_id', '=', self.statement_id.id)]) + if self.payment_id: + domains.append([('res_model', '=', 'account.payment'), ('res_id', '=', self.payment_id.id)]) + return domains class AccountPartialReconcile(models.Model): _name = "account.partial.reconcile" diff --git a/addons/hr_expense/models/account_move_line.py b/addons/hr_expense/models/account_move_line.py index b920de82957..6ebc17ed523 100644 --- a/addons/hr_expense/models/account_move_line.py +++ b/addons/hr_expense/models/account_move_line.py @@ -10,6 +10,12 @@ class AccountMoveLine(models.Model): expense_id = fields.Many2one('hr.expense', string='Expense', copy=False, help="Expense where the move line come from") + def _get_attachment_domains(self): + attachment_domains = super(AccountMoveLine, self)._get_attachment_domains() + if self.expense_id: + attachment_domains.append([('res_model', '=', 'hr.expense'), ('res_id', '=', self.expense_id.id)]) + return attachment_domains + def reconcile(self, writeoff_acc_id=False, writeoff_journal_id=False): res = super(AccountMoveLine, self).reconcile(writeoff_acc_id=writeoff_acc_id, writeoff_journal_id=writeoff_journal_id) account_move_ids = [l.move_id.id for l in self if float_compare(l.move_id._get_cash_basis_matched_percentage(), 1, precision_digits=5) == 0]