Exemples de scripts

Vous pouvez utiliser des exemples de scripts comme base de vos propres scripts. Pour d'autres exemples de script et davantage d'aide, consultez la Claris Community.

Pour afficher un script dans FileMaker Pro :

  1. Sélectionnez le menu Scripts > Espace de travail de script. Vous pouvez également sélectionner le menu Fichier > Gérer > Scripts.
  2. Dans le volet de scripts, double-cliquez sur le script que vous voulez afficher.

    Le script s'ouvre dans un nouvel onglet du volet de modification d'un script.

Exemples d'une structure Si

Les actions de script Si, Sinon si, Sinon et Fin de si constituent une structure qui détermine l'exécution ou non d'une action de script. Cette exécution dépend du résultat d'une condition vérifiable ou d'un calcul booléen.

  • Lorsque ce résultat est différent de zéro, le calcul renvoie la valeur Vrai et la suite des actions est exécutée.
  • Lorsque le résultat du calcul est égal à zéro, vide ou ne renvoie aucune valeur numérique, le calcul renvoie la valeur Faux et le script s'arrête.

Les actions Sinon si offrent des tests booléens supplémentaires. Les actions Sinon offrent d'autres actions à exécuter si toutes les conditions renvoient le résultat Faux.

Exemple 1

Exécute une recherche. Si aucun enregistrement n'est trouvé, affiche une boîte de dialogue personnalisée. Si des enregistrements sont trouvés, trie le jeu d'enregistrements trouvés.

Copier
Exécuter la recherche [Rétablir]
Si [Obtenir ( NombreEnregTrouvés ) = 0]
    Ouvrir boîte dial. person. ["Rechercher des enregistrements"; "Aucun enregistrement trouvé."]
Sinon
    Trier enregistrements [Rétablir; Avec boîte de dialogue: Non]
Fin de si

Exemple 2

Exécute une recherche. Si aucun enregistrement n'est trouvé, affiche une boîte de dialogue personnalisée. Si un enregistrement est trouvé, passe au modèle Détails de la facture. Si plusieurs enregistrements sont trouvés, passe au modèle Factures.

Copier
Exécuter la recherche [Rétablir]
Si [Obtenir (NombreEnregTrouvés) = 0]
    Ouvrir boîte dial. person. ["Rechercher des enregistrements"; "Aucun enregistrement trouvé."]
Sinon si [Obtenir ( NombreEnregTrouvés ) = 1]
    Activer modèle ["Détails de la facture"]
Sinon
    Activer modèle ["Factures"]
Fin de si

Exemples d'une structure en boucle

Les actions de script Boucle, Fin de boucle si et Fin de boucle constituent une structure permettant la répétition d'actions de script. Les actions figurant entre Boucle et Fin de boucle sont exécutées en continu, jusqu'à ce qu'une condition Fin de boucle si soit remplie ou que la condition Fin de script soit atteinte dans une action Afficher enreg/requête/page ou Activer rangée externe.

Utilisez l'action de script Fin de boucle si pour indiquer un calcul à effectuer. Lorsque le résultat du calcul est différent de zéro, il renvoie la valeur Vrai et la boucle s'interrompt. Lorsque le résultat du calcul est zéro, la valeur renvoyée est Faux et la boucle se poursuit.

Exemple 1

Copie le contenu de Clients::Téléphone professionnel dans Client::Contact en journée dans tous les enregistrements.

Copier
Afficher enreg/requête/page [Premièr(e)]
Boucle
    Définir rubrique [Clients::Contact en journée; Clients::Téléphone professionnel]
    Afficher enreg/requête/page [Suivant(e); Sortie après dernière: Oui]
Fin de boucle

Exemple 2

Fait une boucle dans les enregistrements pour exporter des fichiers se trouvant dans les rubriques Conteneur. Quitte la boucle si un enregistrement possède une rubrique Conteneur vide.

Copier
Définir variable [$PATH; Valeur: Obtenir ( CheminDocuments ) & Produits::Conteneur]
Afficher enreg/requête/page [Premièr(e)]
Boucle
    Fin de boucle si [EstVide ( Produits::Conteneur )]
    Exporter contenu de rubrique [Produits::Conteneur; "$PATH" ; Créer
    dossiers: Non ]
    Afficher enreg/requête/page [Suivant(e); Sortie après dernière: Oui]
Fin de boucle

Exemples de script de démarrage

