Do systému je zapracovaná schopnosť reakcie na zmenu a tú môžete použiť aj z iného systému. Táto funkcia sa obvykle používa v kombinácii s ?dry-run=true v prípadoch, keď sprístupňujete dáta používateľovi na priamu editáciu.
Používateľ očakáva, že ak na faktúre zmení kód firmy, dôjde k prepísaniu názvu firmy. Napriek tomu musí byť vo formulári uvedený aj názov firmy, aby ho používateľ mohol zmeniť. Pomocou predchádzajúcej hodnoty sa dá určiť reakcia na túto zmenu. Predchádzajúcich hodnôt je možné v jednom požiadavku použiť viacero.
Ukážka
Požiadavka s uvedenou predchádzajúcou hodnotou:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana id="123">
<firma previousValue="code:JINA FIRMA">code:FIRMA</firma>
<nazFirmy>Jiná firma</nazFirmy>
</faktura-vydana>
</winstrom>
Odpoveďou je potom — názov firmy sa prepísal podľa novo vybranej firmy:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana id="123">
<firma>code:FIRMA</firma>
<nazFirmy>Firma</nazFirmy>
</faktura-vydana>
</winstrom>
V prípade, že by nebola uvedená predchádzajúca hodnota, vyzerala by odpoveď takto — názov firmy zostane taký, aký bol poslaný:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana id="123">
<firma>code:FIRMA</firma>
<nazFirmy>Jiná firma</nazFirmy>
</faktura-vydana>
</winstrom>
Prečo to používať
Ak by ste chceli dosiahnuť rovnaký efekt aj bez uvedenia predchádzajúcej hodnoty, museli by ste vynechať atribúty, ktoré súvisia s meneným atribútom. Museli by ste tak poznať všetky väzby, ktoré závisia aj od aktuálnych dát.
ℹ️ Proces reakcie na zmenu sa spúšťa len vtedy, ak došlo k skutočnej zmene. Ak napríklad zmeníte typ dokladu, ktorý ale nezmení predpis zaúčtovania, nedôjde k prepísaniu účtov (má dať a dal).
Zápis v JSON
Vo formáte JSON sa hodnota uvádza ako ďalší tag s názvom firma-previousValue:
{
"winstrom": {
"@version": "1.0",
"faktura-vydana": [{
"id": "123",
"firma": "code:FIRMA",
"firma-previousValue": "code:JINA FIRMA",
"nazFirmy": "Jiná firma"
}]
}
}
