Script auf Server ausführen
Führt auf dem Server, der die aktuelle Datei bereitstellt, ein Script aus, das in einer Liste aufgeführt ist oder dessen Name berechnet wurde.
Optionen
- Angegeben:
- Aus Liste gestattet Ihnen, das auszuführende Script auszuwählen.
- Nach Name gestattet Ihnen, den Scriptnamen über eine Formel anzugeben. Beim Scriptnamen wird nicht zwischen Groß- und Kleinschreibung unterschieden.
- Parameter gibt einen Scriptparameter für das angegebene Script an.
- Auf Beendigung warten pausiert das Script auf dem Client, bis das Teilscript, das von „Script auf Server ausführen“ aufgerufen wurde, auf dem Host abgeschlossen ist. Auf Beendigung warten muss aktiviert sein, um ein Scriptergebnis oder einen Fehlercode vom Host an den Client zu übergeben. Verwenden Sie die Funktion „Hole ( ScriptErgebnis )“, um ein Ergebnis zu erfassen, oder die Funktion „Hole ( LetzteFehlerNr )“, um einen Fehlercode zu erfassen.
Kompatibilität
Produkt | Unterstützt |
FileMaker Pro | Ja |
FileMaker Go | Ja |
FileMaker WebDirect | Ja |
FileMaker Server | Ja |
FileMaker Cloud | Nein |
FileMaker Data API | Ja |
Custom Web Publishing | Ja |
Ursprung in Version
13.0
Beschreibung
Die aktuelle Datei muss auf FileMaker Server oder FileMaker Cloud bereitgestellt werden. Anderenfalls gibt „Script auf Server ausführen“ einen Fehler zurück. Weitere Informationen finden Sie unter Ausführen von Scripts auf FileMaker Server und FileMaker Cloud.
Hinweise
-
Wenn Sie Nach Name verwenden, um ein Script in einer anderen FileMaker Pro-Datei anzugeben, muss die Formel auf <Datenquellenname>::<Scriptname> wie „„Rechnungen::Quartalsabrechnung ausführen“ auswerten. Sowohl Datenquelle als auch Scriptnamen unterscheiden Groß-/Kleinschreibung.
-
Da dieser Scriptschritt selbst von einem serverseitigen Script ausgeführt werden kann, sollten Sie darauf achten, Szenarien zu vermeiden, die zu Deadlocks oder Endlosschleifen führen könnten – z. B. wenn Script A Script B aufruft, das wiederum Script A aufruft, was sich negativ auf die Serverleistung auswirken würde.
Beispiel 1
Führt ein Script auf dem Server aus und sendet den aktuellen Layoutnamen, die aktuelle KundenID und die E-Mail-Adresse des Kunden als Scriptparameter. Der Server navigiert zum im Parameter angegebenen Layout und Datensatz, speichert einen Snapshot-Link des aktuellen Datensatzes, sendet den Snapshot-Link an die im Parameter angegebene E-Mail-Adresse und gibt ein Ergebnis zurück. Der Client holt das Scriptergebnis vom Server und zeigt es in einem eigenen Dialogfeld an.
Hauptscript: Snapshot-Link per E-Mail senden (Client)
Script auf Server ausführen [Angegeben: Aus Liste; "Snapshot-Link per E-Mail senden (Server)"; Parameter: Liste ( Hole ( LayoutName ); Kunden::ID; Kunden::E-Mail ); Auf Beendigung warten: Ein]
Eigenes Dialogfeld anzeigen [Hole ( ScriptErgebnis )]
Teilscript: Snapshot-Link per E-Mail senden (Server)
Gehe zu Layout [HoleWert ( Hole ( ScriptParameter ); 1 )]
Suchenmodus aktivieren [Pause: Aus]
Feldwert setzen [Kunden::ID; HoleWert ( Hole ( ScriptParameter ); 2 )]
Ergebnismenge suchen [ ]
Variable setzen [$PFAD; Wert:Hole ( TemporärerPfad ) & "Snapshot.fmpsl"]
Datensätze als Snapshot-Link speichern ["$PFAD"; Aktueller Datensatz; Ordner erstellen: Aus]
E-Mail senden [Über SMTP-Server senden; Mit Dialog: Aus; An: HoleWert ( Hole ( ScriptParameter ); 3; 1 ); "$PFAD"]
Aktuelles Script verlassen [ Textergebnis: "Snapshot-Link gesendet."]