Přeskočit odkazy

Záznam událostí v databázích FileMaker.

Školení, kurzy a koučování FileMakeru

Automatické zaznamenávání událostí v aplikaci FileMakerVšichni jsme to zažili: datový záznam již neexistuje nebo byl změněn, ale nikdo se k tomu nechce přiznat. To je obzvláště nepříjemné, když už není známo, jaké hodnoty byly v polích dříve. Pokud existují, může v takových případech pomoci záloha, ale obnovení zálohy je obvykle poměrně časově náročné.

Takové problémy se řeší mnohem snadněji, pokud je změna hodnoty pole přímo zaznamenána (neboli "sledována"). V dřívějších verzích FileMakeru to bylo možné realizovat pomocí vstupních dialogů, například kliknutím na tlačítko [OK] a na tlačítko Skript byl zavolán, aby proces zaznamenal. V novějších verzích FileMakeru je celá věc možná díky Spouštěč scénáře je mnohem snazší. Tento článek ukazuje, jak to udělat, s odpovídajícím ukázkovým souborem.

Výhody zaznamenávání událostí

Protokol událostí souvisejících se zákazníkemPokud jsou události a postupy v terénu důsledně zaznamenávány do databází FileMaker, přináší to hmatatelné výhody během provozu. Při každé změně se událost zaznamená do protokolu, který lze zobrazit jako kompletní protokol nebo propojit s jiným protokolem. Databáze lze zobrazit. V rozvržení lze například zobrazit všechny události týkající se zákazníka a získat přehled o všech událostech, které byly provedeny v souvislosti s vyvolaným zákazníkem. Na adrese Tabulka pro protokol událostí obsahuje standardní informace, jako je datum, jméno uživatele, tabulka nebo Primární klíč u změn polí skutečné hodnoty polí před a po provedení změny. To umožňuje další funkce, jako je obnova (neomezené vracení v libovolném pořadí) změněných dat - možná vzdáleně srovnatelné s "vizuální hlasovou schránkou pro data" ;-)

Pusťme se do práce: Co je potřeba?

Vývoj protokolu událostí pro existující řešení FileMaker lze realizovat pomocí zvládnutelných prostředků. Nejprve je třeba vytvořit novou tabulku, která obsahuje všechna příslušná pole pro správu událostí. V ukázkovém souboru se tabulka jmenuje "Protokol událostí".

Popis pole Protokol událostí

Každé zaznamenané události odpovídá datový záznam v této tabulce, automatický primární klíč se nazývá _pk_Ereignis_ID. Referenční klíč, k němuž se událost vztahuje, je uložen v poli klíče _fk_Fremdschlüssel. Pokud se například změní pole v databázi zákazníků, vyplní se toto pole primárním klíčem databáze zákazníků. Který klíč se v tomto poli nachází, se zadává do pole Cizí klíč napsáno.

Pro změny polí obsahuje tato tabulka také pole Field_content_before a Field_content_afterkteré obsahují obsah pole před a po provedené změně.

Stačí dva skripty.

K zaznamenání události jsou nyní kromě tabulky zapotřebí dva skripty: Jeden skript se používá pro čistý záznam v tabulce. Protokol událostí a má být vyvolán pomocí parametrů skriptu, a další skript je nutný pro záznam změn pole, který je vyvolán pomocí spouštěče skriptu na příslušném poli.

Zadání události

Podívejme se nejprve na čistý vstupní skript [ts.event log], který přijímá následující parametry skriptu:

  • Cizí klíč
  • Soubor
  • Původ (skript/políčko atd.)
  • Stav (OK, chyba)
  • Tabulka
  • Text
  • Typ transakce
  • Typ cizího klíče
  • Obsah pole před
  • Obsah pole po

Samotný skript má jednoduchou strukturu, hodnoty obsažené v parametru skriptu zapisuje nejprve do proměnných a poté do nového datového záznamu v tabulce protokolu událostí.

Protokol událostí: Skript 1

Tento skript může být volán jakýmkoli jiným skriptem, který má provádět záznamy do protokolu událostí. V ukázkovém řešení byl realizován také záznam událostí v terénu, který tento skript také vyvolává.

Skript [ts.record_field_event]

Scénář ts.record_field_event je nastaven pro každé pole jako spouštěč skriptů [OnObjectEnter] a [OnObjectExit]. Jako nepovinný parametr skriptu může přijmout tabulátor ovládacího prvku s ouškem, pokud se pole nachází v oblasti ovládacího prvku s ouškem. To je nutné, aby skript mohl po vytvoření záznamu dat protokolu přepnout na správnou kartu. Kontrola registrů na cílovém rozložení.

Skript nejprve zkontroluje, zda systémová proměnná $$field je naplněný nebo prázdný. Pokud je tato systémová proměnná prázdná, uživatel zadal pole a skript systémovou proměnnou vyplní. $$field s názvem aktivního pole a $$field_content_before s obsahem pole před změnou. Skript se poté ukončí, protože při zadávání pole nemusí skript dělat nic jiného.

