Možnosti chování zdroje source-behaviour
Specifikace upřesňující chování a vlastnosti v případě nastavení zdroje segmentu.
Tato vlastnost upravuje některé rysy spojené s propojením zdroje pomocí vlastnosti source. Vlastnost se dále skládá z dílčích pod-vlastností oddělených středníkem, které teprve upravují potřebné chování či jiné rysy spojené s propojováním dokumentů:
-
count-at - omezení výpočtu na nové či existující dokumenty
-
new-source - možnost zákazu tvoření zdroje
-
show-repeats-on-select - možnost zahrnout opak. do výběru
-
next-col-list - rozšiřující seznam sloupců ve výběru
-
next-specif-col-list - rozšiřující seznam sloupců v upřesnění (specifikaci)
-
select-on-change - propojení akce výběru se změnou kolonky
-
start-fdk - mění výběr třetího dokumentu ve zdroji typu
foreign -
disable-bookmarks - umožňuje zakázat použití záložek pro vložení zdroje
-
select-button - možnost skrytí tlačítka "Vybrat"
-
open-button - možnost skrytí tlačítka "Otevřít" / "Nový"
-
specify-button - možnost skrytí tlačítka "Upřesnit"
count-at - omezení výpočtu na nové či existující dokumenty
Nastavení tohoto chování je účinné pouze u zdrojového mechanizmu count (počítaný prvek). Standardně se výpočty provádějí bez ohledu na to, zda jde o nově tvořený dokument (tj. instanci dokumentu) dosud neuložený v databázi či dokument již z databáze otevřený. Pouze se vždy zohledňuje, zda uživatel vypočtenou hodnotu nepřepsal hodnotou jinou. Nastavení count-at umožňuje omezit výpočty na provádění pouze u nových nebo naopak pouze u existujících. Mechanismus vypnutí výpočtu při přepsání hodnoty uživatelem zůstává zachován. Vlastnost count-at tedy může být nastavena na jednu z následujících tří možností:
-
all - (výchozí) výpočet je prováděn bez ohledu na to, zda již byl dokument uložen
-
new - výpočet je prováděn pouze u dosud neuložených dokumentů
-
exist - výpočet je prováděn pouze u již dříve uložených dokumentů
new-source - možnost zákazu tvoření zdroje
Někdy je zapotřebí ošetřit, aby zdrojový dokument nebyl tvořen jako nový dokument, ale pouze přebírán z již existujících a nebo případné propojení aby zůstalo nerealizováno. Například ruční párování provize přímo na bankovní výpis by mohlo způsobit vytvoření nového bankovního obratu aniž by tento obrat byl skutečností.
Někdy naopak je třeba, aby byl tvořen vždy nový dokument. Tyto potřeby zabezpečuje vlastnost new-source. Může nabývat hodnot possible (výchozí nastavení), always a never. Z uvedených slov vyplývá již jejich význam
-
possible zajistí všechny možnosti, tedy jak tvorbu nového, tak i možnost výběru stávajícího
-
always zakazuje možnost výběru a umožní pouze tvorbu nového dokumentu
-
never naproti tomu zakazuje možnost nového zdroje a umožňuje pouze jeho výběr
Je patrné, že nastavování new-source má význam pouze při použití mechanismu foreign ve vlastnosti source, nebo vepisování hodnot do políček propojených mechanismem initial se nový zdroj vepsáním hodnot do políček netvoří a tyto hodnoty se ukládají bez potřeby klíče do cílového dokumentu.
show-repeats-on-select - nabídka opakovatelných při výběru
Při kliknutí na tlačítko "Vybrat" u segmentu s cizím zdrojem se zobrazí seznam s odpovídajícími zdrojovými dokumenty. V tomto seznamu se nabízí ve sloupečcích hodnoty z políček, která se mají v cílovém dokumentu naplnit. Standardně nejsou mezi tyto sloupečky zahrnuty ty kolonky, které ještě potřebují další upřesnění - čerpají z opakovatelných segmentů zdrojového dokumentu. Důvodem je, aby se seznam vybíraných dokumentů nenásobil počtem jejich opakovatelných segmentů. Někde to však může být žádoucí a právě nastavením vlastnosti na true nebo yes můžeme změnit tento výchozí stav (false/no):
next-col-list - rozšiřující seznam sloupců ve výběru
Tato vlastnost se rovněž jako předchozí týká seznamu pro výběr cizího dokumentu. Pomocí této vlastnosti můžete rozšířit seznam sloupců vedle standardních zahrnutých ve výběru. Tato vlastnost se může dobře hodit zejm. při výběru prvku, kde jediný sloupeček s hodnotami vybíraného prvku můžeme snadno doplnit o bližší identifikaci zdrojového dokumentu obsahujícího žádaný prvek.
Syntaxe vlastnosti je taková, že se za dvojtečku uvede čárkami oddělený seznam absolutních XPath odkazů na prvky služby zdrojového dokumentu (je lhostejno ze které služby téhož zdrojového dokumentu). Takže zápis může vypadat i takto:
next-specif-col-list - rozšiřující seznam sloupců v upřesnění
K tomu, k čemu slouží next-col-list u výběrových uzlů, slouží next-specif-col-list u uzlů specifikačních. Je možností jak rozšířit nabídku upřesnění zdrojového opakování v okně se seznamem zdrojových opakování. Syntaxe je shodná s vlastností next-col-list.
select-on-change - propojení akce výběru se změnou kolonky
Často nastávají případy, kde je jedna kolonka ve výběrovém uzlu natolik určující, že jednoznačně identifikuje požadovanou položku pro výběr (např. kód ceníku, číselné ID apod.). V takových případech bývá pro urychlení zadávání dobré napojit na provedení změny v kolonce automatické provedení výběru. Tj. při zadání hodnoty do určité kolonky se může po odskočení z kolonky (zaznamenání změny) provést výběr automaticky. Není třeba již používat tlačítko vybrat či klávesovou zkratku F12. Akce výběru je již vázána na samotnou změnu této kolonky. Toto propojení zároveň také zajišťuje větší konzistenci obsahu vyplněné kolonky identifikátoru a provedení výběru v oblasti či prvku.
Někdy dokonce nemusí být tento automatický výběr provázán na kolonku jednoznačného identifikátoru, ale může být výhodné jej provázat i na kolonku popisu či nejednoznačného identifikátoru. Pro takové případy (kdy jako odpovídající zdroj padá v úvahu více než jeden dokument) nabízí výběrový uzel okno se seznamem všech odpovídajících možností k použití.
Nastavení této automatizace se provádí pomocí klíčového slova select-on-change ve vlastnosti source-behaviour. Za dvojtečkou tohoto slova lze uvést jeden nebo více čárkami oddělených odkazů na kolonku, jíž se automatizace týká. Pro příklad můžeme uvést položku na dokumentu faktura, která je zdrojově propojena na dokument cenik. Tato položka faktury je tedy výběrovým uzlem používajícím jako zdroj evidenci ceníku. V rámci této položky na faktuře pak bude dle služby dokumentu cenik k dispozici kod, popis a cena. Kód položky je přitom jedinečným identifikátorem. Dále uvažme, že použitá služba dokumentu cenik bude mít název identifikace. Pak zápis u fakturované položky bude následující:
Případně při využití i kolonky popis (méně časté):
Dvojtečky identifikující odkaz do cizího dokumentu nemusí být uváděny a následující zápis má tedy naprosto stejný význam jako předchozí:
select-button-title - změna bubliny tlačítka výběru
Touto vlastností se nastavuje obsah bublinové nápovědy u tlačítka pro výběr zdrojového dokumentu. Tento text pak nahrazuje automaticky generovanou nápovědu.
specify-button-title - změna bubliny tlačítka upřesnění
Touto vlastností se nastavuje obsah bublinové nápovědy u tlačítka pro upřesnění zdrojového opakování. Tento text pak nahrazuje automaticky generovanou nápovědu.
start-fdk - nastavení výhozí hodnoty cizího klíče
Někdy nastávají situace, kdy v databázi jsou určité typy dokumentu velmi stabilní a jejich instance jsou předem známé. V takových případech může být žádoucí, aby bylo u výběrového uzlu cizího dokumentu, ktery je napojen na tento stabilní zdroj, byl přednastaven úvodní výběr a uživatel nebyl zatěžován neustálým výběrem téhož typu dokumentu.
Velkou výhodou je nastavení této vlastnosti u pohledových typů dokumentů. Zde většinou samotný výchozí databázový dokument nemá start-fdk nastaveno, jednotlivé pohledy určující podskupinu, která může být dána i právě vybranou instancí zdrojového dokumentu v určitém výběrovém uzlu, mohou s výhodou nastavit start-fdk a celou oblast s výběrem skrýt a uživatel tento výběr již vlastně udělá v momentě výběru pohledového formuláře, který pro zadání dokumentu do databáze použije.
Syntaxe je prostá (číslo je pdk - tedy primární klíč instance zdroje):
set-remote-select - výběr třetího dokumentu ve zdroji
Přeloženo - nastavení vzdáleného výběru. Každý dokument můžeme definovat tak, že využívá jiného dokumentu prostřednictvím výběrového uzlu. Tento uzel může být typu initial, lexicon či foreign - to už víme z předchozích podkapitol (vlastnost source). Pomocí tohoto propojení můžeme využívat data zdrojových dokumentů a u mechanismu foreign je můžeme i měnit tím, že změníme hodnotu propojeného prvku. To může být účelné pokud například zástupce klienta, který jakožto samostatný dokument má propojení na obecnější dokument osoba, změní telefonní číslo. Pak se toto číslo promítne i do osoby. Pomocí mechanismu foreign jako takového ještě ovšem nemůžeme změnit vyběr třetího dokumentu provedený v dokumentu zdrojovém.
Představme si příklad nějakého operátora služeb, který přijímá hlášení o poruchách svých služeb od svých klientů. Pro každé takové hlášení má pracovník operátora k dispozici dokument "Hlášení poruchy". Na tomto hlášení vybere klienta, kterého se porucha týká a zapíše údaje, jako jsou datum a čas vzniku poruchy a její stručný popis.
Vedle běžných privátních klientů u operátora však ještě existují firemní klienti, kde je díky rozsahu služeb běžné, že se poruchy hlásí hromadným způsobem přes pověřenou osobu. Pak nastává situace, že bychom museli zavést např. deset poruch a na každé z nich vybrat stejného klienta opakovaně. Zde je možné definovat nový dokument "Hromadné hlášení", kde se v hlavičce vybere předmětny klient a opakovatelné oblasti se mechanismem foreign propojí na běžné "Hlášení poruchy", kam se vyvedou datum, čas a popis poruchy. Vyplněním těchto kolonek se u každého opakování vytvoří nové samostatné hlášení. Problém ovšem je v tom, že se tato dílčí hlášení nezařadí výběrem k požadovanému klientovi. Chceme-li z nějakého důvodu udržet hlášení v jedné tabulce, můžeme použít právě vzdáleného nastavování vyběru. V podstatě jde o to, že v hromadném hlášení definujeme, že klient, který je vybrán zde se má vybrat i u upravených nebo nových dílčích hlášení. Toto definujeme pomocí operátoru rovnosti mezi výběrovym uzlem klienta u hromadného a běžného hlášení ve vlastnosti set-remote-select v source-behaviour. Mohlo by to vypadat takto:
Název vybrany_klient, odkazuje na službu běžného hlášení (propojenou na výběrový uzel klienta). Umístění odkazu před či za rovnítkem není podstatné. Důležité je, aby odkazovali na stejný výběrový typ (tj. typ třetího zdrojového dokumentu). Místní odkaz na výběrový uzel může být i relativní.
Tímto způsobem může být nastavován i více než jeden výběrový uzel zdrojového dokumentu. Stačí napsat ke klíčovému slovu set-remote-select další přiřazovací výraz oddělený čárkou. Pokud bychom tedy nastavovali např. nejen klienta, ale i pracovníka, který poruchu ten den hlásí, mohl by výraz vypadat takto:
disable-bookmarks - zakáz použití záložek
Každý výběrový uzel má možnost buď jednotlivého nebo i hromadného (u opakovatelných) vyběru zdrojových dokumentů ze záložek. Zdroj tedy není vybrán z databáze za použití příp. omezení source-filter a starting-specification, předem v záložkách připravených odkazů bez ohledu na to, zda vybraný dokument odpovídá zdrojovému filtru a bez provedení výchozí specifikace. To může působit potíže tam, kde nastavení filtru a úvodní specifikace jsou pro správnost použití klíčové. Proto je za pomoci nastavení klíčového slova disable-bookmarks na hodnotu true lze tuto možnost použití záložek eliminovat. Nastavení disable-bookmarks má výchozí hodnotu false použitou při jeho nedefinování, která použití záložek pro vložení zdroje umožňuje.
select/open/specify-button - skrytí tlačítka
Vlastnosti select-button, open-button a specify-button mohou nabývat hodnot show (výchozí) nebo hide. Každá z vlastností skrývá jedeno z tlačítek výběrového a specifikačního uzlu. Jde o tlačítko "Vybrat", "Nový" resp. "Otevřít" (podle toho, zda je vybrán zdrojový dokument k otevření či zda není a je nabízena možnost vytvořit nový dokument jako zdroj) či "Upřesnit". Standardně jsou tlačítka zobrazována.
Potenciální vlastnické uzly
Vlastnost source-behaviour je možné uvést u následujících uzlů:
Vlastnost source-behaviour source-behaviour
Specifikace upřesňující chování a vlastnosti v případě nastavení zdroje segmentu.