Přeskočit odkazy

Automatické řízení procesů pomocí procesního stroje.

JQuery

Spouštění skriptů na serveru FileMaker Server z prostředí RuntimePři používání databází FileMaker v Síť může existovat požadavek, aby procesy byly prováděny na vyžádání nebo automaticky časově řízeny klientem v místní síti. Oblasti použití procesního motoru mohou být velmi rozmanité. Pokud váš FileMakerDatabáze přístup zvenčí přes WebDirect můžete například pomocí procesního enginu vytvářet dokumenty a zpřístupnit je ke stažení jako soubory PDF. Vzhledem k tomu, že proces je spuštěn na klientovi v místní síti, lze vytvořené soubory snadno uložit na síťový disk v rámci místní sítě. Další oblastí použití jsou tzv. cronové úlohy - tj. procesy, které jsou procesním enginem spouštěny v předem definovaný čas a případně v určitých intervalech. Tento článek vysvětluje, jak lze v aplikaci FileMaker realizovat jednoduchý procesní engine s časově řízenými cronjobs a protokolem o jejich provádění.

Virtuální zaměstnanec s vlastním klientem FileMaker

Výchozím bodem pro procesní stroj je vlastní počítač Mac nebo PC se systémem Windows s nainstalovaným klientem FileMaker. Ve FileMakeru se vyvolá pouze jedno rozložení (aut.tasks), které se vytvoří pomocí příkazu Spouštěč scénáře byla poskytnuta. Jakmile se Tabulka rozvržení aut.processes je vytvořen nový datový záznam, procesní stroj začne zpracovávat proces uvedený v datovém záznamu.

Tabulka činností a protokol jako základ

Abyste mohli provádět procesy a ukládat je jako protokol, potřebujete nejprve dvě nové datové tabulky:

  • Procesy (1 datový záznam = 1 operace pro zpracování operačním strojem)
  • Záznam o procesu (1 datový záznam = 1 operace zpracovaná operačním strojem)

Tabulka Procesy obvykle neobsahuje žádné datové záznamy a je naplněn datovým záznamem pod kontrolou skriptu v okamžiku, kdy má procesní stroj provést určitý proces. Jakmile je proces proveden, je v protokolu vytvořen nový datový záznam a datový záznam je uložen do paměťové jednotky Procesy znovu smazáno.

Procesní stroj naslouchá...

Aby procesor v reálném čase věděl, že má být proveden nový proces, potřebujeme odpovídající rozložení, které obsahuje datové záznamy z tabulky Procesy se zobrazí. V našem ukázkovém souboru se toto rozložení nazývá aut.processes. Toto rozložení má rozloženíSkript-trigger (BeiDatensatzLaden), který spustí skript pro zpracování operace, jakmile je v databázi vytvořen nový datový záznam. Procesy se nachází.

Spouštěč rozvržení skriptu pro procesní motor

Pokud je do databáze přidán nový datový záznam Procesy je přidán, engine procesu automaticky spustí skript. lay. procesní stroj se spouštěčem skriptu trigger.layout vypnuto. Předpokladem je, že procesní stroj zůstane po celou dobu na rozložení. aut.processes protože pouze v tomto rozložení je nastaven spouštěč skriptu.

Na procesním počítači můžete automaticky zajistit, aby klient přistupoval k rozvržení přímo po spuštění databáze FileMaker. aut.processes změny. Za tímto účelem nastavte pro transakční stroj samostatného uživatele jako standardního uživatele v aplikaci FileMaker Pro (Soubor > Možnosti souboru, "Přihlásit se pomocí"). Pokud má vaše řešení startovací skript, můžete nyní jednoduše zachytit uživatele pro motor procesu a použít konstrukci, jako je např:

If (Get(AccountName) = "TransactionMachine")
   Přejít na rozvržení ["aut.processes" ]
Konec (If)

Vezměte prosím na vědomí, že tisk a vytváření souborů PDF je od platformy FileMaker 16 možné také v aplikaci WebDirect. Pokud tedy používáte FileMaker Server 16 a FileMaker Pro 16 a chcete ve WebDirect vytvářet pouze tiskové výstupy nebo soubory PDF, nemusí být zde uvedené řešení pro vaše řešení již nutné.

