Výběr hodnoty z dodatečného seznamu lexicon

Umožňuje výběr hodnoty prvku ze seznamu definovaného na základě instancí podkladového typu dokumentu.

syntax
source: ...; value: ... [; filter: ...] [; offer: ...] [; offer: ...] [; type: ...]

Tato vlastnost určí dokument a prvek jako zdroj pro roletku či ověřovací položky pro zadání běžné kolonky u prvku, kde je vlastnost lexikon definován. Mezi dokumentem s prvkem vybaveným odkazem lexicon a vybranou instancí dokumentu s aplikačním typem lexicon se výběrem a uložením vybrané hodnoty nevytváří mezi těmito dokumenty žádné spojení. Jde jen o to, že se hodnota blíže specifikovaným způsobem vybere nebo ověří podle zadaného seznamu instancí.

Pomocí vlastnosti lexicon můžete docílit buď pouhého nabízení přednastavených možností s tím, že uživatel může zadat i hodnotu jinou nebo můžete zajistit i to, že hodnota bude odpovídat některé z přednastavených. Další věcí, kterou můžete zajistit je i to, že bude do prvku vložena jiná hodnota, než jaká je v nabízeném seznamu. V nabízeném seznamu můžete například mít plné názvy, zatímco požadovaná hodnota prvku je pouze identifikační kód této položky s názvem.

V neposlední řadě můžete nabízené položky filtrovat. Seznam nabízených možností je sice již automaticky filtrován pomocí zadaných znaků, ale můžete zdadat ještě dodatečný filtr na základě hodnoty jiného prvku v dokumentu, kde se prvek s propojením na lexikonový seznam nachází.

Těchto možností se dosahuje pomocí přiřazování hodnot ke klíčovým slovům. Klíčová slova ve vlastnosti lexicon mohou být následující:

source pojmenovává dokument lexikonu - zdroj položek

value označuje prvek z lexikonu, který se vloží při výběru do prvku

offer určuje, který prvek lexikonového dokumentu bude nabízen v seznamu

type provázanost k seznamu - jen nabízet / nabízet a nutit k použití

filter umožňuje výchozí filtraci na základě obsahu jiného prvku

Vlastnosti vepisované k uvedeným klíčkovým slovům jsou od těchto slov odděleny dvojtečkou. Úseky klíčových slov a doprovodných údajů jsou od sebe odděleny středníky. Na příkladu se podíváme, jak může zápis lexikonu vypadat:

lexicon="source:adresa;value:psc;offer:psc;type:offer; filter: ::/post/obec==../obec"

Projdeme nyní podrobněji možnosti nastavení hodnot jdenotlivých klíčových slov.


Zdroj lexikonu - source

Lexikon je seznam jehož zdrojem instance definovaných dokumentů. Každý prvek může být propojen pouze na jediný typ dokumentu. Tento typ dokumentu se uvede ke klíčovému slovu source.

Uvádí se identifikační jméno dokumentu, které je v definici uvedeno v parametru name. Zdrojem lexikonu bývají dokumenty speciálně označené aplikačním typem lexicon (v parametru app-type). Mohou však být použity i jiné aplikační typy včetně pracovních dokumentů. Můžeme tak vytvořit kontroly obsahu prvku založené na jakémkoli jiném prvku v dokumentu a to vč. stejného typu, kde se tento lexikon odkazujeme.

Pozor na jednu věc. Klíčovým slovem source musí zápis vlastnosti lexicon vždy začínat, pokud je lexikon používán (pokud ne, neuvádí se nic nebo prázdná vlastnost).


Použitá hodnota - value

Tímto klíčovým slovem označujeme prvek, který má být na základě výběru vkládán do prvku s nastaveným zdrojovým lexikonem. Nemusí se nutně shodovat s prvkem zdrojového dokumentu, který je zařazován do výběrového seznamu (ten je možné nastavit samostatně klíčovým slovem offer).

Prvek je možné buď označit pouze uvedením jeho identifikačního názvu (tak jak je uvedeno v předchozím příkladu) nebo je možno uvést celou cestu prvku ve službě lexikonového dokumentu (tj. nikoli odkaz v dokumentu samotném - stejně jako odkazu ve vlastnosti source). Při uvedení celého odkazu začínáme lomítkem za kterým následuje název odpovídající služby (její atribut name případně odvozovaný z také-from) zdrojového dokumentu.


