Štítky, atributy a uživatelské vazby¶
Štítky¶
Štítky lze přilepit téměř k libovolnému objektu (doklady, adresář, zakázka, …), případně i k různým stavům (např. způsob úhrady) — vhodné pro signalizaci propojenému systému.
Podmínkou přiřazení štítku je jeho předchozí založení v číselníku štítků.
Práce se štítky je technicky relace emulovaná jako položka — stejný
mechanismus removeAll="true" jako u položek dokladu (viz
Zápis dat):
<adresar><id>14</id><stitky removeAll="true"/></adresar> <!-- smaže všechny -->
<stitky removeAll="true">STITEK1,NOVY_STITEK</stitky> <!-- nahradí celou množinu -->
Bez removeAll se štítky jen přidávají (existující zůstávají). JSON:
"stitky@removeAll": "true", "stitky": "STITEK1,NOVY_STITEK".
Skupiny štítků: štítek může patřit do skupiny; je-li skupina nastavena
jako “jen jeden štítek”, přiřazením nového štítku ze skupiny se ostatní
štítky téže skupiny automaticky odeberou — jednoduchá emulace stavového
automatu. Export dle skupiny: ?skupina-stitku=SKUPINA1,SKUPINA2, výstup
pak obsahuje atributy skupin přímo na elementu <stitky>:
<stitky SKUPINA1="STITEK1" SKUPINA2="STITEK2">STITEK1,STITEK2,STITEK3</stitky>
Atributy (custom pole ceníku a adresáře)¶
Volná vlastní pole pro cenik (ceník) a adresar (adresář), přes
dedikovanou evidenci atribut. U adresáře jsou dostupné jen přes REST API
(zobrazení už i v desktopové aplikaci); u ceníku plné CRUD i v aplikaci.
Export atributů jednoho záznamu (jen dle ID, bez filtrace):
GET /c/{firma}/cenik/{id}/atributy.xml
GET /c/{firma}/adresar/{id}/atributy.xml
Export přes obecnou evidenci atribut (podporuje běžnou filtraci dle
kódu i ID):
GET /c/{firma}/atribut/(cenik='code:CENIK').xml
GET /c/{firma}/atribut/(adresar='code:FIRMA').xml
Založení:
<atribut>
<hodnota>KUZE</hodnota>
<cenik>code:KUFR</cenik> <!-- nebo <adresar>code:FIRMA</adresar> -->
<typAtributu>code:MATERIAL</typAtributu>
</atribut>
Editace: stejná struktura + <id>. Smazání: stejná struktura + <id> +
action="delete" na elementu <atribut> (viz Akce a zamykání).
Uživatelské vazby¶
Propojení libovolného objektu s jiným, s uvedením typu vazby. Dva druhy: ruční (vytvořené v aplikaci nebo importem) a automatické (dosazované podle konfigurace typu vazby filtrem).
Čtení: GET /c/{firma}/{evidence}/{id}/uzivatelske-vazby. Navázaný objekt
lze zahrnout přímo do exportu (?detail=full&includes=/winstrom/uzivatelska-vazba/object),
nebo přes standardní relace na nadřazeném záznamu (?relations=uzivatelske-vazby).
Vytvoření (vnořeno pod vlastnící záznam):
<adresar>
<id>109</id>
<uzivatelske-vazby>
<uzivatelska-vazba>
<id>ext:VAZBA:TESTEXTID-CEN</id>
<evidenceType>cenik</evidenceType>
<object>code:SKL-0001/2022</object>
<popis>popisek</popis>
<poznam>poznámka</poznam>
<vazbaTyp>code:ADRCEN</vazbaTyp>
</uzivatelska-vazba>
</uzivatelske-vazby>
</adresar>
{"winstrom": {"interni-doklad": [{"id": "1054", "uzivatelske-vazby": [
{"vazbaTyp": "code:INT-FAV", "evidenceType": "faktura-vydana", "object": "code:VF1-0073/2022"}
]}]}}
Smazání (samostatně na evidenci vazby, ne vnořeně):
<uzivatelska-vazba action="delete"><id>ext:VAZBA:TESTEXTID-CEN</id></uzivatelska-vazba>