Tři skripty pro řízení všech procesů

Naše ukázkové řešení FileMaker obsahuje tři skripty, pomocí kterých lze všechny procesy snadno ovládat:

lay. procesní stroj - Tento skript je spuštěn procesním enginem, jakmile je tabulka Procesy byla vytvořena nová datová věta. Volání se provádí prostřednictvím rozložení aut.processes pomocí výše uvedeného spouštěče skriptu rozložení. Do skriptu byla přidána část pro spouštění procesů s parametrem trigger.layout aby bylo možné tento skript použít s jinými parametry i pro jiné úlohy.

Vzhledem k tomu, že příkaz, který má engine procesu provést, se nachází přímo v databázi. Procesy můžete definovat libovolné procesní příkazy a nechat je zpracovat v tomto skriptu. Základní princip je vždy stejný:

If [ Get(ScriptParameter) = "trigger.Layout" ]

Skript se provede pouze v případě, že byl definován pomocí parametru skript. trigger.layout se nazývá.

   If [ Operace::Příkaz = "Odeslat data" ]

Následující skript se provede pouze v případě, že přenesený příkaz Odesílání dat čte.

      Váš postup

Zde můžete naprogramovat libovolný proces

      Smazat datový záznam/dotaz [S dialogem: Vypnuto]

Odstraní zpracovaný datový záznam z tabulky Procesy

      Spustit skript ["ts.process log"; Parametr: ... ]

Vloží do protokolu procesu nový datový záznam, přičemž zohlední všechny proměnné ve skriptu.

   Konec (if)

Konec (if)

ts.enter_process - Tento skript slouží k zadání libovolné operace v tabulce. Procesy v. Tento skript tedy můžete zavolat odkudkoli z databáze. Všechny použité příkazy lze také uložit do FileMaker Go nebo v aplikaci WebDirect. V našem příkladu přijímá skript čtyři parametry: Příkaz, e-mail, ID dat a jméno uživatele. Tyto čtyři parametry se jednoduše zadají jako nová datová věta v programu Procesy vstoupil. Tento skript můžete samozřejmě individuálně rozšířit a přenášet například další klíče, jako je ID nabídky, ID faktury nebo ID zákazníka. V takovém případě musíte zadat tabulku Procesy a také přidat tato pole do protokolu transakcí.

Skript má velmi jednoduchou strukturu: V první části jsou parametry skriptu (oddělené apostrofem) zapsány v proměnných. K tomuto účelu používáme Vlastní funkce "StringColumns". Můžete také použít jinou technologii a přenést parametry například jako normální seznam, který můžete ve skriptu vyčíst pomocí funkce "GetValue ()".

ts.transaction log - Jakmile skript ts.enter_process nový datový záznam v tabulce Procesy byl vytvořen a procesní stroj se nachází na rozvržení aut.processes proces je automaticky spuštěn skriptem lay. procesní stroj je zpracován a datový záznam tabulky Procesy smazáno. Skript ts.transaction log se stejnými proměnnými, aby se vytvořil nový datový záznam v protokolu procesu. Struktura skriptu je z velké části totožná se skriptem ts.enter_processs tím rozdílem, že datový záznam je uložen v protokolu, a nikoli v tabulce. Procesy je vygenerován.

Kmenová data pro procesy

V některých případech můžete pro proces potřebovat další základní údaje, například abyste mohli odesílat dokumenty e-mailem. Pak budete chtít předem definovat například předmět a text, který má příslušný e-mail obsahovat. Pro tento účel jsme vytvořili datovou tabulku Transaction master vytvořeno. Každý datový záznam v této tabulce odpovídá základním údajům procesu. Hodnota v poli Name_Process odpovídá názvu procesu, jak jej také používá skript. ts.enter_process se používá.

Definice procesů v hlavním modulu procesů

Volitelné zástupné symboly pro e-maily

V případě potřeby můžete v textech šablony "Předmět e-mailu" a "Text e-mailu" definovat zástupné znaky, které můžete nahradit skutečnými údaji v dílčích skriptech skriptu "lay.process.machine". V našem příkladovém skriptu jsou oba texty vytvořeny pomocí SQL-dotaz v proměnných $email_subject a $email_text napsáno. Chcete-li například nahradit zástupný znak {jméno_zákazníka} v textové šabloně, přidejte příkaz "Nahradit ( )" do dotazu SQL v těchto dvou definicích proměnných:

