d-type kompilace

Původní specifikace datového typu kolonky určující druh dat ukládaných do databáze. Je stále k dispozici v komletované verzi XDS též dostupné v jednotlivých rolích.

syntax
char | varc[char] | text | numb[er] | curr[ency] | n[um]key | bool[ean] | imag[e] | file | date | time | vide[o] [ ( #length [, ...] ) ]

Určuje datový typ údajů, který je v prvku obsažen. Tento atribut se skládá z klíčového slova a upřesňujících argumentů v závorce. Syntaxe připomíná zápis funkce. Klíčová slova určují základní datový typ a mohou se vyskytnout následující:

char

varc

text

numb

nkey

curr

bool

date

time

imag

file

vide

Poznámka: Zatímco vstupní definice umožnuje plné názvy jednotlivých typů, replikátor je všechny normalizuje na uvedená čtyřmístná klíčová slova pro jejich snadnější manipulaci.

Za tímto klíčovým slovem následují údaje v závorce v podobě argumentů oddělených čárkami.

Podrobněji a na příkladech projdeme možnosti jednotlivých datových typů uvedených výše v seznamu.


Typ char

Jde o textové políčko s maximálně 256 znaky. Pomocí jediného argumentu, který tento typ má, se stanovuje počet znaků, který bude vždy dodržen. Tj. při neuvedení dostatečného počtu znaků se budou tyto znaky při uložení do databáze doplňovat mezerami (konkrétně zprava). Tento datový typ se s výhodou používá u zadávání různých alfanumerických kódů konstantní délky a s výhodou jej lze rovněž použít spolu s výběrovým typem políčka (dropdown), kde se často možné hodnoty definují právě v podobě kódů.

Například prvek "kód dodavatele" s max. 5 možnými znaky tak bude mít uvedenu následájící definici:

d-type="char(5)"

Možno zapsat i s plným názvem

d-type="character(5)"

Pokud tedy u dodavatele např. napíšeme pouze znaky "ABC" budou při uložení doplněny zprava dvěma mezerami.

Pokud počet znaků v podobě argumentu nedefinujeme, pak replikátor vloží k danému prvku polovinu počtu určeného aplikačními nastaveními. To znamená, že pokud je v aplikačních nastaveních uveden počet znaků pro char 20, bude mít kolonka, při neupřesnění počtu, doplňována na 10 znaků.


Typ varc

Jde opět o řetězcovou hodnotu. Tentokrát se však jedná o proměnlivou délku a počet znaků uváděný v definici v závorce za klíčovým slovem udává pouze maximální možný počet znaků. Těchto znaků může být až 4000. Pravidlem však bývá, že v aplikačních nastavení bývá počet znaků omezen na cca. 250 či 300 znaků. Typ varc[har] je nejčastěji používaným datovým typem. Používá se pro zadávání jmen a názvů různého druhu nebo i učíselných údajů, kde je zapotřebí zachovat nuly na začátku čísla (zde se často definuje maska zajišťující zadání pouze číselných hodnot).

Například prvek "Křestní jméno" s max. 20 možnými znaky tak bude mít uvedenu následájící definici:

d-type="varc(20)"

Možno zapsat i s plným názvem

d-type="varchar(20)"

Pokud maximální počet znaků v podobě argumentu nedefinujeme, pak replikátor vloží k danému prvku polovinu maximálního možného počtu určeného aplikačními nastaveními. To znamená, že pokud je v aplikačních nastaveních pro typ varch uveden max. počet 250, bude mít kolonka, při neupřesnění počtu, možnost zadat max. 125 znaků.


Typ text

Jde o rovněž o řetězcovou hodnotu z proměnnou délkou, jejíž maximální hodnota může být rovněž 4000 znaků s tím, že je zde možnost při odpovídajících nastaveních SQL serveru tuto délku neomezovat vůbec. Pravidlem však bývá, že délka je omezena na uvedené 4000 aplikačními nastaveními a nekonečných textů se příliš nevyužívá. Důvodem je šetření výkonu serveru (nekonečné texty logicky snižují rychlost odpovědi serveru).

Povinný argument v závorce udává maximální počet znaků. Pokud jej neuvedeme, replikátor nastaví (podobně jako v předchozích dvou typech) maximální počet znaků pro daný údaj na polovinu maximálního možného počtu znaků daného aplikačními nastaveními.

Tento datový typ bývá téměř vždy spojován s formulářovým typem textarea a jeho definice bývá často prostá:

d-type="text"

Pokud je datový typ text spojen s formulářovým typem field, pak ve formuláři dochází k tomu, že v běžném náhledu má obsah skutečně vzhled běžné kolonky. Při zaměření pro účely editace se ale kolonka roztahne na víceřádkovou oblast. Má to význam zejména v tabulkových oblastech formulářů.


Typ numb

Typ numb určuje číselné datové typy. U číselného datového typu se specifikují dva argumenty. Specifikuje se, kolik pozic číslic může maximálně číslo obsahovat a to jak před desetinou čárkou, tak i za ní. Počet desetiných míst může být i nulový. Tím je zadáváno celé číslo. Počet míst před desetinou čárkou může být min. 1. Je asi zřejmé, že první argument udává počet číslic před desetinou čárkou a druhý udává počet desetiných míst. Celkový možný počet číslic je tedy součtem obou hodnot.

Například prvek "variabilní symbol" v dokumnetu platby s max. 10 možnými znaky tak bude mít uvedenu následájící definici:

d-type="numb(10,0)"

Možno uvést i bez počtu desetin, tedy takto:

d-type="numb(10)"

případně můžete zapsat i s plným názvem typu:

d-type="number(10)"

Typ nkey

Typ nkey určuje číselné datové typy používané jako databázové klíče. Pro použití v XDS jde o sekundární klíče, protože ty primární systém flexideo zajistí sám. Oproti běžnému typu numb má nkey - nebo také můžete zapsat numkey - jednoduchý zápis, nemá totiž žádné argumenty a zapis je stejně prostý jako například date, time či bool. Při použí tedy jde vždy o následující zápis

Například prvek "variabilní symbol" v dokumnetu platby s max. 10 možnými znaky tak bude mít uvedenu následájící definici:

d-type="nkey"

případně můžete zapsat i s plným názvem typu:

d-type="numkey"

V databázi se pak tento d-type definuje jako dlouhý celočíselný typ, tedy BIGINT. Zároveň je předpokládáno, že jakožto databázový klíč bude nabývat pouze kladných či nulových hodnot a nikoli záporných, ale není to nezbytné. Celkový rozsah, tedy velikost čísla, je následující:

-9 223 372 036 854 775 808 to 9 223 372 036 854 775 807

- má tedy celkem devatenáct pozic plus příp. záporné znaménko.

Jako nkey jsou napříkad definována čísla autorů a procesů a povinně také musí být nkey uváděn u políček nastavených s vlastností messenger. Doporučováno je i použití nkey u políčka definovaného jako autoidentity, ale rozhodně to není nezbytné.


Typ curr

Název curr (plně currency) říká, že se jedná o měnu. V zásadě se jedná o datový typ numb se stejnými významy u prvního a druhého argumentu, které jsou doplněné třetím argumentem udávajícím řetězec měny v apostrofech. Typ curr je z hlediska tvorby databázového úložiště naprosto totožný s typem numb. Třetí argument je z tohoto hlediska ignorován.

Částka na faktuře tak může být definována následujícím způsobem:

d-type="curr(12,2,'Kč')"

Možno zapsat i s plným názvem

d-type="currency(12,2,'Kč')"

Typ bool

Jedná se o logický datový typ ukládající hodnoty typu ano/ne. Tento datový typ nemá z pochopitelných důvodů žádné argumenty a jeho definice je opět (podobně jako u typu text) dána pouze uvedením klíčového slova:

d-type="bool"

Možno zapsat i plným názvem

d-type="boolean"

Typ date

Jedná se o datový typ ukládající kalendářní datumy. Ani tento typ nemá žádné argumenty a jeho definice je opět dána pouze uvedením klíčového slova:

d-type="date"

U tohoto typu se hodnoty v dokumentech jednotně ukládají ve formátu YYYY-MM-DD.


Typ time

Stejná syntaxe jako u předchozích typu je i u typu pro ukládání časových údajů

d-type="time"

Údaje o čase se v dokumentech jednotně ukládají ve formátu H:MM:SS. Pro údaje pracující s přesností milisekund je třeba použít číselný (numb) formát s dostatečnou číselnou délkou.


Typ imag

Jde o ukládání obrázku, který se zobrazuje přímo ve formuláři. Obsahuje dva volitelné argumenty pro zadání výšky a šířky obrázku v px:

d-type="imag(200, 200)"

Možno zapsat i plným názvem image. Při zadání jednoho nebo obou rozměrů na hodnotu 0 se velikost obrázku nijak neomezuje a ten se zobrazuje v původní velikosti. Nastavením jednoho rozměru je pak možné kontrolovat např. jen výšku, aby nepřesáhla únosnou mez.

V dokumentech se pracuje s relativními odkazy na soubor obrázku uloženého na webovém serveru. Tento odkaz je generován kódem pro zabezpečení přístupu.


Typ file

Jde o vkládání videa přímo do struktury dokumentu. Jde o to, že zatímco příloha je přiřazena k dokumentu jako celku, datový typ file umožňuje přiřadit soubor ke konkrétní struktuře dokumentu, umožňuje pomocí cizího zdroje soubory sdílet s jinými dokumenty. Můžete tak například udělat seznam dílů na kartě výrobku a každému dílu přiřadit technickou dokumentaci formou samostatného souboru. Datový typ file neobsahuje žádné další parametry. Jeho zápis je tedy prostý:

d-type="file"

V dokumentech se pracuje (stejně jako u typu image) s relativními odkazy na soubor uložený na webovém serveru. Tento odkaz je generován kódem pro zabezpečení přístupu.


Typ vide[o]

Jde o vkládání videa, které se rovnou zobrazuje přímo ve formuláři. Obsahuje dva volitelné argumenty pro zadání výšky a šířky obrázku v px:

d-type="video(200, 200)"

Možno zapsat i zkráceným názvem vide. Při zadání jednoho nebo obou rozměrů na hodnotu 0 se velikost obrázku nijak neomezuje a ten se zobrazuje v původní velikosti. Nastavením jednoho rozměru je pak možné kontrolovat např. jen výšku, aby nepřesáhla únosnou mez.

V dokumentech se pracuje s relativními odkazy na soubor videa uloženého na webovém serveru. Tento odkaz je generován kódem pro zabezpečení přístupu.


Možné změny základních typů

Při přechodu na novou verzi jsou povoleny některé změny základních typů, aniž by bylo třeba zavádět jiný nový prvek. Vedle případů mezi-verzových změn, kdy navyšujeme kapacitu políčka, které jsou obecně povoleny (naprotí snížení kapacity políčka, které je obecně z důvodu možné ztráty dat zakázáno), můžete provádět i následující změny základních typů:

varc na text a opačně

numb na curr a opačně

file na imag a opačně


Automatický identifikátor autoidentityDatový typ datad-type kompilacePřímé nastavování některých vlastností do DAD dad-infoVyjmenování zdroje enumerate-sourceVlastnost characterIndexování podle prvku indexDědění struktury služby inherit-structureOpakovatelnost repetitionUrčení zdroje dat sourceStejný zdroj pro segmenty v různých větvích source-keyMapování služby na dokument take-fromZajištění jedinečnosti hodnoty unique