JLABS

Mikrobiologie.Kniha.Razítka

Formuláře/Razítka


Bullet Klíčová slova:


Bullet Formulář
Bullet Datová položka
Bullet Číselník
Bullet Kontrola dat
Bullet Vstup údajů do systému


Bullet Princip funkce formulářů


Bullet Formuláře slouží ke skupinovému vstupu dat do počítače. Jsou relativně autonomní složkou systému, která má společné rysy za všech okolností. Formulářový vstup se uplatňuje všude tam, kde vstupuje najednou celá řada údajů. Umožňují se různé nestandardní akce, jako je křížové doplnění údajů z databáze, kontrola na správnost součtu, automatické generování výčetek apod.
Bullet V následujícím popise budeme vycházet ze standardního vybarvení programů rodiny ArcShellu. Jelikož mají tyto programy společně nastavitelné barvy, může se finální nastavení lišit případ od případu.
Bullet Formuláře se objevují obvykle v okénkách a jejich rozměr může být v podstatě libovolný. Formulář zde figuruje jako papír a okénko jako průzor na něj. Okénkem je možno rolovat všemi směry, kam to má smysl. Manuální rolování je vesměs zbytečné, formulář sám okénkem roluje tak, jak vyplňování postupuje. Většina formulářů je navíc navržena / generována tak, že odpovídají velikostí přesně zobrazovacímu okénku.
Bullet Formuláře se objevují v tomto kontextu resp uspořádání obrazovky:
Bullet Horní řádek obsahuje datum a čas resp. aktuální chybové hlášení.
Bullet Dolní řádek obsahuje nápovědu pro nejdůležitější klávesy (citlivá na myš).
Bullet Střední část obsahuje rámeček se snímaným formulářem.
Bullet Šedá část formuláře odpovídá papírovému podtisku.
Bullet
Bullet Modré kolonky jsou datové položky - tedy ty části formuláře, které je možno vyplňovat.
Bullet Červená kolonka je ta, kterou operátor právě vyplňuje.

Bullet V cyklu práce s formulářem operátor prochází položkami, vkládá do nich data a až je spokojen, data předá k dalšímu zpracování. Tento cyklus je doprovázen kontrolami ze strany formulářového systému:
Bullet Během práce na jediné položce se kontrolují vstupující znaky na přípustnost.
Bullet Po opuštění položky se kontroluje položka na správnost jako celek.
Bullet Při ukládání resp ukončení se kontrolují všechny položky na konzistentnost.

Bullet Některé položky mohou být vyplněny jenom výběrem z číselníku.
Bullet Některé položky mohou být vnuceny systémem (součet jiných položek apod.).
Bullet Jiné položky mohou být předvyplněny, ale operátor má možnost je přepsat. Vyznačují se tím, že posledním znakem v jejich jménu je "W".


Bullet Způsob hlášení chyb.


Bullet Chyby při vyplňování se projevují akusticky a výpisem vysvětlujícího textu v horním řádku. Text zmizí obvykle po dalším stisku klávesy. Zvlášť důležitá hlášení se zobrazí v červeném rámečku a operátor je musí potvrdit stiskem klávesy Enter nebo Esc.


Bullet Pohyb mezi položkami. Ve formuláři se mezi jednotlivými položkami pohybuje pomocí kláves:


Bullet Enter ... na další položku
Bullet Tab ... na další položku s ev. kopírováním směrem shora dolů
Bullet Ctrl+Enter ... na předchozí položku Bullet Up ... o řádek nebo odstavec výše
Bullet Down ... o řádek nebo odstavec níže
Bullet ^Y ... smaže položku Bullet ^U ... smaže párované položky v razítku s citlivostmi, tedy položku Hodnota i Interpretace.
Bullet Cvaknutí levým knoflíkem myši - skok na udanou položku Bullet Formulář může ale posun přes položku sám odmítnout - to pokud hodnota aktuální položky neprošla odpovídajícím testem.
Bullet Obdobně se může stát, že je způsob chodu kurzoru po individuálních položkách odlišný - definovaný programátorem aplikace. Přípustný je například automatický odskok po vyplnění jednoznakové položky nebo vertikální chod.


