ABRA Flexi umožňuje čiastočné aktualizácie záznamov (zmeny hodnôt). Pri aktualizácii záznamov zadajte len atribúty, ktoré chcete zmeniť. Ak zadáte prázdny atribút, hodnota atribútu sa vymaže.

<?xml version="1.0"?>
<winstrom version="1.0">
  <cenik id="123">
    <nameA>Nov&#xE9; meno</nameA>
    <!-- hodnota zmenená -->
    <ean/>
    <!-- hodnota odstránená -->
  </cenik>
</winstrom>

Odstraňovanie položiek

Väčšina záznamov môže obsahovať položky (napr. faktúru). Tieto položky možno pridávať a odstraňovať. Ak pre položku nie je uvedený žiadny identifikátor, rozhodujúce je poradie položky. Pri položkách sa odporúča uvádzať aj externý identifikátor, pretože k položke možno priradiť ďalšie informácie (napr. z ktorého skladu bola položka vydaná). Ak sú položky spravované len podľa poradia a záznam je vložený na začiatku, hodnoty sa prepíšu, ale prepojené informácie zostanú zachované s pôvodnými záznamami. Tento postup preto nie je vhodný na aktualizácie.

Aktualizácia všetkých položiek

Ak pri aktualizácii položiek nie je zadaný žiadny identifikátor, záznamy sa pridajú vždy. Ak chcete nahradiť zoznam záznamov a odstrániť tak všetky položky, ktoré nie sú uvedené v zozname pri aktualizácii, použite atribút removeAll="true":

<?xml version="1.0"?>
<winstrom version="1.0">
  <invoice-issued id="123">
    <invoice-item removeAll="true">
      <invoice-issued-item><id>14</id> &#x22EE; </invoice-issued-item>
    </invoice-item>
  </invoice-issued>
</winstrom>

V takom prípade sa všetky položky, ktoré nie sú uvedené v zozname, vymažú. Uvedené položky budú aktualizované/aktualizované.

Rovnaká požiadavka prepísaná do formátu JSON by vyzerala takto:

null

Na priame odstránenie vybraných položiek možno použiť atribút action="delete", pozri časť Vykonávanie akcií.

Medzi položkami môžu existovať vnútorné závislosti, takže položka, ktorá nie je explicitne upravená, môže byť počas aktualizácie zmenená.

Aktualizácia štítkov funguje na podobnom princípe ako aktualizácia položiek.

Did this answer your question?