1. Základní informace
1.1. Popis ovládacího prvku
AutoSum je jednořádkové textové pole libovolné šířky, které slouží k automatickému vyhodnocení agregační funkce na předem definovaná data z databáze. Mezi tyto agregační funkce patří počet, suma, průměr, maximální a minimální hodnota. K vyhodnocení agregační funkce dochází ihned při otevření záznamu v editačním formuláři, při každé aktualizaci editačního formuláře, před uložením záznamu do databáze v editačním formuláři, nebo volitelně pomocí serverové funkce „UPDATEAUTOSUM“.
1.2. Vytvoření nového ovládacího prvku
- Detailní popis vytváření nových ovládacích prvků v editačním formuláři je uveden v samostatné příručce Vytváření ovládacích prvků editačního formuláře.
1.3. Editace nebo smazání ovládacího prvku
- U každého existujícího ovládacího prvku se po jeho levé straně v editačním formuláři zobrazuje ikona tužky, která slouží pro změnu nastavení ovládacího prvku nebo jeho smazání.
- Jednotlivé ovládací prvky mohou být v editačním formuláři vertikálně přesouvány metodou Drag&Drop. Přesunutí spočívá v chycení ovládacího prvku nejlépe za jeho název umístěný v levém sloupci editačního formuláře, a následném tažení až na požadované místo v editačním formuláři.
- Z bezpečnostních důvodů je důležité mít povolenou funkci přesouvání ovládacích prvků pomocí zaškrtávacího pole „Drag&Drop“ umístěného nad toolbarem s ovládacími prvky. Při každém přihlášení do aplikace je toto pole nezaškrtnuté.
- Smazání autosumu má za následek nevratné smazání databázového sloupce spojeného s tímto autosumem v databázi, a tudíž i ke smazání jeho hodnot ve všech záznamech databázové tabulky.
2. Seznam záložek v dialogu nastavení ovládacího prvku
- Obecné – Nastavení obecných vlastností
- Nápověda – Nastavení textu nápovědy, který může být zobrazován v pravé části editačního formuláře
- Filtr – Nastavení filtru, který může být zobrazován v nahlížecí tabulce v záhlaví sloupce
- Práva – Nastavení práv
- Administrace – Nastavení ostatních vlastností
2.1. Záložka „Obecné“

