V URL používanom na získavanie dát z ABRA Flexi je možné využiť mnoho parametrov, ktoré ovplyvňujú získané výsledky.
Stránkovanie
Takmer každý používateľ ABRA Flexi API bude skôr alebo neskôr potrebovať nejakým spôsobom stránkovať výsledky, ktoré mu systém vracia. Napríklad len z toho dôvodu, že bez iného určenia ABRA Flexi vracia len prvých 20 výsledkov. Implicitne je totiž stránka veľká 20 záznamov. Pokiaľ je teda potrebné zo systému získať ďalšie stránky alebo mať stránku dlhšiu, je nutné začať používať parametre.
Dôležité parametre sú:
limit
Tento parameter určuje, koľko záznamov bude na jednej stránke.
Pokiaľ potrebujete získať stránku so všetkými záznamami naraz, je nutné tento parameter nastaviť na hodnotu 0.
demo.flexibee.eu/c/demo/adresar.xml
Vráti sa prvých dvadsať záznamov z evidencie adresár.
demo.flexibee.eu/c/demo/adresar.xml?limit=5
Vráti sa prvých päť záznamov z evidencie adresár.
demo.flexibee.eu/c/demo/adresar.xml?limit=0
Vrátia sa všetky záznamy z evidencie adresár.
start
Pokiaľ je požadované stránkovanie výsledkov, samotný limit nestačí. Je nutné použiť aj parameter start, ktorý určí, na ktorom zázname stránka začína.
Prvý záznam a zároveň predvolená hodnota je start=0.
demo.flexibee.eu/c/demo/adresar.xml?limit=5&start=0
Vráti stránku o veľkosti 5 záznamov z evidencie adresár a začne na prvom zázname.
demo.flexibee.eu/c/demo/adresar.xml?limit=5&start=5
Vráti druhú stránku o veľkosti 5 záznamov z evidencie adresár. Druhá stránka je určená parametrom start s hodnotou 5.
add-row-count
Pokiaľ stránkujete záznamy, je vhodné určiť, kedy skončiť. Je teda tiež možné do URL pridať parameter, ktorý do výstupu doplní celkový počet záznamov, cez ktoré je možné stránkovať. Tento parameter sa volá add-row-count a nadobúda hodnoty true alebo false podľa toho, či sa má celkový počet dopĺňať, alebo nie.
demo.flexibee.eu/c/demo/adresar.xml?limit=5&add-row-count=true
Vráti stránku o veľkosti 5 záznamov z evidencie adresár. V elemente winstrom je doplnený atribút rowCount, ktorý obsahuje celkový počet záznamov.
demo.flexibee.eu/c/demo/adresar.json?limit=5&add-row-count=true
Rovnaký postup je možné aplikovať aj na JSON výstup. Potom bude do výstupu doplnené „@rowCount":"457″.
Pre čo najrýchlejšiu odozvu Flexi odporúčame používať stránkovanie!
Ďalšou optimalizáciou môže byť odstránenie parametra add-row-count pri načítavaní ďalších stránok. Nie je totiž nutné pri každej stránke overovať, či sa tento počet nezmenil. Navyše získanie tohto čísla predstavuje v ABRA Flexi ďalší dotaz do databázy a každý zbytočný dotaz navyše je spomalenie.
Úrovne detailu
Ďalším veľmi dôležitým parametrom je detail. Tento parameter umožňuje ovplyvniť, aké vlastnosti jednotlivých záznamov danej evidencie sa budú vo výstupe nachádzať. Je to však veľmi rozsiahla téma, preto si ju v budúcnosti rozoberieme v samostatnom článku.
Dokumentácia k jednotlivým detailom je dostupná na stránkach ABRA Flexi.
Radenie
Vo väčšine prípadov je potrebné záznamy, ktoré ABRA Flexi vracia, mať rovno aj zoradené podľa nejakej vlastnosti. Prečo by sme mali záznamy radiť vo vlastnej aplikácii, keď aj toto za vás môže vyriešiť ABRA Flexi?
Radenie záznamov sa vykonáva parametrom order. Hodnota tohto parametra je vlastnosť, podľa ktorej budete chcieť radiť.
demo.flexibee.eu/c/demo/adresar.xml?order=kod
Pokiaľ teda do URL doplníte parameter order=kod, systém bude vracať záznamy zoradené podľa vlastnosti Skratka. Záznamy budú zoradené vzostupne.
demo.flexibee.eu/c/demo/adresar.xml?order=kod@D
Pokiaľ potrebujete záznamy zoradiť zostupne (výhodné napríklad pre radenie podľa súm, faktúry s najvyššou hodnotou budú na začiatku), tak za názov vlastnosti doplňte @D
Radenie podľa viacerých hodnôt sa vykonáva opakovaným použitím parametra order. Záleží pritom aj na poradí, v akom sú parametre order do URL vkladané.
demo.flexibee.eu/c/demo/adresar.xml?order=stat&order=kod
Tento príklad vráti záznamy z evidencie adresár, zoradené najskôr podľa štátu a pokiaľ je štát rovnaký, budú záznamy radené podľa skratky.
demo.flexibee.eu/c/demo/adresar.xml?order=kod&order=stat
Dotaz s radením najskôr podľa skratky a potom podľa štátu samozrejme vráti iné výsledky.
Parameter order je možné použiť aj priamo vo webovom rozhraní ABRA Flexi.
Ostatné
ABRA Flexi umožňuje v URL ešte mnoho ďalších parametrov. Ich kompletný zoznam sa nachádza na stránke Zostavovanie URL, preto tu spomenieme len tie najdôležitejšie a najpoužívanejšie.
Logické parametre s možnými hodnotami true / false je možné aktivovať samotným uvedením parametra (tj. s prázdnou hodnotou). Napríklad ?no-ids=true možno skrátene zapísať len ako ?no-ids.
only-ext-ids
Výstupy z Flexi vypisujú pri každom objekte identifikátory.
Pokiaľ sa použije tento parameter, budú vypisované len externé identifikátory objektov.
demo.flexibee.eu/c/demo/adresar.xml?only-ext-ids=true demo.flexibee.eu/c/demo/adresar.json?only-ext-ids=true
V tomto prípade teda zmizli interné identifikátory ABRA Flexi a vo výstupe sú len externé identifikátory pri záznamoch, ktoré ich obsahujú.
no-ext-ids
Opakom predchádzajúceho parametra je parameter no-ext-ids. Pokiaľ je použitý tento parameter, nebudú vo výstupe žiadne externé identifikátory. Parameter no-ext-ids slúži predovšetkým na zrýchlenie načítavania dát z ABRA Flexi. Každý pokus o načítanie externých identifikátorov výpis spomaľuje.
demo.flexibee.eu/c/demo/adresar.xml?no-ext-ids=true demo.flexibee.eu/c/demo/adresar.json?no-ext-ids=true
no-ids
Obdoba predchádzajúceho parametra, ale vo výstupe nebudú žiadne interné identifikátory ABRA Flexi. Môžu teda zostať zobrazené napríklad externé identifikátory.
Parameter no-ids=true ovplyvňuje export na všetkých úrovniach, tj. aj položky dokladov a vložené väzby.
demo.flexibee.eu/c/demo/adresar.xml?no-ids=true demo.flexibee.eu/c/demo/adresar.json?no-ids=true
no-comments
Pre možnosť potlačenia komentárov v XML výstupe bol pridaný nový logický parameter no-comments.
demo.flexibee.eu/c/demo/adresar.xml?no-comments
mode=simple
Nový režim exportu "simple"(?mode=simple) generujúci minimalistický výstup bez atribútov ref a showAs a v prípade XML navyše bez vysvetľujúcich komentárov.
demo.flexibee.eu/c/demo/adresar.xml?mode=simple
code-as-id
Týmto parametrom sa namiesto interných identifikátorov ABRA Flexi vypíše pri evidenciách, ktoré to podporujú, skratka ako identifikátor.
demo.flexibee.eu/c/demo/adresar.xml?code-as-id=true demo.flexibee.eu/c/demo/adresar.json?code-as-id=true
Týmto parametrom je možné v kombinácii s no-ids zabezpečiť prenosy dát medzi jednotlivými firmami vo Flexi. Napríklad, ak bude potrebné preniesť adresár z firmy A do firmy B, najlepším spôsobom je použiť export cez REST-API z firmy A a import do firmy B. URL na získanie adresára bude vyzerať napríklad takto:
demo.flexibee.eu/c/demo/adresar.xml?code-as-id=true&no-ids=true
access-attribs=true
Sprístupní dodatočné atribúty informujúce o editovateľnosti záznamu.
demo.flexibee.eu/c/demo/nabidka-vydana.xml?access-attribs=true
Výsledok pri kolekciách môže vyzerať napríklad takto:
<polozkyObchDokladu insertable="true">
<nabidka-vydana-polozka editable="true" deletable="true">
