Při exportu XML ze systému se vyexportuje mnoho polí. Nicméně mnoho z nich je jen pro čtení (např. aktuální průměrná cena skladu) a tak je nelze modifikovat. Současně není nutné uvádět spoustu hodnot, protože jsou buď výchozí a nebo jsou brány z typu dokladu.
Pravidla pro tvorbu XML
Obvykle platí, že je nutné vyplňovat jen ty údaje, které musíte zadat v aplikaci při ručním zakládání záznamu.
Některé položky je ovšem potřeba uvést, protože aplikace nabídne jejich výchozí hodnotu, ale v importech je nutné je uvést.
Téměř vždy je povinná položka typ dokladu (
<typDokl/>). Ta určuje, jakého typu daný doklad je (např. faktura, záloha apod.).Je nutné uvádět jen hodnotu v tagu (bez atributů). Atributy
refashowAsjsou ignorovány a v exportu jsou jen pro snažší vizualizaci uživateli.Při navázání na další systém je potřeba uvádět identifikátory. Ty mohou být různých typů (
code:,ext:,ean:, …).V závislosti na typu dokladu se Vám může stát, že je jednou nutné nějaký atribut uvádět a jindy ne.
Jak zjistit, které položky jsou povinné
Nemusíte hádat — přehled vlastností evidence to říká přímo. Každá položka ve výstupu /properties nese příznaky mandatory a isWritable:
GET /c/<identifikátor firmy>/<evidence>/properties.xml
<property>
<propertyName>typDokl</propertyName>
<name>Typ dokladu</name>
<type>relation</type>
<mandatory>true</mandatory>
<isWritable>true</isWritable>
</property>
| Položka je povinná — bez ní import záznamu neprojde. |
| Hodnota |
| Zda lze hodnotu přepsat, i když ji systém sám dopočítává. |
💡 U vydané faktury má z 179 vlastností příznak mandatory jen devět (mezi nimi typDokl, datVyst, kod a varSym) a 38 vlastností je jen pro čtení. Vyplácí se tedy si /properties jednou projít, než budete importní XML skládat metodou pokus–omyl.
Ověření bez uložení
Jestli je XML kompletní, si nejjednodušeji zkontrolujete testovacím uložením — přidáním parametru ?dry-run=true se záznam neuloží, ale proběhnou všechny validace.
