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
-
Opgegeven:
-
Met Uit lijst kunt u het script selecteren dat u wilt uitvoeren.
-
Met Op naam kunt u de scriptnaam opgeven met een berekening. De scriptnaam is niet hoofdlettergevoelig.
-
-
Met Parameter geeft u een scriptparameter voor het opgegeven script op.
-
Callback-script is het script dat op de client moet worden uitgevoerd nadat het serverscript is voltooid op de server. Kies:
-
Met Uit lijst kunt u het script selecteren dat u wilt uitvoeren.
-
Met Op naam kunt u de scriptnaam opgeven met een berekening. De scriptnaam is niet hoofdlettergevoelig.
-
-
Met Parameter geeft u een scriptparameter voor het opgegeven callbackscript op.
-
Status geeft aan hoe een script dat momenteel wordt uitgevoerd, moet worden verwerkt als het callbackscript wordt uitgevoerd. De opties zijn Doorgaan, Stoppen, Afsluiten, Hervatten en Onderbreken. Raadpleeg Opties voor afhandelen van het huidige script bij starten van nieuwe scripts.
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 [ Opgegeven: In lijst ; "Test" ; Parameter: ; Opgegeven callbackscript: In lijst ; "Callback" ; Parameter: $data ; Status: Doorgaan ]
-
Test
Variabele instellen [ $data ; Waarde: 2 ]
-
Callback
Variabele instellen [ $param ; Waarde: Get ( ScriptParameter ) ]
Aangepast dialoogvenster tonen [ $parameter ]
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.
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 [ Opgegeven: In lijst ; "Link naar snapshot e-mailen (Server)" ;
Parameter: Lijst ( Get ( Lay-outNaam ) ; Klanten::ID ; Klanten::E-mail ) ;
Opgegeven callbackscript: In lijst ; "Volledig bericht (Client)" ; Parameter: ; Status: Doorgaan ]
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 [ "$PAD" ; Huidige record ; Mappen maken: Uit ]
Mail verzenden [ Verzenden via SMTP-server ; Geen dialoog ; Aan: GetValue ( Get ( ScriptParameter ) ; 3 ) ; "$PAD" ]
Script afsluiten [ Tekstresultaat: "Link naar snapshot verzonden." ]
Callbackscript: Volledig bericht (Client)
Aangepast dialoogvenster tonen [ Get ( ScriptResultaat ) ]