Bullet Pohyb v rámci položky. Zde se uplatňují klávesy:


Bullet Left ... posun vlevo
Bullet Right ... posun vrpavo
Bullet Backspace ... výmaz znaku před kurzorem
Bullet Del ... výmaz znaku na kurzoru


Bullet Vyplňování údajů


Bullet Vstup dat se děje jako na psacím stroji - přepisováním kolonky. Jako data sepřipouštějí alfanumerické znaky. Ty jsou průběžně kontrolovány a systém například nedovolí vstup písmen tam, kde musí být číslice.


Bullet Kontroly po opuštění položky


Bullet Tyto kontroly probíhají tehdy, pokud operátor - nejčastěji stiskem Enter - "odešle" data do kolonky. Například se číslo kontroluje na sémantickou vlastnost resp. na výskyt v databázi. Typickými důvody pro chybové hlášení jsou:
Bullet Nepovolená hodnota.
Bullet Formálně nesprávná hodnota.
Bullet Prázdná avšak povinná položka.
Bullet Chybný formát číselného údaje.
Bullet Neprošla kontrola údaje proti číselníku.
Bullet Sémantická chyba plynoucí z kontextu.
Bullet ...


Bullet Kontroly na závěr práce s formulářem


Bullet Stiskem F2 operátor odesílá ke zpracování formulář jako celek. Před tím je formulář zkontrolován jak na formální tak i na logickou správnost. Mají-li být například určité položky součtem jiných, je tento fakt kontrolován.


Bullet Důležité klávesy


Bullet Esc, F10 - ukončí práci s formulářem aniž by se data zpracovávala.
Bullet F2 - odesílá data z formuláře ke zpracování.
Bullet F3 - rozsvítí menu pro určitou položku - pokud existuje nebo je vyžadováno systémem.
Bullet F1 - zobrazí základní help.
Bullet F12 a Ctrl+F12 - slouží k "zamrazení" a "rozmražení" formuláře. Hodí se pokud je třeba práci na složitém formuláři přerušit, počítač použít na něco jiného a poté pokračovat v práci.


Bullet Implementační informace


Bullet Informace v této kapitole jsou určeny administrátorovi a pojednávají o detailech implementace formulářů. Manipulace s definičními soubory formulářů by finální uživatel měl provádět jenom výjimečně a to po předchozím uvážení všech důsledků.
Bullet Formuláře jsou definovány v souborech *.def a jejich struktura je rádek po řádku následující. Nejprve je sekce definice formálního vzhledu a položek ve formuláři. Vždy lichý řádek definuje vzhled formuláře - jednoho řádku v něm. Sudý řádek začíná povinně lomítkem a jsou na něm úseky odpovídající položkám. Tyto mají jedno až tříznaková jména a jejich skutečná délka je označena sekvencí znaků $. Na řádku může být neomezeně položek, nemohou se ale ani překrývat a ani přesně dotýkat. Formulář je koncipován na řádky široké až 255 znaků a dlouhý 64 řádků. Počet položek je omezen číslem 512. Po sekci definice vzhledu formuláře ukončené znakem @ na samostatném řádku následuje sekce definic vlastností položek. Řádky mohou obsahovat některé z rovnic:
Bullet check=on - zapíná automatické scanování.
Bullet int=prefix - deklaruje položky jako celočíselné.
Bullet number=prefix - deklaruje položka jako číselné s buiseness formátem zápisu.
Bullet float=prefix - deklaruje položky jako reálné hodnoty.
Bullet mod11=prefix - deklaruje jako modulo 11 položku (viz dále).
Bullet evmod11= - viz dále.
Bullet evf3=položka - deklaruje položku jako číselníkovou.
Bullet cis=položka|číselník - deklaruje položku jako číselníkovou s s kontrolou na udaný soubor.
Bullet jump|položka - po vyplnění znaku do položky se jde rovnou vbez Enter na další.
Bullet vertical=on - donutí systém snímat formulář po sloupcích.
Bullet default=položka|předdefinovaná hodnota - dává položce před snímáním nastavenou hodnotu.
Bullet paired=P|Q - svazuje dvě položky jako párované, první P bude obsahovat název antibiotika a druhá, Q,
Bullet jeho citlivost (resp. citlivost mikroba na antibiotikum uvedené v P). oracle= ...
Bullet upper=prefix - zapíná automatickou konverzi na velká písmena, viz též v kapitole o technické konfiguraci systému o tom, jak se interpretují násobné stisky stejné klávesy na stejném místě bez ohledu na Shift a Caps Lock, je to v kapitole Frekventované dotazy.
Bullet ...
Bullet