2.1.1. Název
- Název ovládacího prvku zobrazovaný v editačním formuláři v samostatném sloupci s barevným pozadím nalevo vedle samotného textového pole.
2.1.2. Zkrácený název
- Volitelný název ovládacího prvku zobrazovaný v záhlaví nahlížecí tabulky, pokud je ovládací prvek zvolen jako jeden ze sloupců nahlížecí tabulky.
- Je-li zkrácený název uveden, zobrazuje se celý název ovládacího prvku v tooltipu nad zkráceným názvem.
- Není-li zkrácený název uveden, zobrazuje se v záhlaví nahlížecí tabulky celý název ovládacího prvku.
- Pomocí zkráceného názvu „ “ (pevná mezera) lze úplně skrýt název ovládacího prvku zobrazovaný v nahlížecí tabulce.
2.1.3. Slovník…
- Slovník zobrazuje seznam názvů ostatních ovládacích prvků, formulářů, nahlížecích stránek, kategorií, aplikací a aplikačních skupin, použitých napříč celou aplikací.
- Vyhledávání ve slovníku slouží k navržení správného názvu ovládacího prvku a k udržení konzistence názvosloví v celé aplikaci tak, aby se ovládací prvky se stejným významem umístěné na různých místech v aplikaci nazývaly stejným způsobem.
2.1.4. Jednotka
- Jednotka určuje symbol (například „%“), který se všude v aplikaci zobrazuje spolu s hodnotou ovládacího prvku. Symbol je vždy umístěn napravo vedle samotné hodnoty, oddělený mezerou.
- Součástí jednotky může být i formát desetinného čísla, kterým je možné vynutit automatické zaokrouhlování hodnoty (například „{0.00}“ nebo „{0.00}%“).
- Spolu s jednotkou je možné definovat šířku místa určeného pro jednotku v editačním formuláři tak, aby byl udržován prostor mezi jednotkou umístěnou napravo vedle textového pole, a mezi nápovědou ovládacího prvku umístěnou napravo vedle jednotky.
2.1.5. Šířka
- Šířka ovládacího prvku uvedená v pixelech.
2.1.6. Vypočítat
- Pole „Vypočítat“ určuje agregační funkci, kterou autosum vypočítává.
- Rozbalovací seznam obsahuje následující typy agregačních funkcí:
- Počet
- Suma
- Průměr
- MAX
- MIN
- Výsledek agregační funkce lze vynásobit nebo vydělit, případně k němu přičíst nebo odečíst číselnou konstantu. Zadávací pole napravo vedle rozbalovacího seznamu slouží k definici tohoto výpočtu viz následující příklady:
- „+123“
- „-123“
- „*123“
- „/123“
2.1.7. Ze sloupce
- Definice sloupce, který autosum používá k výpočtu hodnoty.
2.1.8. Databázové tabulky
- Definice databázové tabulky, ve které se nachází sloupec, který autosum používá k výpočtu hodnoty.
2.1.9. Vyhovující podmínkám
- Definice podmínek, které omezují množinu dat, ze kterých je výsledná hodnota vypočítána.
2.1.10. Připojení
- Definice připojení, které jsou sestaveny pomocí klauzule „JOIN“.
2.1.11. Zaokrouhlení
- Definice zaokrouhlení vypočítané hodnoty.
- Rozbalovací seznam obsahuje následující typy zaokrouhlení:
- Nezaokrouhlovat
- Nahoru
- Dolů
- Celé číslo
- 1 desetinné místo
- 2 desetinná místa
- 3 desetinná místa
- 4 desetinná místa
- 5 desetinných míst
- 6 desetinných míst
- 7 desetinných míst
- 8 desetinných míst
2.1.12. Zarovnání
- Zarovnání určuje polohu textu uvnitř samotného textového pole v editačním formuláři, a polohu hodnot ovládacího prvku v nahlížecí tabulce, pokud je ovládací prvek zvolen jako jeden ze sloupců nahlížecí tabulky.
- Rozbalovací seznam obsahuje následující typy zarovnání:
- Vlevo
- Na střed
- Vpravo (výchozí)
2.1.13. Možnosti
- Sčítat pouze vnořené záznamy
- Zaškrtnutí tohoto pole určuje, zda má být výsledná hodnota vypočítána pouze ze vnořených záznamů k aktuálně otevřeném záznamu v editačnímu formuláři.
- Skryté pole
- Nastavení skrytého pole určuje, zda má být ovládací prvek součástí editačního formuláře, avšak v uživatelském režimu nemá být viditelný.
- Skrytý ovládací prvek včetně vyplněné hodnoty je možné dohledat ve zdrojovém kódu webové stránky. Nelze ho tedy používat jako součást bezpečnostních opatření, k tomu se používají práva na ovládací prvek.
- Skrýt součet sloupce v nahlížecí tabulce
- Zaškrtnutí tohoto pole určuje, zda má být v zápatí nahlížecí tabulky zobrazen součet hodnot ovládacího prvku ze všech vyfiltrovaných záznamů nahlížecí tabulky.
- Aby se v nahlížecí tabulce zobrazovaly součty sloupců, musí mít nahlížecí tabulka povolené zobrazování součtů sloupců. Výchozí nastavení zobrazování sloupců se přebírá přímo z vlastností nahlížecí tabulky, nicméně každý uživatel si může sám toto nastavení změnit ve svém personalizovaném nastavení nahlížecí tabulky.
- Přichytit k předchozímu ovládacímu prvku
- Zaškrtnutí tohoto pole určuje, zda má být samotný ovládací prvek v editačním formuláři zobrazen napravo vedle předchozího, nebo bude zobrazen běžným způsobem pod předchozím ovládacím prvkem.
- Je-li ovládací prvek přichytáván k předchozímu, lze definovat šířku odsazení od předchozího ovládacího prvku
- Odsazení se definuje v pixelech v samostatném textovém poli, které je umístěno nalevo vedle textového pole „Šířka“.
- Detailní popis přichytávání k ovládacím prvkům je uveden v samostatné příručce Nastavení vzhledu.
2.2. Záložka „Nápověda“

