Tutoriel d’initiation à FileMaker Pro 12

Cours d’initiation à FileMaker Pro 12 avec exemples

...

Étapes de scripts

Maintenant que vous savez créer des scripts (comme vous l’avez vu au chapitre A), vous pouvez approfondir vos connaissances. FileMaker propose des instructions ou étapes de scripts pour presque toutes les commandes des menus et de la zone d’état. Vous pouvez combiner des étapes, définir des boucles, des alternatives, des boîtes de dialo¬gue personnalisées et automatiser la plupart des tâches. Les scripts sont capables de gérer des rubriques et des enregistrements, d’effectuer des recherches et des tris, de manipuler des fenêtres et d’imprimer. Ce chapitre décrit de nombreuses étapes de scripts et fournit plusieurs exemples.

Activer modèle

L’étape Activer modèle, illustrée au chapitre A, vous permet de passer à un autre modèle. Elle revient à choisir un modèle dans le menu local des modèles de la zone d’état, mais elle est plus puissante dans le sens où elle peut activer n’importe quel modèle, y compris ceux qui ne sont pas affichés dans le menu.

Activer modèle ne contient qu’une option, sous la forme du menu local Définir. Outre la liste des différents modèles de la base, ce menu propose trois choix :

- Modèle d’origine – Renvoie l’utilisateur au modèle qui était en vigueur au moment du démarrage du script. Comme un script active fréquemment un autre modèle, cette option permet aux utilisateurs de revenir systématiquement à leur point de départ.
- Nom de modèle par calcul – Permet de définir une formule FileMaker classique. Le résultat doit être de type texte et correspondre au nom d’un des modèles de la base. Lors de l’exécution du script, FileMaker évalue la formule et active le modèle portant le nom indiqué.
Numéro de modèle par calcul – Ressemble à l’option précédente. Ici, vous défi¬nissez un calcul ayant pour résultat un nombre. FileMaker numérote les modèles suivant leur ordre d’apparition en mode Modèle. Le résultat renvoie au moment du démarrage du script. Comme un script active fréquemment un autre modèle, cette option permet aux utilisateurs de revenir systématiquement à leur point de départ.

- Nom de modèle par calcul – Permet de définir une formule FileMaker classique. Le résultat doit être de type texte et correspondre au nom d’un des modèles de la base. Lors de l’exécution du script, FileMaker évalue la formule et active le modèle portant le nom indiqué.
Numéro de modèle par calcul – Ressemble à l’option précédente. Ici, vous défi¬nissez un calcul ayant pour résultat un nombre. FileMaker numérote les modèles suivant leur ordre d’apparition en mode Modèle. Le résultat renvoie au modèle portant ce numéro.

Info : Attention, le numéro d’un modèle ne correspond pas forcément à son ordre d’apparition dans le menu local des modèles. N’oubliez pas que tous les modèles n’apparaissent pas dans ce menu et que vous avez la possibilité de modifier leur ordre manuellement. Pour savoir quel est le numéro réel d’un modèle, passez en mode Modèle, affichez le modèle voulu et voyez le numéro qui apparaît dans la zone d’état.

L’encadré ci-dessous vous explique quand utiliser Nom de modèle et Numéro de modèle.

Scripts de rubriques

La majorité des utilisateurs FileMaker passent le plus clair de leur temps à manipuler des données. C’est pourquoi ScriptMaker propose de nombreuses étapes ayant trait aux rubriques. Vous pouvez activer une rubrique précise, sélectionner le texte qu’elle con¬tient, voire jouer des sons et visionner des films placés dans des rubriques multimédia. Il est possible d’exécuter une opération de recherche et remplacement, d’exporter le contenu des rubriques et d’y importer des données de différentes manières.

Navigation

FileMaker offre la possibilité de naviguer de rubrique en rubrique à l’aide de la touche Tabulation ou bien de sélectionner une rubrique en cliquant dessus. Deux étapes de scripts imitent ces techniques.

Activer rubrique

L’étape de navigation la plus simple est Activer rubrique, qui est associée à deux options. Cochez Activer rubrique cible et sélectionnez la rubrique voulue. Lors de son exécution, le script activera la rubrique correspondante (si elle existe sur le modèle en cours).