Un script de démarrage permet de personnaliser l'affichage de la base de données pour l'utilisateur ou de réaliser d'autres actions à l'ouverture de la base de données. Les scripts de démarrage sont exécutés par le déclencheur de script SurOuverturePremiereFenetre. Pour plus d'informations sur la définition d'un script de démarrage, consultez la section Définition des options de fichier.

Exemple 1

Active le modèle Administration si le compte dispose du jeu de privilèges Accès intégral. Sinon, active le modèle Saisie de données

Copier
Si [Obtenir ( NomPrivilègesCompte ) = "[Full Access]"]
    Activer modèle ["Administration"]
Sinon
    Activer modèle ["Saisie de données"]
Fin de si

Exemple 2

Vérifie quelle version de FileMaker Pro ou FileMaker Go est ouverte dans la base de données et active le modèle Clients approprié.

Copier
Si [Obtenir ( Appareil ) = 3]
    Activer modèle ["Clients iPad"]
Sinon si [Obtenir ( Appareil ) = 4]
    Activer modèle ["Clients iPhone"]
Sinon
    Activer modèle ["Clients"]
Fin de si

Exemples de Exécuter script et paramètre de script

L'action Exécuter script effectue un script défini dans le fichier actif ou dans un autre fichier FileMaker Pro.

Des paramètres de scripts facultatifs peuvent transférer du texte dans un script. Par exemple, vous pouvez utiliser un paramètre de script pour stocker le numéro de l'enregistrement actif lors du lancement d'un script, ce qui vous permet de revenir facilement à cet enregistrement à la fin du script. Vous pouvez également invoquer le même script depuis différents boutons du même modèle et définir facilement quel bouton a invoqué le script à l'aide d'un paramètre de script différent pour chaque bouton.

Lorsque vous indiquez un paramètre, vous pouvez y accéder au sein d'un script ou le transférer à d'autres scripts à l'aide la fonction Obtenir ( ParamètreScript ).

Vous pouvez également utiliser des paramètres complexes, tels que des listes de noms ou d'autres valeurs. Les paramètres complexes séparés par des retours chariot peuvent être analysés à l'aide de la fonction ValeursDebut, de la fonction ValeursExtraites et de la fonction ValeursFin. Ces fonctions renvoient les valeurs de début, de milieu et de fin des listes séparées par des retours chariot. Les paramètres complexes séparés par d'autres caractères peuvent être analysés comme du texte à l'aide de la fonction Debut, de la fonction Extrait et de la fonction Fin.

Exemple 1

Exécute le script "Imprimer rapport de factures" sans paramètre.

Copier
Activer modèle ["Rapport de factures"]
Exécuter script [ Spécifique: Dans la liste ; "Imprimer rapport de factures" ; 
Paramètre: ]

Exemple 2

Utilise une rubrique, Nom du client, en tant que paramètre. Les factures du client actuel sont renvoyées dans une nouvelle facture avec le modèle Rapport de factures.

Script principal : Factures du client actuel

Copier
Rechercher les enregistrements concordants [Remplacer; Factures::N° client]
#Appelle le sous-script "Afficher les factures du client" défini ci-dessous
Exécuter script [ Spécifique: Dans la liste: "Afficher les factures du client"; Paramètre: Factures::Nom du client]

Sous-script : Afficher les factures du client

Copier
Nouvelle fenêtre[Nom: "Client: " & Obtenir ( ParamètreScript ); Style: Document]
Activer modèle ["Rapport de factures"]
Trier enregistrements [Rétablir; Avec boîte de dialogue: Non]

Remarques

  • Un paramètre de script n'existe que pour la durée du script. Les paramètres de script sont réinitialisés à chaque exécution de script ; Si vous souhaitez qu'un paramètre de script soit conservé pendant l'ouverture d'un fichier, vous pouvez utiliser une variable globale en tant que paramètre de script.
  • Un paramètre de script n'existe qu'au sein d'un script parent, sauf s'il est explicitement transféré vers un autre script à l'aide de la fonction Obtenir ( ParamètreScript ).
  • Un paramètre de script peut être utilisé (mais non modifié) au sein d'un script et peut être transféré à des sous-scripts à l'aide de la fonction Obtenir ( ParamètreScript ) en tant que paramètre du sous-script. Vous pouvez également indiquer des paramètres différents chaque fois que le sous-script est invoqué à l'aide de Exécuter script. La modification des paramètres transmis à un sous-script ne modifie pas la valeur des paramètres renvoyés au script parent par Obtenir ( ParamètreScript ) ;