2.2.1. Nápověda
- Nápověda je text zobrazovaný napravo od ovládacího prvku v editačním formuláři.
- Nápovědy všech ovládacích prvků začínají na stejné svislé linii v rámci celého editačního formuláře.
- Text – text nápovědy je definován ručně zadaným textovým řetězcem ve víceřádkovém textovém poli pod radio buttonem
- Z dotazu – text nápovědy je definován výsledkem databázového dotazu, který je vyhodnocen při otevření editačního formuláře
- Detailní popis nápovědy je uveden v samostatné příručce Nastavení vzhledu.
2.2.2. Poznámky
- Poznámky slouží pro zadání libovolného textu určeného pro správce aplikace.
2.3. Záložka „Filtr“

2.3.1. Možnosti
- Zobrazit filtr v nahlížecí tabulce
- Zaškrtnutí tohoto pole určuje, zda má být v nahlížecí tabulce umožněno filtrování záznamů podle hodnot přítomných v databázi ve sloupci spojeném s tímto ovládacím prvkem. Rozbalovací seznam filtru je umístěný v záhlaví nahlížecí tabulky pod názvem ovládacího prvku.
- Povolit hromadné změny
- Zaškrtnutí tohoto pole určuje, zda má být v rozbalovacím seznamu filtru k dispozici položka „Přiřadit hodnotu…“, která slouží k přiřazení hodnoty všem vyfiltrovaným záznamům v nahlížecí tabulce.
- Po zvolení této položky dojde k otevření nového okna, ve kterém se zobrazuje ovládací prvek spojený s filtrovaným sloupcem. Pomocí tlačítka „Uložit“ pak lze změnit hodnotu sloupce u všech vyfiltrovaných záznamů v nahlížecí tabulce na zvolenou hodnotu. Aby se v rozbalovacím seznamu filtru zobrazovala položka „Přiřadit hodnotu…“, musí mít nahlížecí tabulka povolené hromadné změny dat.
2.3.2. Počet záznamů na stránce
- Počet záznamů na stránce určuje maximální počet unikátních hodnot, které se ve filtru zobrazí na základě analýzy načtených dat v nahlížecí tabulce ve sloupci spojeném s filtrem. Je-li v datech přítomno více výskytů unikátních hodnot, než je definovaný počet záznamů na stránce, dojde k přerušení analýzy unikátních hodnot v daném sloupci, a ve filtru se zobrazí položka „Načíst hodnoty…“, která pomocí ajaxu vyhodnotí a následně ve filtru zobrazí všechny unikátní hodnoty v daném sloupci a načtených datech v nahlížecí tabulce.
- Samotná nahlížecí tabulka může načítat velké množství dat, anebo filtrovaný sloupec může obsahovat velké množství unikátních hodnot, což má vliv na rychlost sestavení seznamu těchto hodnot. V případech, kdy není důležité hodnoty při generování nahlížecí tabulky analyzovat vůbec, a je dostačující použití funkce „Načíst hodnoty…“, je vhodné nastavit počet záznamů na stránce na hodnotu „0“.
2.4. Záložka „Práva“