Conseil : Lorsque vous employez Activer rubrique dans un script, FileMaker ignore le comporte¬ment de la rubrique défini au niveau du modèle et l’active. Cette possibilité est particulièrement intéressante si vous souhaitez que l’utilisateur accède à la rubrique uniquement au moyen d’un script.

Cette étape contient également l’option Sélectionner/Actionner. Si vous la cochez, le script sélectionne le contenu de la rubrique ou bien il l’exécute. Par exemple, si la rubrique est de type multimédia et qu’elle renferme un son ou un film, FileMaker joue ou lance ce dernier. Si la rubrique multimédia contient la référence d’une image ou d’un fichier, FileMaker ouvre le document correspondant avec le programme adéquat.

Il est possible de cocher uniquement Sélectionner/Actionner sans préciser de rubrique cible. Dans ce cas, la sélection ou l’exécution opère sur la rubrique qui était activée au moment du déclenchement du script.

Rubrique suivante et Rubrique précédente

Ces deux étapes de script imitent la navigation par le biais de la touche Tabulation. Rubrique suivante passe à la rubrique suivante dans l’ordre de tabulation, tandis que Rubrique précédente passe à la précédente. Ces étapes ne comportent pas d’option.

Conseil : Pour obtenir l’effet de l’option Sélectionner/Actionner avec Rubrique suivante et Rubri¬que précédente, ajoutez ensuite l’étape Activer rubrique. Ne cochez pas Définir rubrique cible. Fi¬leMaker agira sur la rubrique activée.

Commandes d’édition

FileMaker propose sous forme d’étapes toutes les commandes du menu Édition : Annu¬ler, Couper, Copier, Coller et Effacer. L’étape Annuler est la plus simple. Elle ne s’accom¬pagne d’aucune option et a le même effet que la commande Édition>Annuler. Il n’est pas courant de vouloir annuler une action déclenchée par un script, c’est pourquoi vous utiliserez rarement cette étape. Elle est en revanche pratique si vous faites appel à des menus personnalisés (voir le chapitre D) pour contrôler l’accès aux commandes. En effet, vous devez alors fournir un script pour chacune des actions de l’utilisateur.

Couper, Copier et Effacer sont légèrement plus complexes et proposent deux options. Si vous cochez la première, Sélectionner tout le contenu, FileMaker sélectionne l’inté¬gralité de la rubrique avant d’exécuter la commande d’édition. Lorsque l’option est décochée, FileMaker intervient sur la sélection qui était en vigueur dans la rubrique lors du déclenchement du script. L’autre option, Activer rubrique cible, permet de définir la rubrique voulue. Si aucune rubrique cible n’est spécifiée, FileMaker agit sur la rubrique qui était activée au moment du déclenchement du script.

L’étape Coller est la plus complexe. Elle est associée à plusieurs options. Les deux premières, Sélectionner tout le contenu et Activer rubrique cible, sont les mêmes que pour les autres commandes d’édition. Quant à l’option Coller sans style, elle colle le contenu du Presse-papiers sans tenir compte de ses attributs typographiques. Si vous travaillez sous Windows, vous disposez d’une option supplémentaire : Lier si possible. Si le contenu du Presse-papiers provient d’une source gérant la liaison entre objets, File¬Maker intègre l’objet lié. Toute modification apportée à l’original sera reflétée dans File¬Maker. Désactivez cette option si vous préférez que FileMaker colle simplement une copie statique des données.

Sélection de texte

FileMaker propose deux étapes de script pour la sélection de texte. Sélectionner tout équivaut à la commande Édition>Tout sélectionner. Pour un contrôle plus précis, utilisez l’étape Définir sélection. Elle est assortie de deux options. Vous pouvez spécifier la rubri¬que cible. Le deuxième bouton Spécifier affiche la boîte de dialogue Définir sélection représentée à la figure B-1.

Figure B-1

Cette fenêtre vous donne la possibilité de préciser la portion de texte qui vous intéresse. Tapez le numéro correspondant au premier caractère dans la case Position de départ et celui du dernier caractère dans la case Position de fin. Sinon, cliquez sur Définir pour entrer un calcul.

