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.

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)

Kopiëren
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)

Kopiëren
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)

Kopiëren
Aangepast dialoogvenster tonen [ Get (ScriptResult ) ]

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.