Nabízená hodnota - offer

Jak již bylo uvedeno u předchozího klíčového slova value, nemusí se použitý prvek shodovat s nabízeným prvkem v seznamu. Můžeme tak například vyhledávat kód dodavatele, kterým je desetimístná kombinace písmen a číslic s tím, že v seznamu budeme zobrazovat vedle tohoto kódu ještě plné obchodní názvy firem dodavatelů. Po výběru názvu dodavatele ze seznamu se nám v prvku s lexikonem v pozadí objeví požadovaný kód vybraného dodavatele.

Pokud není klíčové slovo offer v definici lexikonu uvedeno, pak se do seznamu seřazují pouze přímo použité hodnoty dané klíčovým slovem value, jehož použití je povinné. Odkazování u klíčového slova offer se děje stejně jako u zmíněného value.


Typ provázanosti - type

Pomocí lexiconu můžete buď uživateli jen usnadnit zápis hodnot jejich výběrem z přidruženého seznamu - hodnota offer - a nebo můžete ještě navíc zajistit, aby uživatel mohl zadat jen některou z hodnot uvedených v seznamu - restrict. Zvláštní možnost typu je zákaz lexikonu pomocí klíčového slova none. Jde o případy, kdy prvek s lexikonem se stane součástí výběrového uzlu dalšího dokumentu a je nežádoucí, aby v cílovém dokumentu lexikon byl. Pak do patřičné služby nastavíme k prvku vlastnost lexikon obsahující pouze type:none. Podobný případ může nastat i u vazby view-of - způsob použití je obdobný, jen s tím rozdílem, že none napíšete přímo do prvku v pohledovém dokumentu a nikoli do služby, kterou sice využívá, ale lexikon z nepřebírá.

Pokud má prkvek s připojeným lexikonem definován formulářový typ dropdown, pak se zobrazí klasické rozbalovací políčko, které se bude také tak chovat. Jediný rozdíl bude v tom, že položky je možné pomocí zdrojových dokumentů lexikonu měnit. Pokud má prvek definován formulářový typ field, tak se vedle klasické kolonky zobrazí i tlačítko LEX. Pomocí tohoto tlačítka může uživatel zobrazit pomocný seznam pro výběr položky na místo jejího zadávání. Jiný formulářový typ (input) než dropdown či field není možné u prvku s propojením na lexikon definovat.


Filtrace nabízených položek - filter

Seznam nabízených možností - tj. počet instancí zdrojového dokumentu lexikonu - může být někdy velmi dlouhý nebo je zapotřebí z existujících možností umožnit výběr jen některých z nich. Pro tyto účely je možné nastavit filtr pomocí srovnávacího výrazu a jeho zápis se řídí pravidly pro zápis takového výrazu v XDS. Odkazy do cizího (zdrojového) dokumentu je uvozen zdvojenými dvojtečkami (viz. zmíněná syntaxe výrazů pro filtry), mezi kterými může být uveden identifikační název zdrojového dokumentu, ale není to doporučováno, protože tato identifikace je provedena u klíčového slova source a při změně zdrojového typu je třeba myslet i na provedení této změny mezi zmíněnými dvojtečkami.


Potenciální vlastnické uzly

Vlastnost lexicon je možné uvést u následujících uzlů:

ElementDef - šablona prvku (kmenová definice) - jako parametr;

element - prvek (segment uvnitř definice);


Zákaz kopírování hodnoty prvku disclonableVlastnost place-holder place-holderVlastnost required-if required-ifPodmíněná upravitelnost prvku edit-ifVlastní šablona segmentu custom-tempFormulářový typ inputf-type kompilaceZadání počáteční hodnoty initialÚplná změna políčka vlastní šablonou field-tempVlastnost join-fromPropojená nabídka prvku linked-offerVýběr hodnoty z dodatečného seznamu lexiconSpecifikace masky pro zadání údajů maskPrvek s generováním zprávy messengerVlastnost merge mergeOtevření formuláře openedVlastnost preserveMožnost rychlé nabídky quick-offerZadání vyžadování hodnoty requiredMožnosti chování zdroje source-behaviourSpecifikace podmínky pro zdroj dat source-filterVýchozí upřesnění opakování starting-specification