4.3 Pokročilé techniky skriptování
Nyní, když jste zvládli základy skriptování v aplikaci FileMaker, je čas přejít k pokročilým technikám, které vám pomohou vyvíjet složitější a robustnější aplikace. V tomto tutoriálu se zaměříme na ošetření chyb ve skriptech, ladění a dokumentování skriptů a vytváření složitých pracovních postupů s více skripty. Tyto techniky zlepší vaši schopnost vytvářet výkonné a spolehlivé aplikace FileMaker.
Obsah
- 4.3 Pokročilé techniky skriptování
- Zpracování chyb ve skriptech
- FileMaker ERP s přehlednou a plně zdokumentovanou strukturou skriptů a vývojářským modulem.
- gFM-Business Open Source FileMaker Basis ERP Software pro rychlokurz
- Vytváření složitých pracovních postupů s více skripty
- Použití částečných skriptů a parametrů skriptů v aplikaci FileMaker
- Předání více parametrů skriptu
- Výhody dílčích skriptů a parametrů skriptů
- Tipy, návody a rozhraní pro FileMaker a gFM-Business ERP
- Často kladené otázky o pokročilých funkcích skriptu
Zpracování chyb ve skriptech
Úvod do zpracování chyb
Zpracování chyb je nezbytnou součástí každého dobře vytvořeného skriptu. Ve FileMakeru to znamená, že vaše Skript aby mohl reagovat na neočekávané situace, například když není nalezen soubor, selže výpočet nebo uživatel zadá nesprávný vstup. Efektivní zpracování chyb zajistí, že váš skript jednoduše "nespadne", ale rozpozná chybu, vhodně zareaguje a informuje uživatele.
Základy zpracování chyb
- Detekce chyb prostřednictvím
Nastavení záznamu chyb: S krokem skriptuNastavení záznamu chyb [Zapnuto]můžete zabránit tomu, aby FileMaker při výskytu chyby automaticky zobrazil chybovou zprávu. Místo toho můžete zpracování chyb řešit sami. - Zkontrolujte stav chyby pomocí
Get(LastErrorNo): Po každém kritickém kroku skriptu byste měli zkontrolovat stav chyby.Get(LastErrorNo)vrátí chybový kód, který můžete zadat do poleKdyž-podmínka pro reakci na chybu. Příklad:Nastavení záznamu chyb [Zapnuto]
Otevřít soubor ["Database.fmp12"]
If [Get(LastErrorNo) ≠ 0]
Zobrazit vlastní dialogové okno ["Chyba"; "Soubor nelze otevřít"].
Ukončení aktuálního skriptu
End If - Vložení kroků pro zpracování chybPokud je zjištěna chyba, můžete přidat příslušné kroky k odstranění problému nebo upozornit uživatele. To může zahrnovat zrušení změn, uložení protokolu chyb nebo navržení alternativní akce.
Pokročilé zpracování chyb
- Použití smyček pro opakované pokusy: V některých případech může být užitečné provést několik opakovaných pokusů v případě chyby před ukončením skriptu. Příklad:
Nastavení proměnné [$Vtry; hodnota: 1]
Smyčka
Otevřít soubor ["Database.fmp12"]
If [Get(LastErrorNo) = 0]
Ukončení smyčky, když [Get(LastErrorNo) = 0]
Jinak Pokud [$attempt ≥ 3]
Zobrazit vlastní dialogové okno ["Chyba"; "Soubor se nepodařilo otevřít ani po 3 pokusech"].
Ukončení aktuálního skriptu
End IfUkončení smyčky, pokud [$attempt > 3]
Nastavení proměnné [$attempt; hodnota: $attempt + 1]
Konec smyčkyProtokolování chybVe složitých aplikacích může být užitečné vést protokol chyb, do kterého se ukládají podrobnosti o vzniklých chybách. To lze provést v samostatné tabulce protokolu chyb v databázi FileMaker.
Příklad:
If [Get(LastErrorNo) ≠ 0]Přejít na rozvržení [Název: "Protokol chyb"]
Nový datový záznam/dotaz
Nastavení hodnoty pole [ErrorLog::Date; Get( SystemTimestamp )]
Nastavení hodnoty pole [ErrorLog::ErrorCode; Get(LastErrorNo)]
Nastavit hodnotu pole [Error log::User; Get( AccountName )]
Uložit datový záznam/dotaz [S dialogem: Vypnuto]
End If
FileMaker ERP s přehlednou a plně zdokumentovanou strukturou skriptů a vývojářským modulem.
Více informací
Ladění a dokumentace skriptů
Úvod do ladění
Ladění skriptů je důležitým krokem k zajištění správného fungování a výkonu skriptů. Pracovní plocha skriptů v aplikaci FileMaker poskytuje výkonné nástroje pro ladění, například ladicí program skriptů a funkci Prohlížeč dat.
Použití ladicího programu skriptu
- Aktivace ladicího programu skriptuOtevřete pracovní plochu skriptu a spusťte ladicí program skriptu pomocí příkazu Nástroje > Ladění skriptů. Debugger umožňuje procházet skript krok za krokem a kontrolovat aktuální stav každé proměnné a každého kroku skriptu.
- Provedení krok za krokemPomocí tlačítek v debuggeru skriptu můžete provádět skript krok za krokem. Můžete tak přesně zjistit, kde dochází k chybě nebo kde jsou generovány neočekávané výsledky.
- Nastavení bodů přerušeníVe skriptu můžete nastavit body přerušení, které zastaví provádění v určitém bodě a zkontrolují aktuální stav. To je užitečné zejména při analýze složitých oblastí skriptu.
Použití prohlížeče dat
Prohlížeč dat zobrazuje hodnoty polí, proměnných a výpočtů v reálném čase za běhu skriptu. To je užitečné zejména pro sledování vlivu jednotlivých kroků skriptu na vaše data.
- Otevřený prohlížeč dat: Prohlížeč dat je přístupný prostřednictvím Nástroje > Prohlížeč dat lze otevřít.
- Monitorování výrazůPřidejte pole nebo proměnné, které chcete sledovat, abyste mohli kontrolovat jejich hodnoty během provádění skriptu.
Dokumentace ke skriptům
Přehledná a dobře strukturovaná dokumentace skriptů je důležitá pro zajištění udržovatelnosti a srozumitelnosti řešení FileMaker. Dobrá dokumentace obsahuje nejen komentáře v samotném skriptu, ale také popis skriptu, jeho účel a použité parametry.
- Komentář k vašemu skriptu: Použijte
Komentář:-funkce v pracovním prostoru skriptu, která dokumentuje jednotlivé části skriptu. Vysvětlete, co každá část dělá a proč je nutná.příklad:# Tento skript kontroluje, zda lze soubor otevřít, a pokud ne, zobrazí chybovou zprávu. - Přidání popisu skriptu: Zadejte obecný popis skriptu v pracovním prostoru skriptu. To vám nebo jiným vývojářům pomůže rychle pochopit, co skript dělá.
- Správa řízení verzíUchovávejte si záznamy o různých verzích skriptů, zejména pokud v nich provedete změny. Zaznamenejte si, kdy a proč byly změny provedeny.
gFM-Business Open Source FileMaker Basis-ERP
Software pro rychlokurz
Stáhnout zdarma
Vytváření složitých pracovních postupů s více skripty
Úvod do složitých pracovních postupů
Ve větších aplikacích FileMaker musí často spolupracovat několik skriptů, aby bylo možné realizovat kompletní pracovní postup. Tyto skripty lze spouštět jeden po druhém nebo je propojit pomocí podmínek a spouštěčů a mapovat tak složité procesy.
Skripty pro vytváření modulů
- Rozdělení na modulyRozdělte složité úlohy na menší, opakovaně použitelné moduly. Každý z těchto modulů by měl plnit určitou úlohu a může být volán dalšími skripty, např. modul skriptu, který ověřuje data, další, který generuje sestavu, a další, který tuto sestavu exportuje.
- Použití parametrů skriptuPředávání parametrů mezi skripty, aby byly flexibilní a opakovaně použitelné. To umožňuje například použít skript v různých kontextech s různými vstupními daty:
# Hlavní skriptSpuštění skriptu
If [Get(ScriptParameter) = "Report"]
Spustit skript ["Generovat hlášení"]
Jinak If [Get(ScriptParameter) = "Validation"]
End If - Skripty volání: Použití
Předveďte scénář-kroky pro volání jiných skriptů v rámci hlavního skriptu. To umožňuje vytvářet složité pracovní postupy sestávající z několika kroků a modulů.
Řešení chyb a správa pracovních postupů
- Monitorování chyb ve složitých pracovních postupechV pracovních postupech s více skripty je důležité koordinovat monitorování chyb mezi skripty. Zajistěte, aby se mezi skripty předávaly chybové kódy a aby hlavní skript odpovídajícím způsobem reagoval.
- Strategie pro zpětné vráceníV kritických pracovních postupech může být nutné zavést strategii zpětného vrácení, při níž se v případě chyby všechny změny zruší. Toho lze dosáhnout resetováním polí nebo smazáním nově vytvořených datových záznamů.
Optimalizace a výkon
- Optimalizace skriptůZajistěte, aby se vaše skripty prováděly co nejefektivněji, vyhněte se zbytečným krokům a minimalizujte počet dotazů do databáze.
- Minimalizace doby načítáníPři práci s velkým množstvím dat nebo složitými výpočty byste měli zajistit, aby doba načítání byla co nejkratší. Používejte indexy, optimalizované dotazy a úsporné rozložení.
Použití částečných skriptů a parametrů skriptů v aplikaci FileMaker
V aplikaci FileMaker můžete Dílčí skripty a Parametry skriptu lze použít k maximalizaci efektivity a opakované použitelnosti skriptů. Dílčí skripty jsou menší specializované skripty, které jsou volány jinými skripty k provádění opakujících se úloh. To umožňuje lepší strukturování kódu a usnadňuje údržbu, protože změny v dílčím skriptu se automaticky projeví ve všech volajících hlavních skriptech. Parametry skriptu umožňují předávat informace mezi různými skripty, což zvyšuje flexibilitu a dynamiku volání skriptů.
Příklad: Použití dílčích skriptů a parametrů skriptů
Předpokládejme, že chceme použít často se opakující prvek, jako je např. Vytvoření nové datové věty a opakovaně používat přenos informací do této sady dat ve více skriptech.
1. hlavní skript: vyvolání částečného skriptu
V hlavním skriptu je zavolán dílčí skript, který vytvoří nový datový záznam. A Parametry skriptu slouží k odeslání dat, která mají být přenesena do dílčího skriptu:
# Hlavní skript: "Vytvořit nového zákazníka"Nastavit proměnnou [1TP4Customer name; hodnota: "Max Mustermann"]
Nastavit proměnnou [$číslo zákazníka; hodnota: "12345"]
# Volání částečného skriptu s přenesenými parametry
Provést Skript ["Customer system"; Parametr: JSONSetElement ("{}" ; ["name"; 1TP4CustomerName; JSONString]; ["number"; 1TP4CustomerNumber; JSONString] )]V tomto příkladu je zavolán dílčí skript "Vytvoření zákazníka". Informace o jménu a čísle zákazníka jsou přeneseny ve formátu JSON jako parametry skriptu. To nabízí výhodu, že v jednom parametru lze přenést několik datových bodů.
2. index: Zpracování parametrů skriptu
Dílčí skript "Vytvoření zákazníka" převezme parametr skriptu, extrahuje informace a na základě přenesených údajů vytvoří nový datový záznam:
# Částečný skript: "Zákaznický systém"
Nastavit proměnnou [$param; Hodnota: Get ( ScriptParameter )]
# Extrakce dat z parametru JSON
Nastavení proměnné [$name; Value: JSONGetElement ($param; "name")]
Nastavení proměnné [$number; Value: JSONGetElement ($param; "nummer")]
# Nový datový záznam na základě přenesených hodnot
Nový datový záznam/dotaz
Nastavit hodnotu pole [Customer::Name; $name]
Nastavení hodnoty pole [Customer::Number; $number]V tomto dílčím skriptu je předaný parametr JSON analyzován pomocí JSONGetElement zpracovány. Proměnné $name a $číslo jsou vybrány a zadány do příslušných polí nového datového záznamu.
Předání více parametrů skriptu
V aplikaci FileMaker lze různými způsoby předat několik parametrů skriptu. Běžným způsobem je předávání parametrů jako Seznam a později jej předat pomocí funkce GetValue() individuálně. Alternativně lze v gFM-Business použít metodu, při které jsou parametry odděleny horními indexy (|) jsou odděleny. Tyto hodnoty se pak vypočítají pomocí "StringColumns" opět rozděleny a zpracovány jednotlivě. Tyto přístupy umožňují flexibilní a strukturovaný přenos několika parametrů, které pak lze dále zpracovávat v příslušných skriptech.
Výhody dílčích skriptů a parametrů skriptů
- ZnovupoužitelnostPodskripty lze volat několika skripty, což umožňuje modulární kód a snadnou údržbu. Změny dílčího skriptu stačí provést pouze jednou a ovlivní všechny volající skripty.
- FlexibilitaParametry skriptů lze použít k předávání dynamických informací dílčím skriptům, což zvyšuje flexibilitu skriptů. Použití parametrů JSON umožňuje předávat složité datové struktury v jediném parametru.
- Přehlednost a strukturaRozdělením skriptů na menší dílčí skripty se kód stává přehlednějším a lépe strukturovaným. To usnadňuje nejen vývoj, ale také ladění.
Tipy, návody a rozhraní pro FileMaker a gFM-Business ERP
Tipy a pokyny
Často kladené otázky o pokročilých funkcích skriptu
- Jak mohu zkontrolovat, zda skripty neobsahují chyby v aplikaci FileMaker, a opravit je?
- V aplikaci FileMaker můžete ovládat zpracování chyb pomocí příkazu "Nastavit protokolování chyb", který zabrání zobrazování standardních chybových zpráv. Pomocí příkazu "Get(LastErrorNo)" pak můžete zkontrolovat stav chyby a definovat příslušné akce na základě kódu chyby. Díky tomu je možné spustit alternativní cesty skriptů nebo zobrazit přizpůsobené chybové zprávy a informovat uživatele.
- Jak funguje ladění skriptů v aplikaci FileMaker?
- Nástroj Script Debugger v aplikaci FileMaker Pro umožňuje procházet skripty krok za krokem. Můžete sledovat průběh skriptu v reálném čase, nastavovat body přerušení a kontrolovat aktuální stav proměnných a polí. Díky tomu můžete rychle lokalizovat a opravit chyby. Ladicí program můžete spustit v nabídce "Nástroje" > "Ladicí program skriptů".
- Nevidím nabídku nástrojů, jak ji mohu aktivovat?
- Pokud na panelu nabídek nenajdete nabídku nástrojů, přejděte do předvoleb FileMakeru (Mac v části "FileMaker Pro", Windows v části "Úpravy") a na první kartě "Obecné" vyberte možnost "Použít pokročilé nástroje". Potvrďte dialog a jednou restartujte FileMaker Pro.
- Jak mohu v aplikaci FileMaker propojit více skriptů?
- V aplikaci FileMaker můžete propojit více skriptů pomocí příkazu "Spustit skript" a zavolat tak jiný skript. To umožňuje rozdělit složité procesy do menších, lépe zvládnutelných skriptů, které pracují společně. Rozdělením skriptů na dílčí skripty můžete opakovaně používat konkrétní úlohy a zlepšit udržovatelnost svých skriptovacích řešení.
- Co jsou to částečné skripty a kdy je mám použít?
- Podskripty jsou menší specializované skripty, které jsou volány jako součást většího skriptu. Jsou užitečné pro zapouzdření opakujících se úloh, jako je vytváření nových datových sad nebo přecházení mezi rozvrženími. Dílčí skripty podporují čistou a modulární strukturu skriptů, což usnadňuje jejich údržbu. Pokud je nějaký proces používán často, měli byste jej vyčlenit do dílčího skriptu a volat jej z jiných skriptů.
- Jak používat parametry skriptu v aplikaci FileMaker?
- Parametry skriptu umožňují předávat data z jednoho skriptu do druhého. Při volání skriptu můžete skriptu předat jeden nebo více parametrů pomocí příkazu "Spustit skript" a zadáním parametrů. V rámci skriptu můžete parametry načíst a použít pomocí příkazu "Get(ScriptParameter)". To je užitečné pro dynamické řízení toho, které akce volaný skript provede.
- Jak mohu předat více parametrů skriptu?
- Chcete-li přenést několik parametrů skriptu, můžete je shrnout do seznamu nebo do formátu JSON. Pomocí funkce "List()" můžete přenést parametry v seznamu odděleném zalomením řádků a načíst je ve skriptu pomocí funkce GetValue("Get (ScriptParameter)"; číslo). Číslo identifikuje x-tý parametr skriptu. Alternativně můžete použít JSON pro předání parametrů ve strukturovaném formátu a poté použít funkce, jako je "JSONGetElement", pro přístup ke konkrétním parametrům.
- Systém gFM-Business používá pro několik parametrů skriptu funkci "StringColumns", která odděluje parametry apostrofem "|". Tento postup má tu výhodu, že předávané parametry mohou obsahovat i řádkové oddělovače.
- Jak spravovat globální proměnné ve skriptech?
- Globální proměnné (začínající $$) uchovávají data, která jsou přístupná během celé relace, a to i po dokončení skriptu. Globální proměnné můžete ve skriptu definovat příkazem "Nastavit proměnnou" a kdykoli načíst nebo změnit jejich hodnotu. Jsou užitečné zejména pro sdílení dat mezi různými skripty nebo rozvrženími. Protože však přetrvávají až do uzavření souboru, je třeba globální proměnné používat opatrně, aby nedocházelo k nežádoucím zásahům.
- Jak fungují místní proměnné ve skriptech FileMakeru?
- Místní proměnné (počínaje $) jsou platné pouze během běhu skriptu. Často se používají k dočasnému uložení dat, která jsou vyžadována pouze v určitém skriptu nebo dílčím kroku. Jakmile skript skončí, lokální proměnná se odstraní. Lokální proměnné se dobře hodí k ukládání výsledků výpočtů nebo mezihodnot, aniž by zůstaly v celé relaci.
- Jak mohu efektivně používat podmínky ve skriptu?
- Pomocí podmínek "If" můžete řídit tok skriptu na základě určitých kritérií. Můžete zkontrolovat, zda je podmínka splněna, a v závislosti na výsledku provést různé akce. Typickým příkladem může být podmínka, která před vytvořením nového datového záznamu kontroluje, zda je pole prázdné. Pro složitější případy můžete také použít vnořené if-podmínky nebo if/else scénáře pro kontrolu více podmínek, pro které lze použít příkaz "Else if".
- Jak mohu ve skriptech používat opakování a smyčky pro zpracování dat?
- Smyčky umožňují opakovat sérii akcí, dokud není splněna určitá podmínka. Typickým příkladem může být procházení všech datových záznamů ve výsledku vyhledávání a aktualizace určitého pole. Smyčku zahájíte příkazem "Loop" a ukončíte ji příkazem "Exit loop when", když je splněna požadovaná podmínka, např. když bylo dosaženo posledního datového záznamu.
- Jak mohu vytvořit modulární a opakovaně použitelné skripty a dílčí skripty?
- Aby byly skripty modulární a opakovaně použitelné, měli byste obecné procesy zadávat dílčím skriptům a pomocí parametrů skriptů dynamicky řídit proces. Tím se sníží nadbytečnost a skripty lze opakovaně používat v různých kontextech. Můžete také efektivně používat globální a lokální proměnné k přenosu dat v rámci skriptu nebo mezi skripty, aniž byste museli pokaždé vytvářet nové skripty. V případě potřeby můžete také přenést několik parametrů skriptu z jednoho skriptu do jiného skriptu, které můžete přečíst pomocí funkce "Get(ScriptResult)".
