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}
                ]
        }
}
  • 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:

  • 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.