Si vous visualisez le texte comme une chaîne de lettres, chiffres, espaces et signes de ponctuation, vous pouvez vous référer à la position des caractères. Par exemple, le mot Millier contient des caractères allant de 1 à 7. Vous devez indiquer la position du premier caractère dans la case Position de départ, et celle du dernier caractère dans la case Position de fin. Lors de l’exécution du script, FileMaker sélectionnera le premier et le dernier caractères spécifiés, ainsi que tous ceux qui se trouvent entre les deux.

Modification des données de rubriques

La modification des données de rubriques est une tâche tellement fondamentale que FileMaker propose plus de 10 méthodes permettant d’intervenir dans les rubriques au moyen d’étapes de scripts. Le chapitre A explique que le recours à un script pour impri¬mer un rapport est plus efficace que la sélection manuelle des commandes. La modifi¬cation de données au moyen de scripts diffère du procédé manuel. Les sections suivan¬tes expliquent les différences entre ces deux méthodes.

Retenez surtout que la plupart des étapes d’édition de données ne fonctionnent que sur le modèle courant. Ceci n’est pas un problème pour les scripts censés structurer les données saisies par l’utilisateur, mais cette limite est gênante dans de nombreux cas. Supposons que vous disposez d’un script qui indique Réglé en totalité sur les factures. Vous voulez qu’il fonctionne quel que soit le modèle activé (dans la mesure où il affiche des enregistrements de factures) et ce, que la rubrique soit présente sur le modèle ou non. Dans ce cas, vous devez bien comprendre l’étape de script Définir rubrique évoquée ci-après.

Couper, Copier et Coller

Votre premier réflexe sera peut-être de faire appel à Couper, Copier et Coller dans un script pour déplacer des données d’une rubrique à l’autre, ce qui fonctionne très bien. Vous pouvez, par exemple, avoir un script qui copie l’ID client, passe au modèle Factures, génère une nouvelle facture et colle l’information dans la rubrique ID client de ce modèle.

Toutefois cette approche n’est pas conseillée par les développeurs. Pour eux, il vaut mieux éviter de toucher au contenu du Presse-papiers, qui est le domaine réservé de l’utilisateur. Dans ces conditions, il est acceptable d’avoir un bouton Copier près de la rubrique d’adresse afin de copier cette dernière dans le Presse-papiers. Mais que se passe-t-il si l’utilisateur copie une description de produit très longue, puis lance le script Créer facture ? Il va tenter de coller celle-ci dans la rubrique description de produit et va se retrouver avec le numéro d’ID client à la place. C’est pourquoi il vaut mieux éviter d’utiliser Couper et Copier dans des scripts.

Ensuite, ces étapes ne fonctionnent pas si les rubriques ne se trouvent pas sur le modèle en cours d’utilisation. La plupart des utilisateurs entrent le nom du client sur les factures, mais rarement leur numéro d’ID. Toutefois, si vous supprimez la rubrique ID client du modèle Factures, tous les scripts faisant appel à Couper, Copier ou Coller pour la rubrique ID client sont interrompues. L’étape de script Définir rubrique permet de contourner la difficulté.

Définir rubrique

Cette étape remplace le contenu de la rubrique spécifiée par le résultat d’un calcul. Ses deux options, Définir rubrique cible et Résultat du calcul, permettent de spécifier la rubrique à traiter et la formule à employer. Le résultat du calcul doit être du même type que la rubrique. L’étape Définir rubrique convient parfaitement aux rubriques de type texte, date, heure et horodatage, car elle fonctionne parfaitement quel que soit le contenu du modèle.

Comme certaines étapes que vous avez déjà vues, celle-ci ne requiert pas nécessaire¬ment la spécification d’une rubrique. Dans ce cas, l’étape s’applique à la rubrique qui est activée au moment de l’exécution du script. (Cela n’est possible que pour les résul¬tats de type texte. Pour tous les autres types, vous devez définir une rubrique.)

Insérer résultat du calcul