Pokud systémová proměnná $$field je již vyplněno, uživatel mohl obsah pole změnit a pole právě opouští. Skript nyní zkontroluje, zda byl obsah pole změněn, a pokud byla změna provedena, vytvoří datový záznam v protokolu událostí voláním subskriptu ts.event log. Pokud je pole v ovládacím prvku s ouškem a název ouška byl zadán jako parametr skriptu, skript se nyní přepne na zadané ouško, protože jinak by se po zadání přepnul na výchozí ovládací prvek s ouškem. Nakonec skript opět odstraní proměnné 1TP4rider, $$field, $$field_content_before a $$field_content_aftera hra může začít znovu od začátku, protože systémová proměnná $$pole je nyní opět prázdná.

Protokol událostí: Záznam události pole

Přiřazení polí pomocí spouštěčů skriptů

V posledním kroku je nyní třeba požadovaná pole opatřit spouštěči skriptů, aby při změně pole mohlo dojít k zápisu do protokolu událostí. Pro každé pole je třeba nastavit dva spouštěče skriptů, z nichž každý volá stejný skript:

Spouštěč skriptu pro záznam hodnot polí a protokol událostí

  • WithObjectEnter ["ts.field_event_record"; {parametr: "tab"}]
  • WithObjectExit ["ts.field_event_record"; {parametr: "tab"}]

Parametr skriptu "Tab" je nepovinný a zadává se pouze v případě, že se pole nachází v ovládacím prvku s tabulátorem, jako je tomu v příkladovém souboru. Zadává se název záložky, který se použije v příkazu Inspektor na kartě [Pozice] v Název musí být zadán.

Příklad souboru pro záznam hodnoty pole

Na konci tohoto článku si můžete stáhnout ukázkový soubor pro FileMaker 12, ve kterém byl realizován protokol událostí se záznamem hodnot polí. Tento ukázkový soubor můžete použít jako základ pro vlastní databázi nebo pro přenos funkcí do vlastního řešení FileMakeru.

Seznam událostí ve vzorovém souboru

Stáhnout ukázkový soubor pro FileMaker 12

Stáhnout ukázkový soubor FileMakeru

Jak přenést skripty ze vzorového souboru do řešení

Skripty lze snadno přenášet z jednoho řešení FileMakeru do druhého prostřednictvím schránky. Stačí otevřít dialogové okno Správa skriptůVyberte požadovaný skript myší a zkopírujte jej do schránky pomocí nabídky [Úpravy - Kopírovat] nebo kombinace kláves [Ctrl/Cmd-C]. Poté otevřete stejný dialog v cílovém řešení a jednoduše znovu vložte dříve zkopírovaný skript pomocí příkazu nabídky [Úpravy - Vložit].

Přenos tabulek ze vzorového souboru do řešení

Tabulky lze do stávajícího řešení vložit několika způsoby. Nejjednodušší je importovat tabulku pomocí tlačítka [Importovat...] v dialogu Správa databáze. Všechny tabulky, které mají být importovány ze zdrojového řešení, lze poté vybrat v následném dialogu. Tento způsob je proto vhodný zejména v případě, že se má importovat více tabulek najednou. Pokud se má importovat pouze jedna tabulka, lze to provést také prostřednictvím schránky jako skript. Má-li být tabulka importována spolu s daty, lze to provést příkazem [Soubor > Importovat záznamy > Soubor]. V dialogovém okně pro import je cílová tabulka Nová tabulka musí být zadán.

Přenos seznamů hodnot ze vzorového souboru do řešení

Seznamy hodnot lze snadno importovat z jednoho řešení FileMakeru do druhého prostřednictvím schránky. Stačí otevřít dialog v nabídce [Soubor/Soubor > Správa > Seznamy hodnot], vybrat požadovaný seznam hodnot a kliknout na tlačítko [Importovat]. Seznam hodnot myší a zkopírujte seznam hodnot do schránky pomocí nabídky [Úpravy - Kopírovat] nebo kombinace kláves [Ctrl/Cmd-C]. Poté otevřete stejný dialog v cílovém řešení a vložte dříve zkopírovaný seznam hodnot pomocí příkazu nabídky [Úpravy - Vložit].

Jak přenést vlastní funkce z příkladového souboru do řešení

Klikněte na tlačítko [Importovat] v dialogu [Soubor > Správa > Vlastní funkce...] a poté vyberte vzorový soubor. V následujícím dialogu vyberte požadované vlastní funkce a dialog potvrďte. Upozorňujeme, že tato funkce je k dispozici pouze v aplikaci FileMaker Pro Advanced, nikoli však v aplikaci FileMaker Pro.

Zanechat komentář

Sdílet tuto stránku:

Software ERP je stejně flexibilní jako vaše společnost.
Rádi vám poradíme.

Přizpůsobitelný software ERP pro Mac, Windows a iOS.

Nacházíte se zde: Masarykova univerzita Lidé se mohou těšit na další informace: Záznam libovolných událostí v databázích FileMaker