Bullet Verze od verze formulářový systém může obsahovat také další klauzule. Je-li na pravé straně rovnice prefix, pak se podmínka testů týká všech položek, začínajících daným prefixem. Rozdíl mezi float a number je v tom, že number umožňuje zápis čísla včetně oddělovačů čárkami. Klauzule mod11 deklaruje položku jako bankovní účet splňující test na mod11, evmod11 pak umožní i prázdnou položku (obvykle se používá pro předčíslí).Klauzule evf3 a cis slouží ke svázání položky s číselníky.
Bullet Pro jednoznakové položky je zavedena v některých aplikacích konvence, že systém automaticky konvertuje malá písmena na velká. Týká se to jenom standardních ascii znaků s kódem <=127.
Bullet Formuláře jsou implementovány jako objecty s overloadovanými metodami. Metody obsahují řadu parametrů, které je možno konfigurovat buď globálně, nebo i na úrovni definičních souborů jednotlivých fomulářů. Každé snímání formuláře probíhá podle schématu:
Bullet Načtení formuláře z definičního souboru.
Bullet Cyklus snímání jednotlivých znaků. Formulář funguje jako konečný automat, který volá automaticky některé metody, které stav formuláře libovolně změnit - obvykle ale modifikují jenom podlední vstup z klávesnice. Detailní diskuse metod je uvedena dále.
Bullet Kontrola údajů po stisku F2.
Bullet Uložení údajů do transakčního souboru.
Bullet Nastartování transakce.


Bullet Hlavní metody, kterými je možno formulář ovládat jsou tyto:
Bullet Test vstupujícího znaku. Je-li například položka deklarována jako mod11, není do ní možno ani zapisovat písmena.
Bullet Test opuštění položky (po Enter apod). Testuje integritu na úrovni jedné položky. Například mod11 se testuje na modularitu. Položky deklarované jako cis se kontrolují na udaný číselník.
Bullet Stisk F3 - nabídka. Použije se číselník deklarovaný v klauzuli cis.
Bullet Test po stisku F2 - položky se podrobí individuálním testům.
Bullet Vedle uživatelsky definovaných metod obsahují programy také řadu testů, které se nedají na uživatelské úrovni modifikovat - různé křížové testy, vazby mezi čísly účtů a databází evidence účtů apod.


Bullet Zásahy do definice formulářů by se měly dít opatrně. Zde se pokusíme ještě shrnout některé problémy, ke kterým by mohlo dojít:


Bullet Zrušení/přejmenování důležité položky - přestane fungovat transakce.
Bullet Zkrácení položky pod minimální míru - systém se zacyklí, typicky nepůjde vložit údaj z čísleníku ale hned se bude proti číselníku kontrolovat.
Bullet Nevhodná redeklarace položky. Bude-li například částka redeklarována jako číselníková položka, pravděpodobně se nikdy nepodaří vyplnit formulář s výčetkou.
Bullet Zkorumpování struktury - formulář bude nesmyslný.
Bullet Za běhu se mohou při nevhodné redefinici formuláře objevovat i varovná hlášení "reference na neexistující položku XXX" apod.


Bullet Každý zásah do struktury formulářů je nutno uvážit a nejprve vyzkoušet. Při problémech je nutno se vrátit k originálnímu tvaru nebo konzultovat dodavatele programového vybavení.


Bullet Laboratorní systém s výjimkou nejsložitějších formulářů používá automatické generování. Zde se tedy všechna výše uvedená varování týkají pouze několika formulářů (MOP apod).


Bullet Rejstřík kapitoly
Bullet Nadřízená kapitola dokumentace / rejstřík


JLABS Aktualizováno dne 20000623. Komentář: info@jlabs.cz