mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
[IMP][account_banking_payment_transfer] Use Standard method to reconcile parners move line
This commit is contained in:
@@ -205,7 +205,6 @@ class PaymentOrder(models.Model):
|
||||
|
||||
# TODO: take multicurrency into account
|
||||
aml_obj = self.env['account.move.line']
|
||||
pl_obj = self.env['payment.line']
|
||||
# create the payment/debit counterpart move line
|
||||
# on the partner account
|
||||
partner_ml_vals = self._prepare_move_line_partner_account(
|
||||
@@ -216,10 +215,13 @@ class PaymentOrder(models.Model):
|
||||
# on the payment line and call reconciliation on it
|
||||
line.write({'transit_move_line_id': partner_move_line.id})
|
||||
|
||||
if line.move_line_id:
|
||||
pl_obj.debit_reconcile(line.id)
|
||||
else:
|
||||
self.action_sent_no_move_line_hook(line)
|
||||
def _reconcile_payment_lines(self, payment_lines):
|
||||
pl_obj = self.env['payment.line']
|
||||
for line in payment_lines:
|
||||
if line.move_line_id:
|
||||
pl_obj.debit_reconcile(line.id)
|
||||
else:
|
||||
self.action_sent_no_move_line_hook(line)
|
||||
|
||||
@api.one
|
||||
def action_sent(self):
|
||||
@@ -267,6 +269,7 @@ class PaymentOrder(models.Model):
|
||||
trf_ml_vals = self._prepare_move_line_transfer_account(
|
||||
total_amount, move, lines, labels)
|
||||
aml_obj.create(trf_ml_vals)
|
||||
self._reconcile_payment_lines(lines)
|
||||
|
||||
# post account move
|
||||
move.post()
|
||||
|
||||
@@ -129,7 +129,6 @@ class PaymentLine(orm.Model):
|
||||
|
||||
if isinstance(payment_line_id, (list, tuple)):
|
||||
payment_line_id = payment_line_id[0]
|
||||
reconcile_obj = self.pool.get('account.move.reconcile')
|
||||
move_line_obj = self.pool.get('account.move.line')
|
||||
payment_line = self.browse(cr, uid, payment_line_id, context=context)
|
||||
|
||||
@@ -160,28 +159,9 @@ class PaymentLine(orm.Model):
|
||||
cr, uid, transit_move_line.company_id.currency_id, total)
|
||||
|
||||
line_ids = [transit_move_line.id, torec_move_line.id]
|
||||
if torec_move_line.reconcile_partial_id:
|
||||
line_ids = [
|
||||
x.id for x in
|
||||
torec_move_line.reconcile_partial_id.line_partial_ids
|
||||
] + [transit_move_line.id]
|
||||
move_line_obj.reconcile_partial(cr, uid, line_ids, type='manual',
|
||||
context=context)
|
||||
|
||||
total = move_line_obj.get_balance(cr, uid, line_ids)
|
||||
vals = {
|
||||
'type': 'auto',
|
||||
'line_id': is_zero(total) and [(6, 0, line_ids)] or [(6, 0, [])],
|
||||
'line_partial_ids': (is_zero(total) and
|
||||
[(6, 0, [])] or
|
||||
[(6, 0, line_ids)]),
|
||||
}
|
||||
|
||||
if torec_move_line.reconcile_partial_id:
|
||||
reconcile_obj.write(
|
||||
cr, uid, [torec_move_line.reconcile_partial_id.id],
|
||||
vals, context=context)
|
||||
else:
|
||||
reconcile_obj.create(
|
||||
cr, uid, vals, context=context)
|
||||
for line_id in line_ids:
|
||||
workflow.trg_trigger(
|
||||
uid, 'account.move.line', line_id, cr)
|
||||
|
||||
Reference in New Issue
Block a user