světNotes.cz

Replication dialog
Novinky
05.05.2005 - Martin Humpolec

Myslím že nejenom v mém okolí je relativně málo lidí, kteří si omezují obsah replik databází, které replikují na svůj disk. Ostatně kdo má složitě vymýšlet výběrové podmínky na základě kterých se mají přenášet ty správné dokumenty? Nebo vytvářet v neznámé aplikaci pohledy, které budou zobrazovat ty správné dokumenty?

Od verze 6 je zde nová možnost – uživatelský dialog, ve kterém si každý uživatel sám vybere co chce replikovat. Příklad najdete přímo v nastavení replikace poštovní schránky na záložce Space Saver. Jak na něj aby fungoval i v našich aplikacích si ukážeme během krátké chvíle.


(klikni na obrázek)

Celá úprava každé konkrétní databáze je velice jednoduchá. Je potřeba vytvořit formulář, který bude pojmenován ($Replication). Tento formulář se nemusí zobrazovat v menu tvorba ani nikde jinde a má jediné základní pole, které na něm musí být umístěno. Toto pole se musí jmenovat $HLFormula a musí být typu Formula. Do tohoto pole se umístí výpočet, který odpovídá výběrové podmínce pomocí které chceme vybrat vhodné dokumenty.

Dále můžete formulář vylepšovat dle svých potřeb – přidávat nadpisy, tabulky a hlavně pole, pomocí kterých uživatel vybírá, které dokumenty chce replikovat k sobě na počítač.


(klikni na obrázek)

Na ukázkovém formuláři jsou dvě pole, pomocí kterých si uživatel vybírá co chce replikovat. Jedná se o pole Typ, které specifikuje typ záznamu (firma, osoba), a o pole Region, který specifikuje region, ve kterém se daný kontakt nachází. Tato dvě pole jsou dostupná uživatelům, kteří si pomocí nich zaškrtají, jaké záznamy chtějí replikovat.

Vypočítávané pole $HLFormula využívá údaje z těchto polí a spočte výběrovou podmínku. Obsah pole Typ pomocí funkce @Implode spojí dohromady, díky čemuž vznikne například řetězec „Firmy“ : „Osoby“. Pokud obsah pole není prázdný tak do proměnné formular doplní výběrovou formuli – srovnání s hodnotou pole Form, konkrétního dokumentu. Podobná operace se poté provede s polem Region, který ve finále porovnáváme s polem RegionFirmy na každém dokumentu. Celková hodnota pole $HLFormula potom vznikne spojením těchto dvou výběrových podmínek pomocí spojky & (logické AND). Pokud uživatel nezaškrtl žádnou hodnotu v poli Typ a Region tak se použije výběrová podmínka @ALL, která vybere všechny dokumenty v databázi.

Po uložení formuláře již jsou uživatelé schopni vybírat, které dokumenty chtějí replikovat, pomocí tohoto, uživatelsky přívětivého, formuláře.