Exécuter script sur serveur avec rappel

Exécute un script sur le serveur qui héberge le fichier actuel sans mettre en pause le client, ainsi que le script de rappel spécifié sur le client lorsque le script du serveur est terminé.

Options 

  • Le Script est le script à exécuter sur le serveur.

  • Le Script de rappel est le script à exécuter sur le client après l'exécution du script du serveur sur le serveur.

Compatibilité 

Produit Prise en charge

FileMaker Pro

Oui

FileMaker Go

Oui

FileMaker WebDirect

Oui

FileMaker Server

Non

FileMaker Cloud

Non

FileMaker Data API

Non

Publication Web personnalisée

Non

Provient de la version 

20.1

Description 

Le fichier actif doit être hébergé par FileMaker Server ou FileMaker Cloud. Sinon, cette action de script renvoie une erreur. Consultez la section À propos de l'exécution des scripts dans FileMaker Server et FileMaker Cloud.

Le script de rappel est programmé pour être exécuté sur le client après l'exécution de tout script actif, notamment les scripts déclenchés par l'action de script Installer un script sur temporisation et le déclencheur de script SurTransactionFenetre. Le contexte dans lequel est exécuté le script est inconnu et n'est pas susceptible d'être identique à celui dans lequel ce script a été exécuté. Si nécessaire, utilisez le paramètre du script de rappel pour renvoyer un contexte suffisant (modèle, jeu d'enregistrements trouvés, etc.) pour qu'il soit exécuté comme prévu sur le client.

Remarque  Si vous spécifiez un calcul comme paramètre dans le script de rappel, le calcul sera évalué lors de l'exécution du script de rappel sur le client.

Dans l'exemple ci-dessous, rien n'est renvoyé car $data n'existe pas lors de l'exécution du script de rappel sur le client.

  • Appelant

    • Définir variable [ $data ; Valeur : 1 ]

    • Exécuter script sur serveur avec rappel [ Script : "Test" ; script de rappel : "Rappel"; paramètre : $data ]

  • Test

    • Définir variable [ $data ; Valeur : 2 ]

  • Rappel

    • Définir variable [ $param ; Valeur : Obtenir ( ParamètreScript ) ]

    • Ouvrir boîte dial. person. [ $param ]

Exemple 1 

Exécute un script sur le serveur et envoie le nom du modèle actif, l'identifiant du client et l'adresse e-mail du client comme paramètre de script. Le serveur navigue jusqu'au modèle et à l'enregistrement spécifiés dans le paramètre, enregistre un lien snapshot de l'enregistrement actif, envoie le lien snapshot par à l'adresse e-mail spécifiée dans le paramètre et renvoie un résultat. Le client récupère le résultat de script depuis le serveur et l'affiche dans une boîte de dialogue personnalisée.

Script principal : Envoyer un lien snapshot par email (client)

Copier
Exécuter script sur serveur avec rappel [ Script : "Envoyer un lien snapshot par e-mail (serveur)" ; Paramètre : Liste ( Obtenir ( NomModèle ) ; Clients::N° ; Clients::e-mail ) ; Script de rappel : "Compléter message (Client)" ]

Sous-script : Envoyer un lien snapshot par email (serveur)

Copier
Activer modèle [ ObtenirValeur ( Obtenir ( ParamètreScript ) ; 1 ) ; Animation : Aucune ]
Mode Recherche [ Pause : Non ]
Définir rubrique [ Clients::N° ; ObtenirValeur ( Obtenir ( ParamètreScript ) ; 2 ) ]
Exécuter la recherche [ ]
Définir variable [ $PATH ; Valeur : Obtenir ( CheminTemporaire ) & "Snapshot.fmpsl" ]
Enregistrer en lien snapshot [ "$PATH" ; Enregistrement actif ; Créer dossiers : Non ]
Envoyer courrier [ Envoyer via serveur SMTP ; Sans boîte de dialogue ; À : ObtenirValeur ( Obtenir ( ParamètreScript ) ; 3 ) ; "$PATH" ]
Fin de script [ Résultat de texte : "Lien snapshot envoyé." ]

Script de rappel : "Compléter message" (Client)

Copier
Ouvrir boîte dial. person. [ Obtenir ( RésultatScript ) ]

Remarques 

  • Le script de rappel ne sera pas appelé dans les cas suivants :

    • Le serveur ou le client se ferme de façon inattendue.

    • L'utilisateur ferme le client ou le fichier avant la fin de l'exécution du script sur le serveur.

    • La connexion réseau et perdue lors de l'exécution de l'action de script. Cependant, une reconnexion dans les 10 minutes après l'exécution du script du serveur entraîne l'exécution du script de rappel.

  • Plusieurs instances de cette action de script peuvent être exécutées simultanément. Les scripts de rappel sont exécutés dans l'ordre d'exécution de ces actions de script.

  • Si un script de rappel n'est pas spécifié, cette action de script est exécutée de la même manière que l'action de script Exécuter script sur serveur.