Script op server met Callback uitvoeren
Voert een script uit op de server waarop het huidige bestand wordt gehost zonder de client te onderbreken en voert het opgegeven callback-script uit op de client wanneer het serverscript gereed is.
Zie ook
Opties
-
Script is het script dat op de server moet worden uitgevoerd.
-
Callback-script is het script dat op de client moet worden uitgevoerd nadat het serverscript is voltooid op de server.
Compatibiliteit
Product | Ondersteund |
---|---|
FileMaker Pro |
Ja |
FileMaker Go |
Ja |
FileMaker WebDirect |
Ja |
FileMaker Server |
Nee |
FileMaker Cloud |
Nee |
FileMaker Data API |
Nee |
Custom Web Publishing |
Nee |
Afkomstig uit versie
20.1
Beschrijving
Het huidige bestand moet worden gehost door FileMaker Server of FileMaker Cloud. Anders geeft deze scriptstap een fout als resultaat. Raadpleeg Scripts uitvoeren via FileMaker Server en FileMaker Cloud.
Het callback-script is gepland om op de client te worden uitgevoerd nadat een huidig script is voltooid, net als scripts die worden geactiveerd door de scriptstap Interval timerscript installeren en de scriptactivering BijVensterTransactie. De context waarin het script wordt uitgevoerd is onbekend en er kan niet op worden vertrouwd dat deze dezelfde is als toen deze scriptstap werd uitgevoerd. Gebruik indien nodig de parameter van het callback-script om voldoende context terug te geven zodat deze zoals verwacht op de client kan worden uitgevoerd, zoals de te gebruiken lay-out en gevonden reeks.
Opmerking Als u een berekening opgeeft als parameter in het callback-script, wordt de berekening geëvalueerd wanneer het callback-script op de client wordt uitgevoerd.
In het onderstaande voorbeeld wordt niets geretourneerd omdat $data niet bestaat wanneer het callback-script op de client wordt uitgevoerd.
-
Aanroeper
-
Variabele instellen [ $data ; Waarde: 1 ]
-
Script op Server met Callback uitvoeren [ Script: "Test" ; Callback-script: "Callback" ; Parameter: $data ]
-
-
Test
-
Variabele instellen [ $data ; Waarde: 2 ]
-
-
Callback
-
Variabele instellen [ $parameter ; Waarde: Get (ScriptParameter) ]
-
Aangepast dialoogvenster tonen [ $parameter ]
-
Voorbeeld 1
Voert een script uit op de server en stuurt de huidige lay-outnaam, het klantnummer en het e-mailadres van de klant als de scriptparameter. De server navigeert naar de lay-out en de record die zijn opgegeven in de parameter, slaat een link naar een snapshot van de huidige record op, e-mailt de link naar de snapshot naar het in de parameter opgegeven e-mailadres en levert een resultaat. De client haalt het scriptresultaat van de server op en geeft het in een aangepast dialoogvenster weer.
Hoofdscript: Link naar snapshot e-mailen (Client)
Script op Server met Callback uitvoeren [ Script: "Link naar snapshot e-mailen (Server)" ; Parameter: Lijst (Get (LayoutNaam) ; Klanten::ID ; Klanten::E-mail ) ; Callback-script: "Volledig bericht (Client)" ]
Subscript: Link naar snapshot e-mailen (Server)
Ga naar lay-out [GetValue (Get (ScriptParameter) ; 1 ) ; Animatie: Geen ]
Ga naar Zoeken [ Onderbreken: Uit ]
Veld instellen [ Klanten::ID ; GetValue (Get (ScriptParameter) ; 2) ]
Zoekopdracht uitvoeren [ ]
Variabele instellen [ $PATH ; Waarde: Get ( TemporaryPath ) & "Snapshot.fmpsl" ]
Records opslaan als link naar snapshot [ "$PATH" ; Huidige record ; Mappen maken: Uit ]
Mail verzenden [Verzenden via SMTP-server ; Geen dialoogvenster ; Aan: GetValue (Get (ScriptParameter) ; 3 ) ; "$PATH" ]
Script afsluiten [ Tekstresultaat: "Link naar snapshot verzonden." ]
Callback-script: Volledig bericht (Client)
Aangepast dialoogvenster tonen [ Get (ScriptResult ) ]
Verwante onderwerpen
Opmerkingen
-
Het callback-script wordt niet aangeroepen in de volgende scenario's:
-
De server of client stopt onverwacht.
-
De gebruiker verlaat de client of sluit het bestand voordat het script op de server is voltooid.
-
De netwerkverbinding wordt verbroken terwijl de scriptstap wordt uitgevoerd. Als u echter binnen 10 minuten nadat het serverscript is voltooid, opnieuw verbinding maakt, wordt het callback-script uitgevoerd.
-
-
Meerdere exemplaren van deze scriptstap kunnen achter elkaar worden uitgevoerd. De callback-scripts worden uitgevoerd in de volgorde waarin deze scriptstappen zijn voltooid.
-
Als er geen callback-script is opgegeven, wordt deze scriptstap op dezelfde manier uitgevoerd als de scriptstap Script uitvoeren op server.