Rozšiřující datové struktury |
#26 |
Rozšířené datové struktury můžeme využívat pro přidávání obsahu do editačních formulářů na různých místech.
Obsah můžeme přidávat do editačních formulářů zpráv. Vytvoříme si strukturu, kterou poté v Nastavení → Workflow -> Druhy zpráv přidáme do druhu zpráv, který budeme využívat na domovské stránce ().
Stejně tak ho můžeme přidat do formuláře Dokumentů (). Vytvoříme strukturu a v Nastavení → Workflow → Druhy dokumentů ji přidáme do druhu dokumentu.
Ve formuláři si vyplníme Název a Typ a přesuneme se do Struktura, kam začneme psát kód, který nám bude vytvářet obsah formulářů.
Druhy kolonek
Jednoduchá kolonka
Jednoduchou kolonku vytvoříme takto:
{
"name": "TEST",
"fields": {
"columns": [
{"id": "text1", "name": "Poznámka", "type": "string", "len": 100}
]
}
}
- V id přidělíme kolonce id, které může být libovolné. Jakmile začneme kolonku využívat, id už neměníme.
- name nese jméno, které se objeví vedle kolonky a půjde vidět ve formuláři.
- Vyplníme type. Pokud to bude „string“, je nutné vyplnit i délku (viz. příklad).
Výsledek ve formuláři bude vypadat takto:
Roletka
Roletku můžeme vytvořit a naplnit dvěmi způsoby. První je automatické načtení řádků roletky z dat a druhý je ruční vytvoření řádků.
a. Automatické načtení
{
"name": "TEST",
"fields": {
"columns": [
{"id": "centre", "name": "Středisko", "type": "enumInt",
"enumCfg": {"cfgItem": "e10doc.centres", "cfgValue": "ndx", "cfgText": "shortName"}}
]
}
}
Zde provedeme stejný krok jako u jednoduché kolonky a k tomu přidáme další řádek kde:
- V cfgItem určíme, z jakých dat roletku naplníme.
- cfgText určí, co se v řádcích roletky bude zobrazovat. V příkladu je to zkrácený název, ale mohl by to být i například název (fullName).
b. Ruční výčet
{
"name": "TEST",
"fields": {
"columns": [
{"id": "typ_dapdpp", "group": "dp", "name": "Typ daňového přiznání", "type": "enumString", "len": 1,
"enumValues": {
"A": "A. za zdaňovací období",
"B": "B. při vstupu do likvidace",
"C": "C. v průběhu likvidace",
"D": "D. za uplynulou část zdaň. obd. předcházející dni zániku při zrušení bez likvidace",
"G": "G. při ukončení činnosti v rámci privatizace v případě stanoveném zvl. zák.",
"H": "H. za období předch. dni zpracování návrhu na použití likv. zůstatku",
"J": "J. za období předch. rozhodnému dni fúze nebo převodu jmění na společníka...",
"K": "K. za období předcházející dni zápisu změny právní formy...",
"L": "L. za období předcházející změně zdaň. období z kal. roku na hosp. rok nebo naopak",
"M": "M. za období počínající dnem vzniku poplatníka",
"O": "O. za období předcházející dni přemístění sídla evr. spol. zapsané do OR z území ČR",
"P": "P. ke dni nabytí účinnosti rozhodnutí o úpadku",
"R": "R. v průběhu insolvenčního řízení,",
"T": "T. ke dni předložení konečné zprávy"
}
}
]
}
}
- Do enumValues vypíšeme postupně všechny možnosti, které chceme v roletce zobrazit. Oddělujeme je čárkami.
Reference
Ve formuláři si můžeme vytvořit i kolonku, ve které budeme vybírat údaj z pravého sloupce.
{
"name": "TEST",
"fields": {
"columns": [
{"id": "item", "name": "Položka", "type": "int", "reference": "e10.witems.items"}
]
}
}
- Novou hodnotou je reference, kde nadefinujeme odkud se budou data nabízet.