Warenkorb
0
Wagen 0
Telefonische Beratung +49 (0) 441-30 43 76 40
Nachdem Sie die Grundlagen des Scripting in FileMaker beherrschen, ist es an der Zeit, sich mit erweiterten Techniken zu beschäftigen, die Ihnen helfen, komplexere und robustere Anwendungen zu entwickeln. In diesem Tutorial werden wir uns auf die Fehlerbehandlung in Scripts, das Debugging und die Dokumentation von Scripts sowie die Erstellung komplexer Workflows mit mehreren Scripts konzentrieren. Diese Techniken werden Ihre Fähigkeit verbessern, leistungsfähige und zuverlässige FileMaker-Anwendungen zu erstellen.
Inhaltsverzeichnis
Fehlerbehandlung ist ein wesentlicher Bestandteil jedes gut entwickelten Scripts. In FileMaker bedeutet dies, dass Sie Ihr Script so gestalten, dass es auf unerwartete Situationen reagieren kann, wie z. B. wenn eine Datei nicht gefunden wird, eine Berechnung fehlschlägt oder ein Benutzer eine ungültige Eingabe macht. Eine effektive Fehlerbehandlung sorgt dafür, dass Ihr Script nicht einfach „abstürzt“, sondern stattdessen den Fehler erkennt, angemessen darauf reagiert und den Benutzer informiert.
Fehleraufzeichnung setzen
: Mit dem Script-Schritt Fehleraufzeichnung setzen [Ein]
können Sie verhindern, dass FileMaker bei einem Fehler automatisch eine Fehlermeldung anzeigt. Stattdessen können Sie die Fehlerbehandlung selbst übernehmen.Hole(LetzteFehlerNr)
: Nach jedem kritischen Schritt im Script sollten Sie den Fehlerstatus überprüfen. Hole(LetzteFehlerNr)
gibt einen Fehlercode zurück, den Sie in einer Wenn
-Bedingung verwenden können, um auf den Fehler zu reagieren. Beispiel:Fehleraufzeichnung setzen [Ein]
Datei öffnen ["Datenbank.fmp12"]
Wenn [Hole(LetzteFehlerNr) ≠ 0]
Eigenes Dialogfeld anzeigen ["Fehler"; "Die Datei konnte nicht geöffnet werden."]
Aktuelles Script verlassen
Ende Wenn
Variable setzen [$Versuch; Wert: 1]
Schleife
Datei öffnen ["Datenbank.fmp12"]
Wenn [Hole(LetzteFehlerNr) = 0]
Verlasse Schleife wenn [Hole(LetzteFehlerNr) = 0]
Sonst Wenn [$Versuch ≥ 3]
Eigenes Dialogfeld anzeigen ["Fehler"; "Die Datei konnte nach 3 Versuchen nicht geöffnet werden."]
Aktuelles Script verlassen
Ende Wenn
Verlasse Schleife wenn [$Versuch > 3]
Variable setzen [$Versuch; Wert: $Versuch + 1]
Ende Schleife
Fehlerprotokollierung: In komplexen Anwendungen kann es hilfreich sein, ein Fehlerprotokoll zu führen, in dem Details zu aufgetretenen Fehlern gespeichert werden. Dies kann in einer separaten Fehlerprotokoll-Tabelle in Ihrer FileMaker-Datenbank erfolgen.
Beispiel:
Gehe zu Layout [Name: "Fehlerprotokoll"]
Neuer Datensatz/Abfrage
Feldwert setzen [Fehlerprotokoll::Datum; Hole( SystemZeitstempel )]
Feldwert setzen [Fehlerprotokoll::Fehlercode; Hole(LetzteFehlerNr)]
Feldwert setzen [Fehlerprotokoll::Benutzer; Hole( KontoName )]
Datensatz/Abfrage speichern [Mit Dialog: Aus]
Ende Wenn
Debugging und Script-Dokumentation
Das Debugging von Scripts ist ein entscheidender Schritt, um sicherzustellen, dass Ihre Scripts korrekt funktionieren und erwartungsgemäß ausgeführt werden. Der Script-Workspace in FileMaker bietet leistungsstarke Werkzeuge für das Debugging, wie den Script-Debugger und die Data Viewer-Funktion.
Der Data Viewer zeigt Ihnen in Echtzeit den Wert von Feldern, Variablen und Berechnungen an, während Ihr Script ausgeführt wird. Dies ist besonders nützlich, um die Auswirkungen einzelner Script-Schritte auf Ihre Daten zu beobachten.
Eine klare und gut strukturierte Dokumentation Ihrer Scripts ist wichtig, um die Wartbarkeit und Verständlichkeit Ihrer FileMaker-Lösung zu gewährleisten. Eine gute Dokumentation enthält nicht nur Kommentare im Script selbst, sondern auch eine Beschreibung des Scripts, seines Zwecks und der genutzten Parameter.
Kommentar
-Funktion im Script-Workspace, um jeden Abschnitt Ihres Scripts zu dokumentieren. Erklären Sie, was jeder Abschnitt tut und warum es notwendig ist.Beispiel:
# Dieses Script überprüft, ob die Datei geöffnet werden kann und gibt eine Fehlermeldung aus, falls nicht.
In größeren FileMaker-Anwendungen müssen oft mehrere Scripts zusammenarbeiten, um einen vollständigen Workflow zu implementieren. Diese Scripts können nacheinander ausgeführt oder über Bedingungen und Trigger miteinander verbunden werden, um komplexe Abläufe abzubilden.
# Haupt-Script
Wenn [Hole(ScriptParameter) = "Bericht"]
Script ausführen ["Bericht generieren"]
Sonst Wenn [Hole(ScriptParameter) = "Validierung"]
Script ausführenEnde Wenn
Perform Script
-Schritte, um andere Scripts innerhalb eines Haupt-Scripts aufzurufen. Dies ermöglicht es, komplexe Workflows zu erstellen, die sich aus mehreren Schritten und Modulen zusammensetzen.In FileMaker können Teilscripte und Script-Parameter verwendet werden, um die Effizienz und Wiederverwendbarkeit von Skripten zu maximieren. Teilscripte sind kleinere, spezialisierte Skripte, die von anderen Skripten aufgerufen werden, um wiederkehrende Aufgaben zu erledigen. Dies ermöglicht eine bessere Strukturierung des Codes und erleichtert die Wartung, da Änderungen an einem Teilskript automatisch in allen aufrufenden Hauptskripten wirksam werden. Script-Parameter ermöglichen es, Informationen zwischen verschiedenen Skripten zu übergeben, was die Flexibilität und Dynamik der Skriptaufrufe erhöht.
Angenommen, wir möchten ein häufig wiederkehrendes Element wie das Erstellen eines neuen Datensatzes und die Übergabe von Informationen an diesen Datensatz über mehrere Skripte hinweg wiederverwenden.
1. Hauptskript: Aufruf eines Teilskripts
Im Hauptskript wird ein Teilskript aufgerufen, das den neuen Datensatz erstellt. Ein Script-Parameter wird verwendet, um die zu übergebenden Daten an das Teilskript zu senden:
# Hauptskript: „Neuer Kunde anlegen“
Variable setzen [$kundenname; Wert: "Max Mustermann"]
Variable setzen [$kundennummer; Wert: "12345"]
# Aufruf des Teilskripts mit übergebenen Parametern
Perform Script ["Kundenanlage"; Parameter: JSONSetElement ( "{}" ; ["name"; $kundenname; JSONString]; ["nummer"; $kundennummer; JSONString] )]
In diesem Beispiel wird das Teilskript „Kundenanlage“ aufgerufen. Die Informationen zum Kundennamen und zur Kundennummer werden im JSON-Format als Script-Parameter übergeben. Dies bietet den Vorteil, dass mehrere Datenpunkte in einem einzigen Parameter übergeben werden können.
2. Teilskript: Verarbeiten von Script-Parametern
Das Teilskript „Kundenanlage“ übernimmt den Script-Parameter, extrahiert die Informationen und erstellt einen neuen Datensatz basierend auf den übergebenen Daten:
# Teilskript: „Kundenanlage“
Variable setzen [$param; Value: Hole ( ScriptParameter )]
# Extrahieren der Daten aus dem JSON-Parameter
Variable setzen [$name; Value: JSONGetElement ($param; "name")]
Variable setzen [$nummer; Value: JSONGetElement ($param; "nummer")]
# Neuer Datensatz basierend auf den übergebenen Werten
Neuer Datensatz/Abfrage
Feldwert setzen [Kunden::Name; $name]
Feldwert setzen [Kunden::Nummer; $nummer]
In diesem Teilskript wird der übergebene JSON-Parameter mithilfe von JSONGetElement
verarbeitet. Die Variablen $name
und $nummer
werden extrahiert und in die entsprechenden Felder des neuen Datensatzes eingetragen.
Mehrere Script-Parameter können in FileMaker auf verschiedene Weise übergeben werden. Eine gängige Methode besteht darin, die Parameter als Liste zu übergeben und später mit der Funktion HoleWert()
einzeln auszulesen. Alternativ kann in gFM-Business eine Methode verwendet werden, bei der die Parameter durch Hochstriche (|
) getrennt werden. Anschließend werden diese Werte mit der Funktion „StringSpalten“ wieder aufgesplittet und einzeln verarbeitet. Diese Ansätze ermöglichen die flexible und strukturierte Übergabe mehrerer Parameter, die dann in den entsprechenden Skripten weiterverarbeitet werden können.
Hinzufügen von {{itemName}} zum Warenkorb
Hinzugefügt {{EinkaufsName}} zum Warenkorb