Variabilní set [$email_text; Value: Exchange ( SQL-Query; "{Name_Customer}"; Table::Name_Customer) ]

Tímto způsobem můžete v šablonách e-mailů používat libovolný počet zástupných znaků, které můžete definovat v definicích proměnných pro proměnné. $email_subject a $email_text lze snadno nahradit skutečnými daty.

Časově řízené procesy pomocí cronjobs (vyžaduje zásuvný modul)

Náš ukázkový soubor pro procesní engine jsme vybavili také možností zpracovávat časově řízené úlohy cron. V předloze procesu lze definovat datum zahájení a ukončení, požadovaný čas a interval. Pro použití této funkce je nutné použít příkaz Zásuvné moduly MBS FileMaker protože je vyžadován příkaz 'FM.RunScript'. Alternativně lze použít příkaz 'BE_ExecuteScript' volného jazyka Zásuvné moduly BaseElements lze použít.

Nastavení monitorovacího skriptu v procesním počítači

Všechny úlohy cronjobs jsou řízeny skriptem cron.operation machine který můžete vyvolat například každých deset minut pomocí skriptu časovače. V našem ukázkovém řešení jsme zahrnuli skript cron.timerscript integrovaný, který řídí provádění skriptu cron.operation machine každých 600 sekund, tj. každých 10 minut. Tento skript můžete integrovat do spouštěcího skriptu svého řešení například dotazem na uživatelské jméno, takže časovač se spustí automaticky, jakmile se přihlásí uživatel procesního stroje.

Scénář cron.operation machine nejprve přepne na rozložení Transaction master a vyvolá všechny aktivní úlohy cronjobs. Poté se spustí prováděcí smyčka, v níž se u každého nalezeného cronjobu zkontroluje, zda má být proveden. Pokud ano, provede se příslušná úloha cron.

U úloh cronjobs můžete definovat spuštění libovolných skriptů a odpovídajících parametrů skriptů. Cronjob tedy neprovádí žádné dílčí skripty skriptu. lay. procesní stroj ale v hlavním procesu můžete definovat libovolný skript včetně parametrů pro cronjob. Cronjob tedy může teoreticky spouštět libovolné skripty z vašeho řešení FileMaker v časově řízeném režimu.

Stáhnout ukázkový soubor pro FileMaker 13 až 16

Náš ukázkový soubor obsahuje všechny skripty uvedené v článku, které můžete integrovat do svých vlastních řešení FileMaker. Tabulka "Datová tabulka" obsažená ve vzorovém řešení slouží pouze pro demonstrační účely a měla by odpovídat datovým tabulkám z vašeho vlastního řešení FileMaker.

Stáhnout ukázkový soubor FileMakeru

Integrace procesního motoru do systému gFM-Business

V rámci otevřené licence můžete tento příklad transakčního stroje snadno integrovat do systému gFM-Business ERP. Majitelé vlastní licence gFM-Business nás mohou požádat o integraci funkcí procesního stroje do svého řešení.

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 [Upravit - Kopírovat] nebo kombinace kláves [Ctrl/Cmd-C]. Poté otevřete stejný dialog v cílovém řešení a jednoduše vložte dříve zkopírovaný skript pomocí příkazu nabídky [Upravit - Vložit] znovu.

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í příkazu [Import...] 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 importována tabulka včetně všech dat, lze to provést příkazem [Soubor > Import datových záznamů > Soubor] v dialogu importu. V dialogu importování pak musí být 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 části [Soubor > Správa > Seznamy hodnot]vyberte požadovaný Seznam hodnot myší a zkopírujte Seznam hodnot do schránky prostřednictvím nabídky [Upravit - 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 v nabídce [Upravit - Vložit] znovu.

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

V dialogu [Soubor > Správa > Vlastní funkce...] na tlačítku [Import] a poté vyberte ukázkový 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: Automatické řízení procesů FileMakeru pomocí procesního enginu