Potřebuji odsouhlasit používání cookies. Když tyto stránky používáte, vyjadřujete souhlas.

Sumace ve FlexiBee API

Jistě už jste při získávání dat z API Abra FlexiBee řešili, že potřebujete jen součet nějakých hodnot. Jak ho z API dostat?


  Načítím reklamu ...

Základní sumace nad doklady

Je to v podstatě obdoba toho, co je možné získat tlačítkem Sumy.

Sumace v desktopovém klientovi


Stačí na konec adresy doplnit /$sum.xml nebo /$sum.json, podle toho v jakém formátu chcete data získat.
server:port/c/identifikátor-firmy/evidence/$sum.xml
server:port/c/identifikátor-firmy/evidence/$sum.json

Nebo je možné využít i filtr
server:port/c/identifikátor-firmy/evidence/(filtr)/$sum.xml
server:port/c/identifikátor-firmy/evidence/(filtr)/$sum.json

Ukázka:

https://demo.flexibee.eu/c/demo/faktura-vydana/$sum.xml
https://demo.flexibee.eu/c/demo/faktura-vydana/$sum.json
https://demo.flexibee.eu/c/demo/faktura-vydana/(datVyst%20gte%20'2019-01-01'%20and%20datVyst%20lte%20'2019-12-31')/$sum.xml
https://demo.flexibee.eu/c/demo/faktura-vydana/(datVyst%20gte%20'2019-01-01'%20and%20datVyst%20lte%20'2019-12-31')/$sum.json


Dokumentace sumací

Pokročilé sumace

Pokud vám základní sumace nepostačují, můžete zkusit „pokročilé sumace“. S nimi se dá už celkem slušně kouzlit a vyloudit z FlexiBee GROUP BY.
Stačí doplnit parametry group-by (určuje podle které vlastnosti se bude sumovat) a fields (určuje, které vlastnosti se budou sčítat).
server:port/c/identifikátor-firmy/evidence/(filtr)/$sum.xml?group-by=group-by-vlastnost&fields=sumovana-vlastnost
server:port/c/identifikátor-firmy/evidence/(filtr)/$sum.json?group-by=group-by-vlastnost&fields=sumovana-vlastnost

Ukázka:
https://demo.flexibee.eu/c/demo/faktura-vydana/$sum.xml?group-by=mena&fields=sumCelkemMen,sumCelkem
https://demo.flexibee.eu/c/demo/skladovy-pohyb/$sum.xml?group-by=bsp&fields=sumCelkem

Další možnost je doplnit parametr period, který umožní zobrazení grafů jako je Hospodaření firmy na Základním přehledu.
https://demo.flexibee.eu/c/demo/obrat/((mena%20=%2031)%20and%20((ucet.kod%20begins%20%225%22)%20or%20(ucet.kod%20begins%20%226%22)))/$sum.json?limit=0&period=(rokMesic,2019-01-01,2019-12-31)&include-balances=true&fields=obrDal,obrMd&group-by=quarter(rokMesic)
https://demo.flexibee.eu/c/demo/obrat/((mena%20=%2031)%20and%20((ucet.kod%20begins%20%225%22)%20or%20(ucet.kod%20begins%20%226%22)))/$sum.json?limit=0&period=(rokMesic,2019-01-01,2019-12-31)&include-balances=true&fields=obrDal,obrMd&group-by=month(rokMesic)

Závěr

Pokud náhodou nemáte dostupné uživatelské dotazy, které samozřejmě nemají ekvivalent, tak pomocí sumací nebo především pokročilých sumací je možné z FlexiBee relativně rychle získat potřebná data. Bez toho, abychom zpracovávali miliony dokladů v naší aplikaci 😉.

Možná se tak můžete vyhnout obzvláště obskurním řešením, která jsem už viděl (např. zde nebo zde), jako například načítání celého účetního deníku nebo pohybů na účtech. Hlavně zkuste tuto funkčnost nad evidencí obrat. Rychlost a velikost přenesených dat je pak úplně někde jinde. A když už to FlexiBee má, tak proč to nevyužít!

REST API, FlexiBee API

-

Jsem programátor, horolezec a tak trochu FlexiBee fanatik :-).
Na CharlieBlogu sepisuji své nápady a poznatky už od roku 2006.

Powered by CharlieBlog Engine v2.3 - Login