Možnosť reakcie na zmenu je zabudovaná v systéme a môžete ju použiť z iného systému. Táto funkcia sa zvyčajne používa v kombinácii s ?dry-run=true v prípadoch, keď používateľovi sprístupňujete údaje na priamu úpravu. Používateľ teda očakáva, že ak zmení kód spoločnosti na faktúre, názov spoločnosti sa prepíše. Vo formulári však musí byť uvedený aj názov spoločnosti, aby ho používateľ mohol zmeniť. Na určenie reakcie na túto zmenu možno použiť predchádzajúcu hodnotu. V jednej požiadavke možno použiť viacero predchádzajúcich hodnôt.

Úryvok:

<?xml version="1.0"?>
<winstrom version="1.0">
  <invoice-issue id="123">
    <firm previousValue="code:JINA FIRMA">code:FIRMA</firm>
    <nazFirmy>&#x10E;al&#x161;ia firma</nazFirmy>
  </invoice-issue>
</winstrom>

Odpoveď teda znie:

<?xml version="1.0"?>
<winstrom version="1.0">
  <invoice-issued id="123">
    <firm>code:FIRM</firm>
    <nazFirms>Firm</nazFirms>
  </invoice-issued>
</winstrom>

Ak by predchádzajúca hodnota nebola zadaná, odpoveď by vyzerala takto:

<?xml version="1.0"?>
<winstrom version="1.0">
  <invoice-issued id="123">
    <firm>code:FIRM</firm>
    <nazFirms>Other firm</nazFirms>
  </invoice-issued>
</winstrom>

Ak by ste chceli dosiahnuť rovnaký efekt bez uvedenia predchádzajúcej hodnoty, museli by ste vynechať atribúty, ktoré súvisia so zmeneným atribútom. Preto by ste museli poznať aj všetky väzby, ktoré závisia od aktuálnych údajov.

Ak napríklad zmeníte typ dokladu, ale nezmeníte tým pravidlo účtovania, nedôjde k prepísaniu účtov (má to plus mínus rovnaký charakter). Inými slovami, proces reakcie na zmenu sa spustí len vtedy, ak nastala skutočná zmena.

Vo formáte JSON je hodnota uvedená ako dodatočný tag s názvom company-previousValue.

Did this answer your question?