Vererbung Einkommen/Ausgaben + Real/Nominal-Umschalter
Deploy App / deploy (push) Successful in 1m2s
Deploy App / deploy (push) Successful in 1m2s
Punkt 1: Beim Speichern eines Einkommens-/Ausgaben-Basiswerts, der dem fortgeschriebenen Wert der Vorphase entspricht, wird KEIN Override gespeichert. Damit wirken sich Aenderungen in frueheren Phasen automatisch auf Folgephasen aus (live vererbt); nur ein bewusst abweichender Wert bleibt fix. Punkt 2: Anzeige-Umschalter oben links (Nominal / Beide / Real), pro Geraet gespeichert. Alle Betraege in Matrix, Cash-Zeile und Phasenkopf zeigen je nach Wahl den nominalen, realen (kaufkraftbereinigten) oder beide Werte. Engine liefert dazu cumulativeInflationStart (Deflator zu Phasenbeginn) zusaetzlich zum Phasenende. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -455,7 +455,19 @@ export function ElementDetail({ element, context, phaseData, transitionData, onS
|
||||
if (isTransition) {
|
||||
await api.put(`/api/elements/${element.id}/transition/${context.phaseId}`, td);
|
||||
} else {
|
||||
await api.put(`/api/elements/${element.id}/phase/${context.phaseId}`, pd);
|
||||
const payload: PhaseData = { ...pd };
|
||||
// Einkommen/Ausgaben ab Phase 2: entspricht der Basiswert dem fortgeschriebenen Wert
|
||||
// der Vorphase, KEINEN Override speichern -> Wert bleibt live vererbt (Aenderungen in
|
||||
// frueheren Phasen wirken sich weiter aus). Nur ein bewusst abweichender Wert wird fix.
|
||||
if (
|
||||
(element.category === "INCOME" || element.category === "EXPENSE") &&
|
||||
context.carried &&
|
||||
typeof payload.amount === "number" &&
|
||||
payload.amount === Math.round(context.derivedStart)
|
||||
) {
|
||||
delete payload.amount;
|
||||
}
|
||||
await api.put(`/api/elements/${element.id}/phase/${context.phaseId}`, payload);
|
||||
}
|
||||
onSaved();
|
||||
} catch (e) {
|
||||
|
||||
Reference in New Issue
Block a user