2.4.1. Práva
- Práva definují seznam uživatelských skupin a uživatelů, kteří mají oprávnění na zobrazení ovládacího prvku v editačním formuláři, a na zobrazování hodnot tohoto ovládacího prvku všude jinde v aplikaci.
- Uživatelé, kteří nemají práva na ovládací prvek,
- nevidí ovládací prvek ani jeho hodnotu v editačním formuláři, a ani ho nemohou dohledat ve zdrojovém kódu stránky v internetovém prohlížeči,
- nemohou zobrazit sloupec spojený s tímto ovládacím prvkem v nahlížecí tabulce nebo jiném vizuálním ovládacím prvku určeném pro prohlížení dat,
- mohou vytvořit záznam v editačním formuláři, ve kterém existuje ovládací prvek, na který nemají práva, hodnota těchto ovládacích prvků je pak nastavena na databázovou hodnotu „null“,
- nemohou smazat žádný záznam v editačním formuláři, ve kterém existuje ovládací prvek, na který nemají práva.
- Správce aplikace může způsobit logickou chybu, kdy se pomocí javascriptové funkce odkazuje na ovládací prvek, který pro některé uživatele nemusí být přístupný z pohledu práv. Proměnná „ng_“ se pak nahradí za hodnotu uloženou v databázi v tomto ovládacím prvku namísto odkazu na objekt samotného ovládacího prvku. Tato chyba ve většině případů zastaví načítání editačního formuláře, ten se celý disabluje, a uživateli je zobrazeno hlášení, že má kontaktovat administrátora aplikace. Tento druh chyby je možný z části eliminovat pomocí reportu „Ovládací prvky (JavaScript + nedostatečná práva)“.
2.4.2. Zobrazit hodnotu
- Zobrazení hodnoty ovládacího prvku může být omezeno pouze na uživatele, kteří daný databázový záznam vytvořili, anebo jsou nastaveni jako spoluvlastníci všech záznamů v nastavení editačního formuláře.
- Radio button obsahuje následující typy zobrazení hodnoty:
- Všem uživatelům – ovládací prvek včetně jeho hodnoty bude zobrazen všem uživatelům, kteří mají právo na daný ovládací prvek
- Pouze vlastníkovi nebo spoluvlastníkovi záznamu – ovládací prvek včetně jeho hodnoty bude zobrazen pouze uživatelům, kteří mají právo na daný ovládací prvek, a zároveň jsou vlastníci aktuálně otevřeného databázového záznamu v editačním formuláři (záznam vytvořili), nebo jsou nastaveni jako spoluvlastníci všech záznamů v nastavení editačního formuláře.
2.4.3. Nahradit práva ostatním ovládacím prvkům
- Funkce „Nahradit práva ostatním ovládacím prvkům“ slouží pro sjednocení práv v rámci celého editačního formuláře u ovládacích prvků, které spolu z pohledu práv souvisí.
- Díky odkazu „Zobrazit…“ je možné zobrazit seznam všech ovládacích prvků v editačním formuláři včetně nastavení práv těchto ovládacích prvků. U každého ovládacího prvku je zobrazeno zaškrtávací tlačítko, kterým je možné ovládací prvek vybrat. Při uložení ovládacího prvku se následně nastaví stejná práva i těmto vybraným ovládacím prvkům.
- Alternativou pro sjednocení práv v rámci celého editačního formuláře je zobrazení reportu dostupného ze záložky „Práva podřízených objektů“ v nastavení editačního formuláře.
2.5. Záložka „Administrace“

