Přeskočit na hlavní obsah

Povinné položky importu

Povinnost atributů v REST API

Autor: Petr Pech

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 ref a showAs jsou 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>

mandatory

Položka je povinná — bez ní import záznamu neprojde.

isWritable

Hodnota false znamená položku jen pro čtení. Uvedete-li ji v importu, bude ignorována.

isOverWritable

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.


Související

Dostali jste odpověď na svou otázku?