4.3 Techniques de script avancées
Maintenant que vous maîtrisez les bases du scripting dans FileMaker, il est temps de vous pencher sur des techniques plus avancées qui vous aideront à développer des applications plus complexes et plus robustes. Dans ce tutoriel, nous nous concentrerons sur la gestion des erreurs dans les scripts, le débogage et la documentation des scripts, ainsi que sur la création de workflows complexes avec plusieurs scripts. Ces techniques amélioreront votre capacité à créer des applications FileMaker puissantes et fiables.
Table des matières
- 4.3 Techniques de script avancées
- Gestion des erreurs dans les scripts
- FileMaker ERP avec une structure de script claire et entièrement documentée et un module développeur.
- gFM-Business Open Source FileMaker Basis-ERLe logiciel pour un cours accéléré
- Créer des workflows complexes avec plusieurs scripts
- Utilisation des sous-scripts et des paramètres de script dans FileMaker
- Transmettre plusieurs paramètres de script
- Avantages des sous-scripts et des paramètres de script
- Conseils, instructions et interfaces pour FileMaker et gFM-Business ERP
- Questions fréquentes sur les fonctions de script avancées
Gestion des erreurs dans les scripts
Introduction à la gestion des erreurs
La gestion des erreurs est un élément essentiel de tout script bien développé. Dans FileMaker, cela signifie que vous devez Script de manière à pouvoir réagir à des situations inattendues, comme par exemple lorsqu'un fichier n'est pas trouvé, qu'un calcul échoue ou qu'un utilisateur effectue une saisie non valide. Une gestion efficace des erreurs permet à votre script de ne pas simplement "planter", mais plutôt de détecter l'erreur, d'y réagir de manière appropriée et d'en informer l'utilisateur.
Principes de base de la gestion des erreurs
- Détection des erreurs par
Définir l'enregistrement des erreurs: avec l'action de scriptDéfinir l'enregistrement des erreurs [Activé]vous pouvez empêcher FileMaker d'afficher automatiquement un message d'erreur en cas d'erreur. Au lieu de cela, vous pouvez vous charger vous-même de la gestion des erreurs. - Vérification de l'état d'erreur avec
Obtenir(DernièreErreurN°): Après chaque étape critique du script, vous devriez vérifier l'état des erreurs.Obtenir(DernièreErreurN°)renvoie un code d'erreur que vous pouvez utiliser dans uneSi-pour réagir à l'erreur. Exemple :Définir l'enregistrement des erreurs [Activé]
Ouvrir le fichier ["Base de données.fmp12"]
Si [Obtenir(DernièreErreurN°) ≠ 0]
Afficher sa propre boîte de dialogue ["Erreur" ; "Le fichier n'a pas pu être ouvert"].
Quitter le script en cours
Fin Quand - Insérer des étapes de traitement des erreursSi une erreur est détectée, vous pouvez prendre les mesures nécessaires pour résoudre le problème ou en informer l'utilisateur. Cela pourrait inclure l'annulation des modifications, l'enregistrement d'un journal d'erreurs ou la proposition d'une action alternative.
Gestion avancée des erreurs
- Utiliser des boucles pour les essais répétés: Dans certains cas, il peut être utile, en cas d'erreur, d'effectuer plusieurs tentatives avant de terminer le script. exemple :
Définir la variable [$Vessai ; Valeur : 1]
Boucle
Ouvrir le fichier ["Base de données.fmp12"]
Si [Obtenir(DernièreErreurN°) = 0]
Quitte la boucle quand [Obtenir(DernièreErreurN°) = 0]
Sinon Si [$entative ≥ 3]
Afficher sa propre boîte de dialogue ["Erreur" ; "Le fichier n'a pas pu être ouvert après 3 tentatives"].
Quitter le script en cours
Fin QuandQuitte la boucle si [$entative > 3].
Définir une variable [$entative ; Valeur : $Ventative + 1]
Fin de la boucleEnregistrement des erreursDans les applications complexes, il peut être utile de conserver un journal des erreurs dans lequel sont enregistrés les détails des erreurs survenues. Cela peut se faire dans une table de journal d'erreurs séparée dans votre base de données FileMaker.
exemple :
Si [Obtenir(DernièreErreurN°) ≠ 0]Aller à la mise en page [Nom : "Protocole d'erreurs"]
Nouvel enregistrement/requête
Définir la valeur du champ [Protocole d'erreurs::Date ; Obtenir( Horodatage système )]
Définir la valeur du champ [Protocole d'erreurs::Code d'erreur ; Obtenir(DernierNuméroErreur)]
Définir la valeur du champ [Error Log::User ; Hole( AccountName )]
Enregistrer l'ensemble de données/la requête [Avec dialogue : Désactivé]
Fin Quand
FileMaker ERP avec une structure de script claire et entièrement documentée et un module développeur.
Plus d'informations
Débogage et documentation de script
Introduction au débogage
Le débogage des scripts est une étape essentielle pour s'assurer que vos scripts fonctionnent correctement et s'exécutent comme prévu. L'espace de travail Scripts de FileMaker offre des outils de débogage puissants, tels que le débogueur de scripts et la fonction de visualisation des données.
Utiliser le débogueur de script
- Activer le débogueur de scriptOuvrir l'espace de travail de script et lancer le débogueur de script via Outils > Débogueur de scripts. Le débogueur vous permet de parcourir votre script étape par étape et de vérifier l'état actuel de chaque variable et de chaque action de script.
- Exécution par étapesUtilisez les boutons du débogueur de script pour exécuter votre script étape par étape. Cela vous permet de voir exactement où une erreur se produit ou si des résultats inattendus sont générés.
- Définir des points d'arrêtVous pouvez définir des points d'arrêt dans votre script afin d'arrêter l'exécution à un moment précis et de vérifier l'état actuel. Ceci est particulièrement utile pour analyser des zones complexes de votre script.
Utiliser Data Viewer
Le Data Viewer vous montre en temps réel la valeur des champs, des variables et des calculs pendant l'exécution de votre script. Cela est particulièrement utile pour observer les effets des différentes actions de script sur vos données.
- Ouvrir Data Viewer: La visionneuse de données peut être activée via Outils > Data Viewer être ouvert.
- Surveiller les expressions: Ajoutez les champs ou les variables que vous souhaitez surveiller afin de vérifier leurs valeurs pendant l'exécution du script.
Documentation sur les scripts
Une documentation claire et bien structurée de vos scripts est importante pour garantir la maintenabilité et la compréhension de votre solution FileMaker. Une bonne documentation ne contient pas seulement des commentaires dans le script lui-même, mais aussi une description du script, de son objectif et des paramètres utilisés.
- Commenter votre script: Utilisez les
Commentaire-dans l'espace de travail du script pour documenter chaque section de votre script. Expliquez ce que fait chaque section et pourquoi c'est nécessaire.Exemple :# Ce script vérifie si le fichier peut être ouvert et affiche un message d'erreur dans le cas contraire. - Ajouter une description de script: Donnez une description générale du script dans l'espace de travail de script. Cela vous aidera, vous ou les autres développeurs, à comprendre rapidement ce que fait le script.
- Gérer le contrôle de versionConservez différentes versions de vos scripts, en particulier lorsque vous effectuez des modifications. Notez quand et pourquoi des modifications ont été apportées.
gFM-Business Open Source FileMaker ERP de base
Le logiciel du cours accéléré
Télécharger gratuitement
Créer des workflows complexes avec plusieurs scripts
Introduction aux workflows complexes
Dans les grandes applications FileMaker, plusieurs scripts doivent souvent collaborer pour mettre en œuvre un workflow complet. Ces scripts peuvent être exécutés l'un après l'autre ou reliés entre eux par des conditions et des déclencheurs afin de reproduire des processus complexes.
Scripts pour la création de modules
- Répartition en modulesDécomposer les tâches complexes en modules plus petits et réutilisables. Chacun de ces modules doit remplir une tâche spécifique et peut être appelé par d'autres scripts.Exemple : un module de script qui valide les données, un autre qui génère un rapport et un autre qui exporte le rapport.
- Utiliser les paramètres de scriptTransmettez des paramètres entre les scripts afin de les rendre flexibles et réutilisables. Cela vous permet d'utiliser un script dans différents contextes avec différentes données d'entrée.Exemple :
# Script principalExécuter le script
Si [Obtenir(ParamètreScript) = "Rapport"]
Exécuter le script ["Générer un rapport"].
Sinon Si [Obtenir(ParamètreScript) = "Validation"]
Fin Quand - Appeler des scripts: Utiliser
Perform Script-pour appeler d'autres scripts à l'intérieur d'un script principal. Cela permet de créer des workflows complexes composés de plusieurs étapes et modules.
Gestion des erreurs et des flux de travail
- Surveillance des erreurs dans les flux de travail complexes: Dans les workflows avec plusieurs scripts, il est important de coordonner la surveillance des erreurs entre les scripts. Assurez-vous que les codes d'erreur sont transmis entre les scripts et que le script principal réagit en conséquence.
- Stratégies de rollbackDans les flux de travail critiques, il peut être nécessaire de mettre en œuvre une stratégie de retour en arrière, dans laquelle toutes les modifications sont annulées lorsqu'une erreur se produit. Cela peut être réalisé en réinitialisant les champs ou en supprimant les enregistrements nouvellement créés.
Optimisation et performance
- Optimiser les scripts: assurez-vous que vos scripts s'exécutent le plus efficacement possible en évitant les étapes inutiles et en minimisant le nombre de requêtes dans la base de données.
- Minimiser les temps de chargementSi vous travaillez avec de grandes quantités de données ou des calculs complexes, veillez à minimiser les temps de chargement. Utilisez des index, des requêtes optimisées et des mises en page allégées.
Utilisation des sous-scripts et des paramètres de script dans FileMaker
Dans FileMaker, vous pouvez Scripts partiels et Paramètres de script être utilisé pour maximiser l'efficacité et la réutilisabilité des scripts. Scripts partiels sont des scripts plus petits et spécialisés qui sont appelés par d'autres scripts pour effectuer des tâches répétitives. Cela permet de mieux structurer le code et facilite la maintenance, car les modifications apportées à un sous-script prennent automatiquement effet dans tous les scripts principaux qui l'appellent. Paramètres de script permettent de passer des informations entre différents scripts, ce qui augmente la flexibilité et le dynamisme des appels de script.
Exemple de fonctionnement : Utilisation de sous-scripts et de paramètres de script
Supposons que nous voulions utiliser un élément qui revient souvent, comme le Création d'un nouvel enregistrement et réutiliser le transfert d'informations vers cet ensemble de données à travers plusieurs scripts.
1. le script principal : Appel d'un sous-script
Dans le script principal, un sous-script est appelé pour créer le nouvel ensemble de données. Un Paramètres de script est utilisé pour envoyer les données à transmettre au sous-script :
# Script principal : "Créer un nouveau client"Définir la variable [$nom du client ; Valeur : "Max Mustermann"]
Définir la variable [$Numéro de client ; valeur : "12345"].
# Appel du sous-script avec les paramètres transmis
Perform Script ["Installation client" ; Paramètres : JSONSetElement ("{}" ; ["nom" ; $nom du client ; chaîne de caractères JSON] ; ["numéro" ; 1TP4Numéro du client ; chaîne de caractères JSON] )]Dans cet exemple, le sous-script "Création de client" est appelé. Les informations relatives au nom et au numéro du client sont transmises au format JSON en tant que paramètres de script. Cela présente l'avantage de pouvoir transmettre plusieurs points de données dans un seul paramètre.
2ème sous-script : Traitement des paramètres de script
Le sous-script "Création de client" reprend le paramètre de script, extrait les informations et crée un nouvel enregistrement sur la base des données transmises :
# Script partiel : "Installation du client"
Définir la variable [$param ; Value : Hole ( ScriptParameter )]
# Extraction des données du paramètre JSON
Définir une variable [$nom ; Valeur : JSONGetElement ($param ; "name")]
Définir une variable [$numéro ; Value : JSONGetElement ($param ; "nummer")]
# Nouvel ensemble de données basé sur les valeurs transmises
Nouvel enregistrement/requête
Définir la valeur du champ [Clients::Nom ; $nom]
Définir la valeur du champ [Client::Numéro ; $numéro]Dans ce sous-script, le paramètre JSON passé en paramètre est traité à l'aide de la commande JSONGetElement sont traités. Les variables $nom et $numéro sont extraites et saisies dans les champs correspondants du nouvel enregistrement.
Transmettre plusieurs paramètres de script
FileMaker permet de passer plusieurs paramètres de script de différentes manières. Une méthode courante consiste à utiliser les paramètres en tant que Liste et de les transmettre ultérieurement à la fonction ObtenirValeur() être lus individuellement. Il est également possible d'utiliser dans gFM-Business une méthode dans laquelle les paramètres sont séparés par des tirets hauts (|) sont séparées. Ensuite, ces valeurs sont calculées à l'aide de la fonction "Colonnes de chaînes" à nouveau divisés et traités individuellement. Ces approches permettent de transmettre de manière flexible et structurée plusieurs paramètres qui peuvent ensuite être traités dans les scripts correspondants.
Avantages des sous-scripts et des paramètres de script
- Possibilité de réutilisationLes sous-scripts peuvent être appelés par plusieurs scripts, ce qui rend le code modulaire et facile à entretenir. Les modifications apportées à un sous-script ne doivent être effectuées qu'une seule fois et se répercutent sur tous les scripts appelants.
- FlexibilitéParamètres de script : Les paramètres de script permettent de transmettre des informations dynamiques à des sous-scripts, ce qui rend les scripts plus flexibles. L'utilisation de paramètres JSON offre ici la possibilité de transmettre des structures de données complexes dans un seul paramètre.
- Clarté et structureLe code est plus clair et mieux structuré grâce à la division des scripts en sous-scripts plus petits. Cela facilite non seulement le développement, mais aussi le débogage.
Conseils, instructions et interfaces pour FileMaker et gFM-Business ERP
Conseils et instructions
Questions fréquentes sur les fonctions de script avancées
- Comment puis-je vérifier et corriger les erreurs dans les scripts FileMaker ?
- Dans FileMaker, vous pouvez contrôler la gestion des erreurs à l'aide de la commande "Définir l'enregistrement des erreurs", qui empêche l'affichage des messages d'erreur standard. Vous pouvez ensuite utiliser la commande Obtenir (DernièreErreurN°) pour vérifier le statut de l'erreur et définir les actions appropriées en fonction du code d'erreur. Cela permet d'exécuter des chemins de script alternatifs ou d'afficher des messages d'erreur personnalisés afin d'informer les utilisateurs.
- Comment fonctionne le débogage des scripts dans FileMaker ?
- L'outil de débogage de script de FileMaker Pro vous permet de parcourir les scripts étape par étape. Vous pouvez surveiller la progression d'un script en temps réel, définir des points d'arrêt et vérifier l'état actuel des variables et des rubriques. Vous pouvez ainsi localiser et corriger rapidement les erreurs. Vous pouvez lancer le débogueur dans le menu "Outils" > "Débogueur de scripts".
- Je ne vois pas de menu Outils, comment puis-je l'activer ?
- Si vous ne trouvez pas de menu Outils dans la barre de menus, allez dans les Préférences FileMaker (Mac sous "FileMaker Pro", Windows sous "Édition") et sélectionnez l'option "Utiliser les outils avancés" dans le premier onglet "Général". Confirmez la boîte de dialogue et redémarrez FileMaker Pro une fois.
- Comment relier plusieurs scripts dans FileMaker ?
- Dans FileMaker, vous pouvez lier plusieurs scripts entre eux en utilisant la commande "Exécuter le script" pour appeler un autre script. Cela vous permet de diviser des processus complexes en scripts plus petits et plus faciles à gérer, qui fonctionnent ensemble. En divisant les scripts en sous-scripts, vous pouvez réutiliser des tâches spécifiques et améliorer la maintenabilité de vos solutions de scripting.
- Que sont les scripts partiels et quand dois-je les utiliser ?
- Les sous-scripts sont des scripts plus petits et spécialisés qui sont appelés dans le cadre d'un script plus grand. Ils sont utiles pour encapsuler des tâches répétitives telles que la création de nouveaux enregistrements ou la navigation entre des modèles. Les sous-scripts favorisent une structure propre et modulaire dans vos scripts, ce qui facilite la maintenance. Si un processus est utilisé plus fréquemment, il est préférable de l'externaliser dans un sous-script et de l'appeler à partir d'autres scripts.
- Comment utiliser les paramètres de script dans FileMaker ?
- Les paramètres de script vous permettent de passer des données d'un script à un autre. Lorsque vous appelez un script, vous pouvez lui transmettre un ou plusieurs paramètres en utilisant la commande "Exécuter le script" et en définissant des paramètres. Au sein du script, vous pouvez récupérer et utiliser les paramètres à l'aide de la commande "Obtenir (ScriptParameter)". Cela est utile pour contrôler de manière dynamique les actions que le script appelé doit effectuer.
- Comment passer plusieurs paramètres de script ?
- Pour passer plusieurs paramètres de script, vous pouvez les regrouper dans une liste ou dans un format JSON. La fonction "Liste()" permet de passer des paramètres dans une liste séparée par des sauts de ligne et de les récupérer dans le script à l'aide de la fonction ObtenirValeur("Obtenir (ParamètreScript)" ; Numéro). Le numéro identifie le énième paramètre de script. Vous pouvez également utiliser JSON pour transmettre les paramètres dans un format structuré, puis utiliser des fonctions telles que "JSONGetElement" pour accéder aux paramètres spécifiques.
- gFM-Business utilise pour plusieurs paramètres de script la fonction "StringSpalten", qui permet de séparer les paramètres par un trait en exposant "|". Cette procédure présente l'avantage que les paramètres transmis peuvent également contenir des séparations de lignes.
- Comment gérer les variables globales dans les scripts ?
- Les variables globales (commençant par $$) stockent des données qui sont accessibles tout au long de la session, même après la fin du script. Vous pouvez définir des variables globales dans un script à l'aide de la commande "Définir une variable" et récupérer ou modifier leur valeur à tout moment. Elles sont particulièrement utiles pour partager des données entre différents scripts ou mises en page. Toutefois, comme elles restent en place jusqu'à la fermeture du fichier, les variables globales doivent être utilisées avec précaution afin d'éviter toute interférence involontaire.
- Comment fonctionnent les variables locales dans les scripts FileMaker ?
- Les variables locales (commençant par $) ne sont valables que pendant l'exécution d'un script. Elles sont souvent utilisées pour stocker temporairement des données qui ne sont nécessaires que dans un script ou une étape particulière. Dès que le script se termine, la variable locale est supprimée. Les variables locales sont bien adaptées pour stocker des résultats de calcul ou des valeurs intermédiaires sans qu'elles ne subsistent pendant toute la session.
- Comment utiliser efficacement les conditions dans un script ?
- Les conditions "si" vous permettent de contrôler le déroulement d'un script en fonction de certains critères. Vous pouvez vérifier si une condition est remplie et exécuter différentes actions en fonction du résultat. Un exemple typique serait une condition qui vérifie si un champ est vide avant de créer un nouvel enregistrement. Pour les cas plus complexes, vous pouvez également utiliser des conditions "si" imbriquées ou des scénarios "si/si" pour vérifier plusieurs conditions, pour lesquels la commande "sinon si" peut être utilisée.
- Comment utiliser les répétitions et les boucles dans les scripts pour traiter les données ?
- Les boucles permettent de répéter une série d'actions jusqu'à ce qu'une certaine condition soit remplie. Un exemple typique serait de parcourir tous les enregistrements d'un résultat de recherche et de mettre à jour un champ spécifique. Vous commencez la boucle avec la commande "Boucle" et vous la terminez avec "Quitter la boucle si" lorsque la condition souhaitée est remplie, par exemple lorsque le dernier enregistrement a été atteint.
- Comment puis-je rendre les scripts et les sous-scripts modulaires et réutilisables ?
- Pour rendre les scripts modulaires et réutilisables, il est conseillé d'externaliser les processus généraux dans des sous-scripts et d'utiliser des paramètres de script pour contrôler le déroulement de manière dynamique. Cela réduit les redondances et vous permet de réutiliser les scripts dans différents contextes. Utilisez également des variables globales et locales de manière efficace pour transférer des données au sein d'un script ou entre des scripts, sans devoir créer de nouveaux scripts à chaque fois. Si nécessaire, transférez également plusieurs paramètres de script d'un script à l'autre, que vous pouvez lire à l'aide de la fonction "Obtenir(RésultatScript)".
