Pri importe je možné jedným elementom aktualizovať viacero záznamov naraz. Takto sa napríklad pridá všetkým položkám cenníka s dodávateľom FIRMA štítok VIP:
<?xml version="1.0"?>
<winstrom version="1.0">
<cenik filter="dodavatel = 'code:FIRMA'">
<stitky>VIP</stitky>
</cenik>
</winstrom>
Atribút filter určuje záznamy z danej evidencie (tu cenik), na ktorých sa operácia vykoná. Filtrovací jazyk je rovnaký ako v REST API.
Dávkové spracovanie funguje tak, ako keby namiesto jediného elementu cenik s atribútom filter boli uvedené elementy cenik pre všetky záznamy, ktoré zodpovedajú danej podmienke.
⚠️ Jediným rozdielom je, že pri dávkových operáciách sa úplne ignorujú elementy id. Cieľovú množinu záznamov určuje výhradne filter.
Zápis v JSON
Na zadanie dávkovej operácie je samozrejme možné použiť aj formát JSON:
{
"winstrom": {
"@version": "1.0",
"faktura-vydana": {
"@filter": "stitky='code:OVERENO'",
"@action": "lock"
}
}
}Týmto príkladom by došlo k vyvolaniu akcie lock nad všetkými záznamami evidencie faktura-vydana, ktoré majú priradený štítok OVERENO.
Na čo si dať pozor
Filter môže zasahovať oveľa viac záznamov, než očakávate. Skôr než operáciu spustíte, overte si rozsah čítaním — pošlite rovnaký filter ako GET s
?add-row-count=truea pozrite sa na počet záznamov.Dávkovú operáciu si možno nechať prejsť nasucho parametrom
?dry-run=true.Ak filter nevyhovuje žiadnemu záznamu, operácia prejde ako úspešná a nespraví nič — chybu nedostanete.
