fix: target actual bank.rec.widget (OWL) instead of legacy reconciliation widget — implement rest_debit/rest_credit fields + template extension

This commit is contained in:
Kristof Bernaert
2026-08-10 20:50:58 +02:00
parent 2a99ecbe5b
commit 277b38a0e9
7 changed files with 105 additions and 94 deletions
@@ -0,0 +1 @@
from . import bank_rec_widget_line
@@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models
class BankRecWidgetLine(models.Model):
_inherit = "bank.rec.widget.line"
# Restbedrag = het verschil tussen het volledige (bron)bedrag van de
# boeking en het bedrag dat effectief wordt ingezet om af te letteren.
# Enkel relevant wanneer de boeking niet volledig wordt gebruikt
# (zie display_stroked_balance / flag == 'new_aml').
#
# Elk veld op dit model wordt automatisch geserialiseerd naar de
# 'lines_widget' data (zie bank_rec_widget._compute_lines_widget), dus
# deze twee velden komen vanzelf beschikbaar in de front-end als
# line.rest_debit / line.rest_credit (met .display, .value, .is_zero).
rest_debit = fields.Monetary(
currency_field="company_currency_id",
compute="_compute_dlv_rest_amount",
)
rest_credit = fields.Monetary(
currency_field="company_currency_id",
compute="_compute_dlv_rest_amount",
)
@api.depends("balance", "source_balance")
def _compute_dlv_rest_amount(self):
for line in self:
rest = line.source_balance - line.balance
line.rest_debit = rest if rest > 0.0 else 0.0
line.rest_credit = -rest if rest < 0.0 else 0.0