Preskoči na glavno vsebino

Problém s vrátením polí

API mi nevracia všetky polia. Ako ich získam všetky?

Avtor: Lenka Haringerová

Na získanie všetkých polí z danej evidencie je nutné doplniť parameter detail=full.

Predvolená úroveň detailu je detail=summary, ktorá obsahuje len najdôležitejšie polia.

Detail=full je riešením, ako vypísať všetky polia. Obvykle však všetky polia nie sú vo výstupe potrebné. Váš program týmto spôsobom načíta množstvo dát, pričom skutočne využijete len niektoré. Polia, ktoré bude program spracovávať, sú však už vopred známe. Nie je teda dôvod používať detail=full.

Správne by otázka mala znieť: ako získam všetky polia, ktoré potrebujem mať vo výstupe? Odpoveďou je použitie parametra detail=custom:…, v ktorom je možné vymenovať polia, ktoré má ABRA Flexi vrátiť.

Pri použití detail=custom môžete navyše opäť zrýchliť odozvu ABRA Flexi. Z databázy sa totiž nebudú načítavať objekty, ktoré neuvediete, a tým odpadne mnoho SQL dopytov. Okrem zrýchlenia odpovedí od ABRA Flexi sa tiež zníži pamäťová náročnosť vášho programu. Nebude totiž nutné držať v pamäti také rozsiahle odpovede od ABRA Flexi.

Na zistenie, aké polia daná evidencia poskytuje, je najjednoduchšou a najprehľadnejšou možnosťou využitie /properties (napr. https://demo.flexibee.eu/c/demo/faktura-vydana/properties).

V tomto výstupe sa dozviete, akých hodnôt môžu jednotlivé polia nadobúdať. Pri väzbových objektoch zistíte, na akú evidenciu odkazujú a v neposlednom rade, či bude pole zohľadnené pri importe XML.

Ukážka:

https://demo.flexibee.eu/c/demo/faktura-vydana.xml – detail=summary https://demo.flexibee.eu/c/demo/faktura-vydana.xml?detail=full – detail=full https://demo.flexibee.eu/c/demo/faktura-vydana.xml?detail=custom:id,typDokl,nazFirmy,sumCelkem,zbyvaUhradit – detail=custom, který vrací jen potřebná pole
Ste s tem dobili odgovor na svoje vprašanje?