Změna kurzu u cizoměnového dokladu se sama nepromítne do částek v tuzemské měně. Aby Flexi doklad přepočítala, musí spolu s novou hodnotou dorazit i ta předchozí — atribut previousValue.
Zápis
{
"winstrom": {
"faktura-vydana": [{
"id": "code:FAKTURA123",
"kurz": "24.645",
"kurz@previousValue": "24.70",
"datVyst": "2026-05-28",
"datVyst@previousValue": "2026-06-18"
}]
}
}
🚨 Bez previousValue se změna kurzu neuloží vůbec. Požadavek skončí s success=true, ale kurz i částky zůstanou beze změny — na dokladu tedy tiše zůstane původní hodnota. S uvedenou předchozí hodnotou se kurz změní a částky v tuzemské měně se přepočítají (na ověřovaném dokladu 100 v cizí měně: kurz 25 → základ 2 500 Kč, po změně na kurz 30 → 3 000 Kč).
Proč to tak je
Atribut previousValue spouští v ABRA Flexi reakci na změnu — tedy stejnou logiku, jaká se spustí, když hodnotu přepíše uživatel v aplikaci. Bez něj se u polí s navázaným přepočtem změna neprojeví, protože systém nemá důvod dopočet spustit.
V XML se zapisuje jako atribut, v JSON jako další klíč:
XML: <kurz previousValue="24.70">24.645</kurz>
JSON: "kurz": "24.645", "kurz@previousValue": "24.70"
(funguje i tvar "kurz-previousValue")
ℹ️ Předchozích hodnot lze v jednom požadavku uvést víc. Nepřepočítají-li se částky tak, jak potřebujete, bývá příčinou zaokrouhlovací položka — u dokladů s položkami se kontroluje celkový součet.
