Přeskočit na hlavní obsah

Úroveň detailu v relacích (relations)

Autor: Petr Pech

Když do výstupu přidáte navázanou evidenci, vrátí se celé její záznamy. Parametrem detail=custom lze určit, která pole z nich chcete — a to zvlášť pro hlavní evidenci a zvlášť pro každou relaci.


Zápis

Název relace se uvede jako pole a do závorky za něj patří seznam jejích vlastností:

GET /c/{firma}/faktura-vydana.xml
?detail=custom:kod,polozkyDokladu(nazev,mnozMj)

Takto vypadá výsledek — u dokladu jen kód, u položek jen název a množství:

<faktura-vydana>
<id>2859</id>
<kod>KBF1</kod>
<polozkyDokladu>
<faktura-vydana-polozka>
<id>3595</id>
<nazev>FRadek 1</nazev>
<mnozMj>1.0</mnozMj>
</faktura-vydana-polozka>
</polozkyDokladu>
</faktura-vydana>

💡 Relace uvedená v detail=custom se do výstupu dostane i bez parametru relations — stačí ji zmínit v závorkovém zápisu.


Jiné relace než položky

Stejně se postupuje u libovolné další navázané evidence. Například přílohy ceníkové položky:

GET /c/{firma}/cenik/1.json
?detail=custom:id,nazev,popis,prilohy(nazSoub,content,link,typK)
&relations=prilohy

📝 Vlastnost content u přílohy vrací obsah souboru zakódovaný v base64 — v odpovědi to potvrzuje doprovodný údaj content@encoding.

Nebo atributy ceníkové položky:

GET /c/{firma}/cenik/49.xml
?detail=custom:kod,atributy(typAtributu)

ℹ️ Identifikátor záznamu se ve výstupu objeví vždy, i když jej ve výčtu polí neuvedete. U některých relací přibydou i další pole, která Flexi potřebuje k jednoznačnému popisu vazby (například částka a měna u vazeb mezi doklady).


Související

Dostali jste odpověď na svou otázku?