Při importu záznamu lze určit chování podle toho, zda záznam již existuje. Lze tak zajistit, aby související záznam byl importován jen pokud ještě neexistuje. Pokud již existuje, je možné, že jej již uživatel změnil a proto jej nebudeme importovat znovu a přepisovat hodnoty.
Režim lze určit pro každý záznam zvlášť a také pro každou operaci (založení/změna):
<winstrom version="1.0">
<faktura-vydana update="ignore">
<id>123</id>
...
</faktura-vydana>
</winstrom>
Režimy pro založení a změnu
Operace | Režim | Popis |
Založení |
| Pokud záznam neexistuje, ignoruj požadavek na jeho založení. |
| Pokud záznam neexistuje, selži. | |
| Pokud záznam neexistuje, normálně jej založ. Výchozí hodnota. | |
Změna |
| Pokud záznam již existuje, ignoruj požadavek na jeho změnu. |
| Pokud záznam již existuje, selži. | |
| Pokud záznam již existuje, normálně jej změň. Výchozí hodnota. |
ℹ️ Jak režimy poznat v odpovědi: při ignore server odpoví 200, ale nevrátí žádné <id> — záznam byl přeskočen. Při fail odpoví 400 s kódem hlášky importXmlCreateNeniPovolen, resp. importXmlUpdateNeniPovolen.
Chování u nenalezené vazby
Podobného mechanizmu, jako je u přeskakování řádků, je možné použít i u relací:
<winstrom version="1.0">
<faktura-vydana>
<firma if-not-found="null">code:FIRMA</firma>
...
</faktura-vydana>
</winstrom>
V tomto případě pokud nebude nalezena firma s kódem FIRMA, bude místo ní nastavena vazba na null (tj. prázdná).
Hodnota | Popis |
| Pokud záznam neexistuje, nenastavuj vazbu. |
| Pokud záznam odkazovaný kódem v současnosti neexistuje, ale v minulosti existoval, je vazba provedena na nejmladší již neplatný záznam. Jako datum se uvažuje datum dokladu, datum události, … Použití je například při importu historických dokladů s vazbou na již neplatná čísla účtů. |
| Pokud záznam odkazovaný kódem neexistuje, dojde k jeho automatickému založení. Pro záznamy číselníkového typu se vyplní vlastnosti kód / název dle hodnoty odkazu (např. |
⚠️ Bez atributu if-not-found skončí odkaz na neexistující záznam chybou 400. Pokud tedy importujete data z cizího systému, kde vazby nemusí být kompletní, atribut uveďte — jinak vám spadne celý import.
