Přeskočit na hlavní obsah

Získání položek dokladů

API mi na faktuře vydané nevypisuje položky. Jak získám položky dokladů?

Autor: Lenka Haringerová

Výpis faktur, objednávek nebo skladových dokladů vrací ve výchozím stavu jen hlavičky. Položky a další navázané evidence se do výstupu přidávají zvlášť.


Parametr relations

Nejjednodušší je vyjmenovat sub-evidence v parametru relations:

GET /c/{firma}/faktura-vydana.xml                          … jen hlavičky
GET /c/{firma}/faktura-vydana.xml?relations=polozkyDokladu … i s položkami

Které sub-evidence lze u dané evidence připojit, vypíše adresa /relations. Do parametru patří hodnota z elementu url:

GET /c/{firma}/faktura-vydana/relations.xml

ℹ️ U dokladů se položky jmenují polozkyDokladu — a to shodně u faktur, objednávek, bankovních i skladových dokladů. Starší zápisy polozkyFaktury a polozkyObchDokladu fungují jen u té evidence, ke které patří.


Kdy se položky objeví i bez relations

Položky se do odpovědi dostanou třemi způsoby:

Situace

Výsledek

Doklad adresovaný přímo identifikátorem — /faktura-vydana/123.xml

Položky jsou ve výstupu automaticky.

Výpis nebo filtr — /faktura-vydana/(kod eq '…').xml

Jen hlavičky, dokud nepřidáte relations.

Relace vyjmenovaná v detail=custom:…

Položky jsou ve výstupu i bez parametru relations.

💡 Nechcete-li tahat z databáze celé položky, vyjmenujte rovnou potřebná pole: ?detail=custom:kod,polozkyDokladu(nazev,mnozMj). Odpověď je menší a Flexi ji sestaví rychleji — podrobněji v článku Problém s vracením polí.


Související

Dostali jste odpověď na svou otázku?