Go to Contents
Page
précédente
Page
suivante
Table des matières > Création de scripts pour l'automatisation de tâches > Elaboration d'un script

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 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'à une certaine condition ? 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 rubrique Actions de script Contrôle.
Souhaitez-vous que le script s'exécute sur 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'Action de script Activer modèle pour modifier des modèles. Utilisez l'Action de script Si et d'autres Actions de script Contrôle pour exécuter des actions de script en fonction des conditions définies (par exemple en fonction du nom d'un modèle).
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. Il vous faudra peut-être créer des scripts séparés pour chaque fichier dans les solutions de base de donné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'Action de script Boucle, 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'Action de script Afficher enreg/requête/page, l'Action de script Activer enregistrement lié ou l'Action de script Activer rangée externe 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.)
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'Action de script Mode Utilisation pour modifier des données dans des rubriques et des enregistrements et utilisez l'Action de script Mode Recherche 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 ont besoin de la présence d'une rubrique sur le modèle actif (comme l'Action de script Activer rubrique, l'Action de script Insérer texte et l'Action de script Insérer résultat du calcul), ce qui n'est pas le cas pour d'autres (par exemple l'Action de script Définir rubrique et l'Action de script Remplacer contenu de rubrique). Utilisez l'Action de script Activer modèle pour passer à un modèle où les rubriques requises sont présentes.
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 l'Action de script Exécuter recherche, l'Action de script Afficher tous les enreg., l'Action de script Afficher enreg. ignorés uniq., l'Action de script Ignorer enregistrement, l'Action de script Ignorer plusieurs enregistrements et l'Action de script Modifier requête pour inclure uniquement les enregistrements du jeu d'enregistrements trouvés sur lesquels vous souhaitez travailler.)
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'Action de script Annuler tri des enreg. ou l'Action de script Trier enregistrements 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'Action de script Afficher enreg/requête/page, l'Action de script Boucle, l'Action de script Fin de boucle si et l'Action de script Fin de boucle pour contrôler le traitement de plusieurs rubriques ou enregistrements.)
Quand le script doit-il s'achever ? Après le traitement de tous les enregistrements ? Une fois qu'une certaine condition est remplie ? (Utilisez l'Action de script Si, l'Action de script Sinon si et l'Action de script Fin de boucle si pour exécuter une tâche lorsque le script rencontre une condition précise.)
Comment allez-vous tester votre script ? Utilisez l'Action de script Suspendre/reprendre 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. Une fois le test effectué, importez les données du fichier initial dans le clone.
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 Fonction Obtenir ( DernièreErreur ). Utilisez cette fonction ainsi que l'Action de script Si, l'Action de script Sinon si et l'Action de script Sinon 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'Action de script Gestion erreurs pour supprimer les alertes d'erreur habituellement affichées par FileMaker Pro dans ces situations et les remplacer par des alertes personnalisées à l'aide de l'Action de script Ouvrir boîte de dialogue personnalisée.
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 autorisations pour chaque jeu de privilèges pour de 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. Pour plus d'informations, reportez-vous à la rubrique Création et gestion des jeux de privilèges.
Comment les utilisateurs exécutent-ils le script ? Vous pouvez créer un bouton à partir duquel le script sera lancé ou faire en sorte que le script soit répertorié dans le menu Scripts. Il est également possible d'exécuter les scripts à partir de la boîte de dialogue Gérer les scripts ou encore au moment de l'ouverture ou de la fermeture d'une base de données. Pour plus d'informations sur l'exécution de scripts lors de l'ouverture ou de la fermeture de fichiers, consultez la rubrique Définition d'options de fichier.
Une fois que vous avez étudié toutes ces questions, vous pouvez gérer des scripts dans votre base de données. Consultez la rubrique Création et modification de scripts à l'aide de ScriptMaker.

Table des matières > Création de scripts pour l'automatisation de tâches > Elaboration d'un script
Page
précédente
Page
suivante