Záložka „Administrace“ se zobrazuje pouze u existujících ovládacích prvků.
2.5.1. Identifikátor
- Identifikátor určuje název databázového sloupce, do kterého se v databázi ukládají hodnoty zadané prostřednictvím ovládacího prvku v editačním formuláři.
- Identifikátor je odvozen od názvu ovládacího prvku. Začíná prefixem „ng_“, a dále obsahuje alfanumerické znaky použité v názvu ovládacího prvku (systémové ovládací prvky prefix „ng_“ neobsahují). Při změně názvu ovládacího prvku je k dispozici tlačítko „Opravit“, které slouží k opravě identifikátoru, a tedy i přejmenování databázového sloupce v databázi. Pro přehlednost a eliminaci případných nedorozumění se doporučuje udržovat identifikátor v souladu s názvem ovládacího prvku. Pokud do databáze přistupují i externí aplikace a například čtou nebo zapisují data do tohoto sloupce, je nutné změnu identifikátoru naplánovat až na vhodnou dobu.
2.5.2. Plný identifikátor
- Plný identifikátor ovládacího prvku obsahuje i identifikátor editačního formuláře, a používá se v tiskových šablonách.
2.5.3. Index
- Zaškrtnutí tohoto pole určuje, zda má být sloupec spojený s tímto ovládacím prvkem v databázi indexovaný. Do textového pole umístěného pod zaškrtávacím tlačítkem je možné definovat i názvy (identifikátory) dalších sloupců, které mají být ve sdruženém indexu s tímto databázovým sloupcem – mají být součástí klíče indexu.
- U databáze MSSQL je možné definovat také sloupce „INCLUDE“, které se připojí k indexu. Nejsou ale součástí klíče indexu, ale hodnoty daného klíče. Databáze Firebird tuto funkcionalitu neumožňuje.
2.5.4. Hledání v nahlížecí tabulce
- Hledání určuje, zda mají být záznamy v nahlížecí tabulce po zadání hledaného výrazu či slovního spojení v databázi ve sloupci spojeném s tímto ovládacím prvkem vyhledávané pomocí operátoru „rovná se“.
- Zakázat – hledání v tomto sloupci je zakázáno, a v nahlížecí tabulce se neobjevuje zaškrtávací tlačítko, kterým by bylo možné sloupec tabulky zahrnout do seznamu prohledávaných sloupců.
- Povolit – hledání v tomto sloupci je povoleno, a v nahlížecí tabulce se objevuje zaškrtávací tlačítko, kterým je možné sloupec tabulky zahrnout do seznamu prohledávaných sloupců.
2.5.5. Ostatní
- Změnit typ na
- Rozbalovací seznam nabízí typy ovládacích prvků, na které je podporována konverze ovládacího prvku včetně automatické konverze dat přítomných v databázové tabulce.
2.5.6. Statistika
- Statistika zobrazuje agregovanou informaci o využívání ovládacího prvku napříč celou aplikací.
- Pomocí tlačítka „Statistika“ se zobrazí detailní report všech míst, kde je ovládací prvek použitý nebo referencovaný, včetně možnosti otevření nastavení takového místa či ovládacího prvku.
- Před každou změnou typu ovládacího prvku nebo datového typu, případně před každým smazáním ovládacího prvku z editačního formuláře, se doporučuje důkladně projít statistku ovládacího prvku, a eliminovat případná nedorozumění.
- Před každým smazáním ovládacího prvku z editačního formuláře se automaticky spustí vyhodnocení statistiky. Pokud je ovládací prvek někde v aplikaci používán nebo referencován, je nutné smazání ovládacího prvku znovu potvrdit.
2.6. Tlačítka „Uložit“, „Uložit a pokračovat v editaci“, „Kopírovat“, „Smazat“ a „Zavřít“
- Tlačítko „Uložit“ – Uložení změn v nastavení ovládacího prvku.
- Tlačítko „Uložit a pokračovat v editaci“ – Uložení změn v nastavení ovládacího prvku a ponechání nastavení otevřeného pro další úpravy.
- Tlačítko „Kopírovat“ – Vytvoření nové kopie aktuálního ovládacího prvku se shodným nastavením, avšak s novým jedinečným identifikátorem.
- Tlačítko „Smazat“ – Trvalé odstranění ovládacího prvku.
- Tlačítko „Zavřít“ – Zavření dialogu s nastavením ovládacího prvku bez uložení změn.
3. Příklady
3.1. Javascriptové funkce
3.1.1. Obecné funkce
- var s = control_GetValue(#ng_#);
- var n = jsN(control_GetValue(#ng_#));
- var n = jsN(#ng_#.value);
3.1.2. Celá čísla
- var s = jsNumberInWords(12345678, 'cs');
3.1.3. Desetinná čísla
- var s = jsNumberInWords(12345.678, 'cs');
- var s = jsFormatDouble(1100.5412, 'kg');
3.1.4. Měny
- var s = jsNumberInWords(12345.678, 'cs');
- var s = jsFormatCurrency(1100.5412, 'Kč');
3.2. Serverové funkce
3.2.1. Obecné funkce
- UPDATEAUTOSUM(id, form)
- UPDATEAUTOSUM(1;2;3, form)
3.2.2. Celá čísla
- SUBSTRACTINTEGERS(10, 1)
3.2.3. Desetinná čísla
- COMPAREDOUBLE(1, <, 2, Ano, Ne)
- FORMATDOUBLE(1000)
- FORMATDOUBLE(1000, EUR)
3.2.4. Měny
- FORMATCURRENCY(1000)
- FORMATCURRENCY(1000, EUR)