Automatisation de tâches grâce aux scripts
Les scripts permettent d'effectuer des tâches simples, telles que la configuration de l'orientation de l'impression, ou plus complexes, comme la préparation d'un publipostage personnalisé pour chaque client.
Par exemple, vous pouvez définir un ensemble complexe de tâches destiné à créer un e-mail de remerciement pour les clients de votre base de données ayant procédé à des commandes au cours de la semaine précédente. Le script compose un e-mail adapté à chaque client. Il active ensuite le mode Prévisualisation et marque une pause afin que vous puissiez voir à quoi ressemblera l'e-mail avant qu'il ne soit envoyé. Vous initialisez la totalité de la tâche en cliquant sur un bouton du modèle Saisie des ventes.
Pour générer un script, effectuez une sélection dans la liste des commandes FileMaker Pro, appelées actions de script, puis définissez des options (si nécessaire) et déterminez l'ordre dans lequel ces actions doivent être effectuées.
Les scripts s'exécutent normalement sur le client, mais rien ne vous empêche d'exécuter certains d'entre eux dans FileMaker Server ou FileMaker Cloud pour améliorer les performances ou respecter un programme. Consultez la section À propos de l'exécution des scripts dans FileMaker Server et FileMaker Cloud.
Elaboration d'un script
Plus vous prendrez de temps pour bien préparer la création de votre script, plus vous aurez de chance d'obtenir le résultat escompté. Au cours de l'élaboration, posez-vous les questions suivantes :
- Pouvez-vous diviser ce travail en plusieurs tâches ? Le cas échéant, vous devez définir des sous-scripts pour chacune de ces tâches, puis définir un script qui exécute ces sous-scripts. Il est généralement plus aisé d'écrire et de tester plusieurs petits sous-scripts qu'un seul script plus complexe. Ces sous-scripts peuvent être réutilisés ailleurs (utilisez l'action de script Exécuter script action de script pour exécuter un sous-script à l'intérieur d'un script).
- Quelles actions de script doivent être exécutées et dans quelles conditions ? Toutes les actions de script doivent-elles être toujours exécutées ? Certaines doivent-elles être exécutées un certain nombre de fois jusqu'à ce qu'une certaine condition soit remplie ? Le script doit-il invoquer d'autres scripts et sous-scripts ? Vous pouvez contrôler la progression d'un script de diverses manières. Pour plus d'informations concernant la création de scripts avec des étapes conditionnelles, consultez la section Actions de script Contrôle.
- Souhaitez-vous que le script s'exécute dans un modèle en particulier ? Etant donné que les scripts sont définis au niveau du fichier et qu'ils peuvent être invoqués depuis un modèle, vous devez vérifier que le script fonctionne dans le ou les modèles souhaités. Utilisez l'Activer modèle action de script pour modifier les modèles.
- Le script doit-il s'appliquer à tous les enregistrements de la base de données, au jeu d'enregistrements trouvés ou uniquement à certains enregistrements ? (Utilisez les actions de script des Actions de script Enr. trouvés pour inclure uniquement les enregistrements du jeu d'enregistrements trouvés sur lesquels vous souhaitez travailler.)
- Toutes les données dont vous avez besoin figurent-elles dans un seul fichier de base de données ou le script devra-t-il faire appel à plusieurs fichiers ? Si vous utilisez plusieurs fichiers, lesquels doivent être ouverts par le script ? Dans quel fichier le ou les scripts doivent-ils être définis ? Dans la plupart des cas, un script doit être défini dans le fichier où se trouvent les données à traiter. Vous devrez peut-être créer des scripts séparés pour chaque fichier dans les apps personnalisées avec plusieurs fichiers, selon la complexité de la tâche.
- Avec quel enregistrement le script doit-il démarrer ? Par exemple, lorsque vous utilisez l'Boucle action de script, vous devez décider si la boucle démarre au premier enregistrement, au dernier enregistrement, à un enregistrement précis ou à l'enregistrement actif du jeu d'enregistrements trouvés. (Utilisez l'Afficher enreg/requête/page action de script, l'Activer enregistrements liés action de script ou l'Activer rangée externe action de script pour indiquer un enregistrement de départ. Si vous n'incluez pas une action de script Navigation pour déterminer l'enregistrement actif, le point de départ de la boucle est l'enregistrement actif au moment de l'exécution du script.)
- Quelle fenêtre souhaitez-vous utiliser ? Un script est initialement associé à une fenêtre spécifique, qui peut se trouver à l'arrière-plan. Le script demeure sur cette fenêtre, tant que l'action de script active une autre fenêtre. Par exemple, utilisez l'Sélectionner fenêtre action de script pour indiquer une autre fenêtre. Si la fenêtre indiquée n'est pas disponible, le script active la fenêtre du fichier se situant au premier plan. Lorsque vous mettez un script en pause, la fenêtre associée passe au premier plan si elle est disponible. Consultez la section Actions de script Fenêtres.
- Le script doit-il passer d'un mode à un autre ? Un script peut être lancé en mode Utilisation, Recherche, Modèle ou Prévisualisation. Assurez-vous que le mode activé au moment de l'exécution d'une action est correct. Par exemple, utilisez l'Mode Utilisation action de script pour modifier des données dans des rubriques et des enregistrements et utilisez l'Mode Recherche action de script pour définir ou exécuter une requête.
Remarque Les scripts exécutés en mode Modèle basculent vers le mode Utilisation avant l'exécution.
- De quelles rubriques et de quels modèles le script a-t-il besoin ? Certaines actions (comme l'Activer rubrique action de script et l'Insérer texte action de script) ont besoin de la présence d'une rubrique sur le modèle actif, ce qui n'est pas le cas pour d'autres (par exemple, l'Définir rubrique action de script). Utilisez l'Activer modèle action de script pour passer à un modèle contenant les rubriques requises par votre script ou insérez les rubriques dans la zone grise située à droite du modèle afin qu'elles soient disponibles pour les actions de script, mais pas pour les utilisateurs.
- Les enregistrements doivent-ils être traités dans un ordre précis ? Choisissez entre l'ordre de tri actif, un ordre de tri précis ou aucun tri (ordre de création des enregistrements). Utilisez l'Trier enregistrements action de script ou l'Annuler tri des enreg. action de script afin de saisir une boucle pour trier correctement vos enregistrements avant de les traiter.
- Dans quel ordre le script doit-il traiter les différents enregistrements ou rubriques ? (Utilisez l'Afficher enreg/requête/page action de script, l'Boucle action de script, l'Fin de boucle si action de script et l'Fin de boucle action de script pour contrôler le traitement de plusieurs rubriques ou enregistrements.)
- Quand le script doit-il s'achever ? Après que toutes les actions de script ont été exécutées ? Une fois qu'une certaine condition est remplie ? (Utilisez l'Si action de script, l'Sinon si action de script et l'Sinon action de script pour exécuter une tâche telle que l'Fin de script action de script lorsque le script rencontre une condition précise.)
- Les utilisateurs doivent-ils avoir la possibilité d'arrêter le script pendant son exécution ? Le script contient-il un processus qui pourrait produire des données incomplètes ou inexactes si le script se terminait trop tôt ? Utilisez l'Autor. annulation utilisateur action de script pour contrôler si les utilisateurs peuvent arrêter un script.
- Comment allez-vous tester votre script ? Utilisez l'Suspendre/reprendre script action de script pour faire une pause à des endroits prédéfinis de votre script. Afin de préserver les données originales, enregistrez un clone de votre base de données dans lequel vous définissez et testez votre script.
Remarque Vous pouvez utiliser Script Debugger pour tester et dépanner vos scripts. Consultez la section Débogage de scripts.
- Comment les situations d'erreur sont-elles gérées (aucun enregistrement trouvé, par exemple) ? Vous pouvez capturer la dernière condition d'erreur rapportée par FileMaker Pro en utilisant la Obtenir ( DernièreErreur ) fonction. Utilisez cette fonction ainsi que l'Si action de script, l'Sinon si action de script et l'Sinon action de script pour créer des scripts réagissant aux erreurs de l'utilisateur ou aux résultats inattendus. Pour un contrôle plus avancé, utilisez l'Gestion erreurs action de script pour supprimer les alertes d'erreur habituellement affichées dans ces situations et les remplacer par des alertes personnalisées à l'aide de l'Ouvrir boîte dial. person. action de script.
- Tous les utilisateurs doivent-ils avoir l'autorisation d'exécuter tous les scripts ? Utilisez les jeux de privilèges pour contrôler l'accès des utilisateurs aux scripts. Avec les jeux de privilèges, vous pouvez autoriser les utilisateurs à exécuter ou modifier des scripts individuels, aucun script ou tous les scripts. Vous pouvez également définir les privilèges par défaut de chaque jeu concernant les futurs scripts définis dans le fichier. Si un script est défini pour s'exécuter avec un accès intégral, il peut effectuer des étapes pour l'utilisateur alors que ces étapes ne sont normalement pas autorisées par les privilèges attribués. Consultez la section Création et modification de jeux de privilèges.
- Comment les utilisateurs exécutent-ils le script ? Vous devez créer un bouton pour exécuter le script ou indiquer que le script est ajouté au menu Scripts. Il est également possible d'exécuter les scripts à partir de l'Espace de travail de script ou lorsqu'un déclencheur de script est activé. Par exemple, vous pouvez utiliser le déclencheur de script SurOuverturePremiereFenetre déclencheur de script pour exécuter un script à l'ouverture de la base de données.
Une fois que vous avez étudié toutes ces questions, vous pouvez gérer des scripts dans votre base de données. Consultez la section Création et modification de scripts.