Copier un script

Un script peut être copié.

Un gain de temps considérable…

Il vous est peut-être déjà arrivé de devoir recopier un script ou une partie de script d’un fichier à l’autre ou pour une nouvelle table. Les raisons en sont variées. Le plus souvent, c’est pour pouvoir réutiliser un script similaire à celui que vous souhaitez créer, de manière à ne pas avoir à réinventer l’eau chaude, et donc à gagner du temps !

Une réelle copie n’est possible que si vous possédez FileMaker Pro Advanced. Elle représente un gain de temps considérable. On peut y ajouter, toujours grâce à la version Advanced de FileMaker, la copie de tables et de rubriques… bref, c’est énorme !

La copie se fait le plus simplement du monde : vous sélectionnez le titre du script depuis la liste des scripts du menu Scripts et vous activez le raccourci clavier archi connu pour copier. Dans le fichier de destination, vous le collez de la même manière dans la liste des scripts… Eh voilà, cela ne prend que quelques secondes…

…mais, quelques précautions à prendre !

La perfection n’étant pas de ce monde, vous pouvez, si vous n’y prenez pas garde, rencontrer quelques problèmes que ScriptDebugger peut vous aider à détecter.

En effet, puisque FileMaker n’est pas télépathe et surtout qu’il est extrêmement logique, si les noms des rubriques, des modèles, des tables et occurrences de tables, des scripts, etc. ne sont pas strictement identiques d’une base à l’autre ou/et ne correspondent à rien dans le nouveau fichier, FileMaker les remplace dans votre script par <Inconnu> pour le modèle non désigné, ou <Rubrique manquante>, ou tout autre indication de ce genre à l’intérieur du script ainsi recopié sans précaution. Attention, l’oubli par exemple d’un « s » final dans un nom est fatal, et même si vous corrigez après coup, le script ne se met pas à jour de lui-même.

Par exemple, dans cette boîte de dialogue qui propose de supprimer des enregistrements et dont le titre et le message sont personnalisés grâce à l’utilisation d’une rubrique, le titre et le message sont précédés et suivis par /* et */ parce que FileMaker ne trouve pas la rubrique FichierTitre de la table Fichiers dans le fichier actif :

Définition boîte de dialogue avec mauvaise copie

Lorsque l’utilisateur lance le script, celui-ci lui affiche le message suivant :

Boîte de dialogue affichée, avec problème

Sauf si l’utilisateur souhaite apprendre comment écrire un message personnalisé dans une boîte de dialogue, le résultat final n’est franchement pas terrible !!!

Le seul moyen de remédier à ce problème est, dans la définition de la boîte de dialogue, de supprimer les /* et */ et de redéfinir au besoin une rubrique de la nouvelle base de données à la place de celle non reconnue, ou supprimer toute forme de personnalisation !…

Si vous recopiez ainsi plusieurs scripts, il vous faut par conséquent penser à TOUS les vérifier, et ce dans le détail. Lorsque je dis « dans le détail », je pense au fait que, lorsqu’on affiche l’ensemble des pas de script d’un script, on ne voit pas le contenu précis de certains. C’est le cas par exemple de Trier enregistrements [Rétablir] ou Exécuter la requête [Rétablir] et tout ce qui concerne les imports et les exports. Par exemple, ci-dessous, outre le modèle qui est noté comme inconnu, on a perdu la rubrique qui permettait de trier les enregistrements.

Tri mal défini

Il a fallu double-cliquer sur le pas de script Trier enregistrements pour le constater !

Quelle conclusion tirer de cela ?

Elle est bien entendue de créer l’intégralité de la structure (tables, liens et occurrences de tables, rubriques,…) et des modèles de votre base AVANT de chercher à créer ou à copier un quelconque script.

– si par chance, le script que vous copiez depuis une ancienne base, retrouve à l’identique occurrences de table, rubriques et modèles, vous n’avez plus rien à faire, votre script fonctionne (sauf, comme nous le verrons prochainement, un aspect concernant les boîtes de dialogue).

– si ce n’est pas le cas, vous devez indiquer à FileMaker, dans le pas de script voulu, le bon modèle, la rubrique issue de telle occurrence de table, etc. Et pour cela, il faut bien qu’ils existent déjà 😉

Marie-Charlotte

Merci de laisser un commentaire (Pas de commentaire )

Désolé, les commentaires des articles réservés sont eux-mêmes réservés

Il n'y a pas de commentaire pour l'instant, soyez le premier ;-)