Přeskočit na hlavní obsah

Dávková editace záznamů pomocí filtru

Je možné dávkově upravovat záznamy pomocí filtru?

Autor: Petr Pech

Hromadnou změnu lze provést jedním importem — místo identifikátoru se u evidence uvede atribut filter a Flexi změnu aplikuje na všechny odpovídající záznamy.


Zápis

<winstrom version="1.0">
<faktura-vydana filter="id between 490 492">
<varSym>11111111111</varSym>
</faktura-vydana>
</winstrom>

V odpovědi je ve statistikách vidět, kolika záznamů se změna dotkla — <updated>2</updated>. Filtr nelze uvést v adrese; musí být atributem elementu evidence.

⚠️ Znaky se zvláštním významem se v atributu zapisují entitami — &lt; místo <, jinak import skončí chybou parseru. Popisuje ji článek Chyba: The value of attribute "filter".


Položky dokladů

Takto nelze upravovat položky dokladů — evidence položek import nepovoluje a požadavek skončí chybou:

Import není povolen.

Položku je proto potřeba měnit přes její doklad: uvést identifikátor dokladu a uvnitř něj identifikátor položky.

<winstrom version="1.0">
<faktura-vydana>
<id>123</id>
<polozkyDokladu>
<faktura-vydana-polozka>
<id>456</id>
<nazev>Nový název</nazev>
</faktura-vydana-polozka>
</polozkyDokladu>
</faktura-vydana>
</winstrom>

💡 Stejným způsobem se dávkově spouštějí i akce — například <faktura-vydana action="lock" filter="…"> zamkne všechny odpovídající doklady. Viz Zamykání dokladů přes API.


Související

Dostali jste odpověď na svou otázku?