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 

  • Spécifié :

    • Depuis liste vous permet de sélectionner le script que vous souhaitez exécuter.

    • Par nom vous permet d'indiquer le nom du script par un calcul. Le nom du script n'est pas sensible à la casse.

  • Paramètre spécifie un paramètre de script pour le script spécifié.

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

    • Depuis liste vous permet de sélectionner le script que vous souhaitez exécuter.

    • Par nom vous permet d'indiquer le nom du script par un calcul. Le nom du script n'est pas sensible à la casse.

  • Paramètre spécifie un paramètre de script pour le script de rappel spécifié.

  • État spécifie comment gérer un script en cours d'exécution lorsque le script de rappel est exécuté. Les options sont Continuer, Interrompre, Quitter, Reprendre et Suspendre. Consultez la section Options de gestion du script actif lors du démarrage de nouveaux scripts.

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 [ Spécifié: Depuis liste ; "Test" ; Paramètre ; Script de rappel spécifié: Depuis liste ; "Rappel" ; Paramètre: $data ; État: Continuer ]

  • Test

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

  • Rappel

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

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

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.

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 à 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 [ Spécifié: Depuis liste ; "Envoyer un lien snapshot par e-mail (serveur)" ; 
Paramètre: Liste ( Obtenir ( NomModèle ) ; Clients::N° ; Clients::e-mail ) ; 
Script de rappel spécifié: Depuis liste ; "Compléter message (Client)" ; Paramètre: ; État: Continuer ]

Sous-script : Envoyer un lien snapshot par e-mail (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 des dossiers: Non ]
Envoyer courrier [ Envoyer via serveur SMTP ; Sans fenêtre ; Destinataire : 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 ) ]