fix: only show rest amount for new_aml lines, position it next to the current amount instead of the struck-through source amount
This commit is contained in:
@@ -23,9 +23,17 @@ class BankRecWidgetLine(models.Model):
|
||||
compute="_compute_dlv_rest_amount",
|
||||
)
|
||||
|
||||
@api.depends("balance", "source_balance")
|
||||
@api.depends("balance", "source_balance", "flag")
|
||||
def _compute_dlv_rest_amount(self):
|
||||
# Enkel voor 'new_aml'-regels heeft source_balance een betekenisvolle
|
||||
# waarde t.o.v. balance (zie _compute_display_stroked_balance in
|
||||
# bank_rec_widget_line.py van account_accountant). Voor andere
|
||||
# regels (o.a. de liquidity-regel) staat source_balance gewoon op 0,
|
||||
# wat zonder deze check een fout restbedrag zou opleveren.
|
||||
for line in self:
|
||||
rest = line.source_balance - line.balance
|
||||
if line.flag == "new_aml":
|
||||
rest = line.source_balance - line.balance
|
||||
else:
|
||||
rest = 0.0
|
||||
line.rest_debit = rest if rest > 0.0 else 0.0
|
||||
line.rest_credit = -rest if rest < 0.0 else 0.0
|
||||
|
||||
+21
-7
@@ -3,9 +3,11 @@
|
||||
|
||||
<!--
|
||||
Voegt het restbedrag (line.rest_debit / line.rest_credit, berekend in
|
||||
models/bank_rec_widget_line.py) tussen haakjes toe naast het
|
||||
doorgestreepte bronbedrag van een afletteringsregel die niet
|
||||
volledig wordt ingezet (bv. een gedeeltelijk gematchte factuur).
|
||||
models/bank_rec_widget_line.py) tussen haakjes toe naast het bedrag
|
||||
van de bovenste (huidig ingezette) regel van een afletteringsregel
|
||||
die niet volledig wordt gebruikt (bv. een gedeeltelijk gematchte
|
||||
factuur). rest_debit/rest_credit staan op 0 voor elke regel die geen
|
||||
'new_aml' is (o.a. de liquidity-regel), dus daar verschijnt niets.
|
||||
|
||||
Origineel template: account_accountant.bank_rec_widget_form_lines_widget
|
||||
(enterprise-sys/account_accountant/static/src/components/bank_reconciliation/bank_rec_widget.xml)
|
||||
@@ -13,18 +15,30 @@
|
||||
Dit is een echt OWL-template, dus we breiden het uit via
|
||||
t-inherit-mode="extension" + <xpath>, zodat de patch automatisch
|
||||
toegepast wordt zonder de JS-component te moeten aanpassen.
|
||||
|
||||
De bovenste rij gebruikt t-out als attribuut rechtstreeks op de
|
||||
<td> (geen child-elementen), en t-out overschrijft de volledige
|
||||
inhoud van het element. Om er toch een extra <span> naast te
|
||||
kunnen tonen, vervangen we de <td> volledig door een variant met
|
||||
de waarde in een child-<t>, gevolgd door onze rest-span.
|
||||
-->
|
||||
<t t-name="dlv_account_reconciliation_rest_amount.bank_rec_widget_form_lines_widget"
|
||||
t-inherit="account_accountant.bank_rec_widget_form_lines_widget"
|
||||
t-inherit-mode="extension"
|
||||
owl="1">
|
||||
|
||||
<xpath expr="(//td[@field='debit'])[2]" position="inside">
|
||||
<span t-if="!line.rest_debit.is_zero" class="dlv_rest_amount text-muted ms-1" title="Nog te matchen"> (<t t-out="line.rest_debit.display"/>)</span>
|
||||
<xpath expr="(//td[@field='debit'])[1]" position="replace">
|
||||
<td class="o_data_cell o_field_cell o_list_number" field="debit">
|
||||
<t t-if="!line.debit.is_zero" t-out="line.debit.display"/>
|
||||
<span t-if="!line.rest_debit.is_zero" class="dlv_rest_amount text-muted ms-1" title="Nog te matchen"> (<t t-out="line.rest_debit.display"/>)</span>
|
||||
</td>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="(//td[@field='credit'])[2]" position="inside">
|
||||
<span t-if="!line.rest_credit.is_zero" class="dlv_rest_amount text-muted ms-1" title="Nog te matchen"> (<t t-out="line.rest_credit.display"/>)</span>
|
||||
<xpath expr="(//td[@field='credit'])[1]" position="replace">
|
||||
<td class="o_data_cell o_field_cell o_list_number" field="credit">
|
||||
<t t-if="!line.credit.is_zero" t-out="line.credit.display"/>
|
||||
<span t-if="!line.rest_credit.is_zero" class="dlv_rest_amount text-muted ms-1" title="Nog te matchen"> (<t t-out="line.rest_credit.display"/>)</span>
|
||||
</td>
|
||||
</xpath>
|
||||
|
||||
</t>
|
||||
|
||||
Reference in New Issue
Block a user