L’inconvénient de l’étape Définir rubrique est qu’elle remplace systématiquement le contenu de la rubrique (voir le conseil ci-dessous). L’étape Insérer résultat du calcul permet d’entrer des données dans une rubrique tout en conservant son contenu précé¬dent. Elle est assortie de trois options. Vous pouvez définir la rubrique cible et décider de remplacer tout son contenu (Sélectionner tout le contenu), ce qui a le même effet que Définir rubrique. Enfin, vous avez la possibilité de spécifier un calcul. Veuillez noter les points suivants :

- Si vous ne cochez pas Sélectionner tout le contenu, FileMaker insère le résultat du calcul à la suite des données contenues dans la rubrique.
- Si vous ne spécifiez pas de rubrique cible et que vous ne cochez pas Sélectionner tout le contenu, FileMaker insère le résultat du calcul dans la rubrique activée. Si vous sélectionnez des données en cours d’exécution du script, ce dernier les remplacera par le résultat du calcul. Sinon, le résultat sera entré à partir du point d’insertion, comme s’il avait été tapé au clavier.
Conseil : Vous pouvez en fait utiliser Définir rubrique pour ajouter le résultat du calcul au contenu de la rubrique (sans le remplacer). Par exemple, pour insérer le cedex après une ville (dans la ru¬brique Ville), utilisez la formule suivante Ville & " cedex".

Insertion d’autres valeurs

FileMaker propose six autres étapes d’insertion qui fonctionnent comme Insérer résultat du calcul. Vous devez indiquer pour chacune d’entre elles la rubrique cible et la sélec¬tion de son contenu, le cas échéant. Elles ne diffèrent que par la valeur qui est insérée :

- Insérer texte – Permet de spécifier une valeur texte quelconque et de l’insérer dans la rubrique. Utilisez cette étape si vous savez à l’avance ce qui doit être entré dans la rubrique (et qui ne sera donc pas le résultat d’un calcul).
- Insérer à partir de l’index – Affiche la même fenêtre d’index que la commande Insertion>Index en mode Utilisation et Recherche. L’utilisateur choisit une valeur dans la liste et FileMaker l’insère dans la rubrique. Cette option est particulière¬ment pratique en mode Recherche, car elle évite à l’utilisateur de taper une valeur (et d’entrer éventuellement des fautes de frappe) et garantit l’existence du critère, qui sera nécessairement retrouvé puisqu’il est répertorié dans l’index.
- Cop. du der. enreg. consult. (copie du dernier enregistrement consulté) – Cette étape est intéressante car elle récupère la valeur de la rubrique courante du dernier enregistrement consulté. Cette possibilité est très pratique pour les modèles de saisie. Supposons que vous devez entrer 300 personnes appartenant à 15 sociétés différentes. Vous pouvez utiliser cette étape pour créer un bouton qui récupère le dernier nom de société tapé dans la rubrique Société et l’insère auto¬matiquement, vous évitant ainsi de le retaper systématiquement.
- Insérer date du jour et Insérer heure actuelle – Ces étapes insèrent la date ou l’heure courante. Toutefois il n’existe pas d’étape équivalente pour l’horodatage. Vous devez utiliser à la place Insérer résultat calcul et Obtenir (HorodatageActuel).
- Insérer nom de l’utilisateur – Place le nom de l’utilisateur de FileMaker dans la rubrique. En règle générale, c’est le système d’exploitation qui fournit l’informa¬tion, mais vous pouvez la changer facilement dans l’onglet Général de la boîte de dialogue Préférences.
Reportez-vous à l’encadré Définir rubrique et Insérer pour savoir quand utiliser l’une ou l’autre de ces étapes.

Insertion de données dans une rubrique multimédia

Dans la partie IV du manuel, vous avez vu que les calculs peuvent porter sur les données d’une rubrique multimédia. C’est également le cas des étapes Définir rubrique et Insérer résultat calcul. Les deux permettent de déplacer des image, films, sons et fichiers entre des rubriques multimédia. Les étapes Couper, Copier et Coller fonctionnent aussi avec les rubriques multimédia. Toutefois, rappelez-vous la mise en garde sur l’utilisation du Presse-papiers mentionnée à la section consacrée à ces étapes.

Le menu Insertion contient des commandes dédiées aux rubriques multimédia et ScriptMaker propose les étapes de scripts équivalentes.

