Endstand alter Zähler fließt in Verbrauchsberechnung ein

Bisher wurde "Letzter Stand alter Zähler" zwar in
ContractMeter.finalReading gespeichert, aber nirgends ausgewertet.

Neuer Helper recordPredecessorFinalReading legt am Wechseldatum
einen regulären MeterReading-Eintrag für den Vorgänger an
(idempotent, mit Validierung gegen vorhandene Stände). Aufgerufen
aus addSuccessorMeter (Vertragsansicht) und createMeter mit
successorOf (Kundenakte).

Folge: Der Endstand erscheint in der Zählerstände-Liste des alten
Zählers und fließt automatisch über calculateMultiMeterConsumption
in den Verbrauch (Zeitraum bis removedAt ist inklusive).

UI-Hinweise in beiden Folgezähler-Forms erklären den Effekt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-30 14:14:03 +02:00
parent 34e106f253
commit 61ce35821d
5 changed files with 151 additions and 1 deletions
@@ -433,6 +433,12 @@ function SuccessorMeterButton({
placeholder="Optional"
/>
</div>
{finalReading && (
<p className="text-xs text-blue-700 mt-2">
Wird automatisch als Zählerstand des alten Zählers zum Wechseldatum
erfasst und fließt damit in die Verbrauchsberechnung ein.
</p>
)}
<div className="flex gap-2 mt-3">
<Button
size="sm"
@@ -3040,7 +3040,8 @@ function MeterModal({
<p className="text-xs text-blue-700">
Typ, Adresse und Tarifmodell werden vom Vorgänger übernommen. Alle Verträge,
die den Vorgänger-Zähler verwenden, werden automatisch auf diesen neuen Zähler
umgestellt.
umgestellt. Der Endstand wird als Zählerstand des alten Zählers zum Wechseldatum
erfasst und fließt damit in die Verbrauchsberechnung ein.
</p>
</div>
)}