- Insérer image – Permet de spécifier l’image à insérer et d’indiquer si vous préférez stocker uniquement la référence au fichier (voir le chapitre 2 du manuel pour en savoir plus sur les références). Si vous n’indiquez aucun fichier, FileMaker demande à l’utilisateur d’en sélectionner un au cours de l’exécution du script.
MIEUX COMPRENDRE

Définir rubrique et Insérer

Les fonctionnalités des étapes de script pour l’édition de ru¬briques se recoupent en partie. Par exemple, si vous ne spéci¬fiez pas de rubrique cible pour Définir rubrique, vous obtenez le même résultat qu’avec Insérer résultat calcul sans rubrique cible et l’option Sélectionner tout le contenu cochée. Vous pouvez employer Insérer résultat calcul et la formule appro¬priée pour obtenir le même effet que Insérer texte, Insérer date du jour, Insérer heure actuelle et Insérer nom de l’utilisa¬teur. En général, vous pouvez utiliser indifféremment l’une ou l’autre de ces étapes.

Toutefois, il n’en est pas de même lorsque vous spécifiez une rubrique cible et que vous cochez l’option Sélectionner tout le contenu. Cette combinaison a pour effet de remplacer le contenu de la rubrique, exactement comme Définir rubrique.

Scripts de rubriques

Info : La boîte de dialogue dans laquelle l’utilisateur doit sélectionner le fichier contient l’option Stocker uniquement une référence, que vous ayez activé ou non cette option dans l’étape de script elle-même. Toutefois, le réglage que vous avez défini pour cette option servira de mode par défaut dans la boîte de dialogue. L’utilisateur peut modifier cette option.

- Insérer QuickTime – Ne contient qu’une seule option, à savoir le fichier source à insérer. Si aucun fichier n’est indiqué, l’utilisateur doit le choisir dans une boîte de dialogue lors de l’exécution du script. Les fichiers QuickTime sont toujours stockés sous forme de référence, c’est pourquoi cette option est superflue ici.
- Insérer fichier – Cette étape propose le plus grand nombre d’options. Vous devez désigner le fichier à insérer et vous disposez de la case à cocher Stocker unique-ment une référence. L’option Activer rubrique cible permet de désigner l’endroit où sera placé le fichier source.
Insérer image et Insérer QuickTime ne présentent pas d’option définissant la rubrique de destination. Elles sont prévues pour insérer la source dans la rubrique multimédia sur laquelle l’utilisateur a cliqué avant l’exécution du script. Si vous souhaitez davantage de contrôle, employez Activer rubrique pour spécifier la rubrique, puis ajoutez Insérer image ou Insérer QuickTime.

Script de rubrique en action

Supposons que vous ayez ajouté une rubrique Remarques à la table Clients de la base. Cette rubrique contient toutes sortes d’informations pertinentes se rapportant aux clients. Au bout d’un moment, vous constatez qu’il faut y mettre un peu d’ordre car même si la remarque indique Le client a déjà réglé, vous ne savez pas si cela se rapporte à mardi dernier ou à l’année passée. Vous devez élaborer un système cohérent indi-quant qui a rédigé la remarque et quand. Ces deux informations devront être fournies pour toute remarque. Pour plus de clarté, vous décidez que les nouvelles remarques viendront s’ajouter au-dessus des notes existantes. Après un certain temps, la rubrique Remarques pourrait se présenter comme suit :

--- 11/12/05 à 15:30 intervention de Dupont --¬

Appelé client qui a confirmé qu’il avait été livré.

--- 01/12/05 à 13:25 intervention de Durand --¬

Client a appelé pour dire qu’il n’avait jamais reçu sa commande. J’ai vérifié et je n’ai pas retrouvé trace de la livraison. Je lance une nouvelle livraison.

--- 03/11/05 à 16:58 intervention de Martin --¬

La commande a été passée en toute fin de journée. Je m’en occuperai demain.

Dans cet exemple, vous créez un script qui force tous les commentaires à adopter ce format. Le script ajoute une séparation contenant la date, l’heure et quelques lignes blanches. De plus, il active le point d’insertion au-dessous du séparateur. Vous allez créer un bouton que vous placerez à côté de la rubrique Remarques pour exécuter le script. L’utilisateur doit simplement cliquer dessus et taper.
