
Table des matières
- Employé virtuel avec son propre client FileMaker
- Tableau des opérations et protocole comme base
- La machine à faire des opérations écoute...
- Trois scripts pour contrôler toutes les opérations
- Données de base pour les activités
- Opérations programmées avec Cronjobs (plugin nécessaire)
- Télécharger le fichier d'exemple pour FileMaker 13 à 16
- Intégrer le moteur d'opérations dans gFM-Business
- Pour transférer des scripts du fichier d'exemple dans votre solution, procédez comme suit
- Pour transférer des tableaux du fichier d'exemple dans votre solution, procédez comme suit
- Pour transférer des listes de valeurs du fichier d'exemple vers votre solution, procédez comme suit
- Pour transférer vos propres fonctions du fichier d'exemple dans votre solution, procédez comme suit
Employé virtuel avec son propre client FileMaker
Le point de départ d'un moteur d'opérations est un propre PC Mac ou Windows avec un client FileMaker installé. Dans FileMaker, seul un modèle (aut.Vorgänge) est appelé avec un Déclencheur de script a été ajouté. Dès que dans la Tableau de la mise en page opérations aut. un nouvel enregistrement est créé, le moteur de l'opération commence à traiter l'opération fournie dans l'enregistrement.
Tableau des opérations et protocole comme base
Pour pouvoir exécuter des opérations et les enregistrer en tant que protocole, vous avez d'abord besoin de deux nouvelles tables de données :
- Opérations (1 enregistrement = 1 opération à traiter pour la machine à opérations)
- Journal des opérations (1 enregistrement = 1 opération traitée par la machine à opérations)
Le tableau Opérations ne contient normalement pas d'enregistrements et est remplie par script au moment où la machine à faire les opérations doit exécuter une certaine opération. Dès que l'opération est exécutée, un nouvel enregistrement est créé dans le journal et l'enregistrement est enregistré dans la table Opérations supprimé à nouveau.
La machine à faire des opérations écoute...
Pour que le moteur d'opérations soit informé en temps réel qu'une nouvelle opération doit être exécutée, nous avons besoin d'un modèle correspondant, qui contient des enregistrements de la table Opérations s'affiche à l'écran. Dans notre fichier d'exemple, cette mise en page s'appelle opérations aut.. Cette mise en page possède une fonction de mise en pageScript-Déclencheur (SurChargementEnregistrement) qui exécute le script de traitement de l'opération dès qu'un nouvel enregistrement est présent dans la table Opérations se trouve.
Si un nouvel enregistrement est ajouté à la table Opérations est ajouté, le moteur de l'opération exécute automatiquement le script lay.machine d'opération avec le déclencheur de script trigger.Layout de la machine. Pour cela, il faut que la machine à opérations se trouve sur toute la période sur le layout opérations aut. car seul ce layout dispose du déclencheur de script configuré.
Sur le moteur d'opérations, vous pouvez d'ailleurs faire en sorte que le client accède directement au modèle opérations aut. change d'utilisateur. Pour ce faire, définissez dans FileMaker Pro sur la machine de l'opération un utilisateur distinct pour la machine de l'opération en tant qu'utilisateur par défaut (Fichier > Options de fichier, "Se connecter avec). Si votre solution dispose d'un script de démarrage, vous pouvez maintenant facilement intercepter l'utilisateur pour le moteur d'opérations et utiliser une construction comme par exemple :
Si (Obtenir (NomCompte) = "Machine à opérations")
Aller à la mise en page ["aut.Vorgänge" ]
Fin (Si)
Veuillez noter que depuis la plate-forme FileMaker 16, l'impression et la création de fichiers PDF sont également possibles dans WebDirect. Par conséquent, si vous utilisez FileMaker Serveur 16 et FileMaker Pro 16 et que vous souhaitez uniquement générer des impressions ou des fichiers PDF dans WebDirect, la solution présentée ici n'est peut-être plus nécessaire pour votre solution.
Trois scripts pour contrôler toutes les opérations
Notre solution FileMaker d'exemple contient trois scripts qui permettent de contrôler facilement toutes les opérations :
lay.machine d'opération - Ce script est exécuté par le moteur d'opérations dès que, dans la table Opérations un nouvel enregistrement a été créé. L'appel se fait via le layout opérations aut. avec le déclencheur de script de mise en page mentionné ci-dessus. La partie concernant l'exécution des opérations a été ajoutée au script avec le paramètre trigger.Layout de sorte qu'il est possible d'utiliser ce script avec d'autres paramètres pour d'autres tâches.
Comme la commande que le moteur d'opérations doit exécuter se trouve directement dans la base de données Opérations vous pouvez définir n'importe quelle commande d'opération et la faire exécuter dans ce script. Le principe de base est toujours le même :
Si [ Obtenir(ParamètreScript) = "trigger.Layout" ]
Le script ne s'exécute que s'il est associé au paramètre de script trigger.Layout est appelé.
Si [ Opérations::Commande = "Envoyer données" ]
Le script suivant ne sera exécuté que si la commande transmise Envoyer des données est le suivant.
Votre démarche
Ici, vous pouvez programmer une opération de votre choix
Supprimer un enregistrement/une requête [Avec dialogue : Désactivé]
Supprime l'enregistrement traité de la table Opérations
Exécuter le script ["ts.Journal des opérations" ; paramètres : ... ]
Insère un nouvel enregistrement dans le journal des opérations en tenant compte de toutes les variables présentes dans le script.
Fin (si)
Fin (si)
ts.enregistrer_opération - Ce script vous permet de saisir une opération de votre choix dans la table Opérations dans le menu déroulant. Vous pouvez donc appeler ce script à partir de n'importe quel endroit de votre base de données. Toutes les commandes utilisées peuvent également être placées dans FileMaker Go ou être exécuté dans WebDirect. Dans notre exemple, le script prend quatre paramètres de script : Commande, E-mail, ID de données et le nom d'utilisateur. Ces quatre paramètres sont simplement ajoutés au cours du script en tant que nouvel enregistrement dans la table Opérations est enregistré. Vous pouvez bien entendu étendre ce script de manière individuelle et transmettre par exemple d'autres clés comme un ID d'offre, un ID de facture ou un ID de client. Dans ce cas, vous devez compléter la table Opérations et étendre également le journal des opérations à ces champs respectifs.
La structure du script est très simple : Dans la première partie, les paramètres du script (séparés par une apostrophe) sont écrits dans des variables. Pour ce faire, nous utilisons dans notre base de données d'exemple la variable Fonction personnalisée "Colonnes de chaînes". Vous pouvez également utiliser une autre technologie pour cela et transmettre les paramètres sous forme de liste normale, par exemple, que vous pouvez lire dans le script à l'aide de la fonction "HoleWert ()".
ts.journal des opérations - Une fois que le script ts.enregistrer_opération un nouvel enregistrement dans la table Opérations et que la machine de l'opération se trouve sur le layout opérations aut. l'opération est automatiquement exécutée par le script lay.machine d'opération et l'enregistrement de la table Opérations est supprimé. Le script ts.journal des opérations avec des variables identiques est appelé pour créer un nouvel enregistrement dans le journal des opérations. La structure du script est en grande partie identique à celle du script ts.enregistrer_opération, à la différence que l'enregistrement est stocké dans le journal et non dans la table Opérations est généré.
Données de base pour les activités
Dans certains cas, vous avez besoin de données de base supplémentaires pour une opération, par exemple pour pouvoir envoyer des documents par e-mail. Vous voudrez par exemple prédéfinir l'objet et le texte d'un e-mail correspondant. Dans ce but, nous avons créé dans notre exemple de solution le tableau de données Fiche d'opération a été créée. Chaque enregistrement de cette table correspond aux données de base d'une opération. La valeur du champ nom_opération correspond au nom d'une opération, tel qu'il est également défini par le script ts.enregistrer_opération est utilisé.
Caractères de remplacement optionnels pour les e-mails
Si nécessaire, vous pouvez définir des caractères de remplacement dans les textes modèles "Objet de l'e-mail" et "Texte de l'e-mail", que vous pouvez remplacer par des données réelles dans les sous-scripts du script "lay.machine à opérations". Dans notre exemple de script, les deux textes sont envoyés par SQL-Query dans les variables $email_sujet et $email_text est écrite. Si vous souhaitez par exemple remplacer un caractère de remplacement {nom_client} dans un modèle de texte, étendez la requête SQL dans ces deux définitions de variables avec la commande 'Remplacer ( )' :
Variable définir [$email_text ; Valeur : Remplacer ( SQL-Query ; "{nom_client}" ; Table::Nom_client) ]
De cette manière, vous pouvez utiliser autant de caractères de remplacement que vous le souhaitez dans vos modèles de courriels, que vous pouvez définir dans les définitions de variables pour les variables $email_sujet et $email_text remplacer facilement par des données réelles.
Opérations programmées avec Cronjobs (plugin nécessaire)
Nous avons en outre doté notre fichier d'exemple de moteur d'opérations de la possibilité de traiter des tâches cron programmées. La date de début et de fin, l'heure souhaitée ainsi que l'intervalle peuvent être définis dans la base de données des opérations. Pour utiliser cette fonction, il faut utiliser le Plugins MBS FileMaker est nécessaire, car la commande 'FM.RunScript' est requise. Il est également possible d'utiliser la commande 'BE_ExecuteScript' du logiciel gratuit Plugins BaseElements peuvent être utilisés.
Configuration du script de surveillance sur la machine de l'opération
Toutes les tâches cron sont exécutées par le script cron.machine d'opération que vous pouvez appeler toutes les dix minutes, par exemple, à l'aide d'un script de minuterie. Dans notre exemple de solution, nous avons ajouté un script cron.Timerscript qui permet d'exécuter le script cron.machine d'opération se déclenche toutes les 600 secondes, c'est-à-dire toutes les 10 minutes. Vous pouvez par exemple intégrer ce script dans le script de démarrage de votre solution en demandant le nom de l'utilisateur, de manière à ce que le timer soit lancé automatiquement lorsque l'utilisateur de la machine à opérations est connecté.
Le script cron.machine d'opération passe d'abord à la mise en page Fiche d'opération et appelle toutes les tâches cron actives. Une boucle d'exécution commence alors, dans laquelle il est vérifié pour chaque tâche cron trouvée si une exécution est due. Si c'est le cas, la tâche cron correspondante est exécutée.
Pour les cronjobs, vous pouvez définir l'exécution de n'importe quels scripts et, le cas échéant, des paramètres de script correspondants. Un cronjob n'exécute donc pas de scripts partiels du script lay.machine d'opération mais vous pouvez définir n'importe quel script et ses paramètres pour un cronjob dans la base de données des demandes. Un cronjob peut donc théoriquement exécuter n'importe quel script de votre solution FileMaker de manière programmée.
Télécharger le fichier d'exemple pour FileMaker 13 à 16
Notre fichier d'exemple contient tous les scripts mentionnés dans l'article pour une intégration dans vos propres solutions FileMaker. La table "Table de données" contenue dans l'exemple est fournie uniquement à des fins de démonstration et doit correspondre à des tables de données de votre propre solution FileMaker.
Intégrer le moteur d'opérations dans gFM-Business
Dans le cadre d'une licence ouverte, vous pouvez également intégrer sans problème cet exemple de moteur de processus dans le système ERP gFM-Business. Les propriétaires d'une licence de gFM-Business Custom peuvent nous demander d'intégrer la fonctionnalité d'un moteur de traitement des opérations dans leur solution.
Pour transférer des scripts du fichier d'exemple dans votre solution, procédez comme suit
Les scripts peuvent être facilement transférés d'une solution FileMaker à une autre via le presse-papiers. Il suffit d'ouvrir la boîte de dialogue Gérer les scriptsSélectionnez le script souhaité à l'aide de la souris et copiez le script dans le presse-papiers via le menu [Modifier - Copier] ou combinaison de touches [Ctrl/Cmd-C]. Ouvrez ensuite la même boîte de dialogue dans la solution cible et insérez le script copié précédemment en utilisant simplement la commande de menu [Modifier - Insérer] de nouveau.
Pour transférer des tableaux du fichier d'exemple dans votre solution, procédez comme suit
Les tableaux peuvent être insérés de plusieurs manières dans une solution existante. La manière la plus simple est d'importer le tableau en cliquant sur le bouton [Importer...] en dialogue Gérer la base de données. Dans la boîte de dialogue qui suit, il est possible de sélectionner tous les tableaux qui doivent être importés de la solution source. Cette méthode est donc particulièrement adaptée lorsque plusieurs tableaux doivent être importés en même temps. Si un seul tableau doit être importé, il est possible de le faire via le presse-papiers, comme un script. Si une table doit être importée avec toutes ses données, cela peut se faire avec la commande [Fichier/Fichier > Importer des enregistrements > Fichier] doit être effectuée. Dans la boîte de dialogue d'importation, la table cible doit être Nouveau tableau doit être indiqué.
Pour transférer des listes de valeurs du fichier d'exemple vers votre solution, procédez comme suit
Les listes de valeurs peuvent être facilement importées d'une solution FileMaker à une autre via le presse-papiers. Il suffit d'ouvrir la boîte de dialogue sous [Fichier/Documents > Gérer > Listes de valeurs]Sélectionnez l'option souhaitée Liste de valeurs avec la souris et copiez les Liste de valeurs dans le presse-papiers via le menu [Modifier - Copier]ou combinaison de touches [Ctrl/Cmd-C]. Ouvrez ensuite la même boîte de dialogue dans la solution cible et ajoutez la liste de valeurs copiée précédemment à l'aide de la commande de menu [Modifier - Insérer] de nouveau.
Pour transférer vos propres fonctions du fichier d'exemple dans votre solution, procédez comme suit
Dans la boîte de dialogue, cliquez sur [Fichier/Document > Gérer > Mes fonctions...] sur le bouton [Importer] et sélectionnez ensuite le fichier d'exemple. Dans la boîte de dialogue qui suit, sélectionnez les fonctions personnalisées souhaitées et confirmez la boîte de dialogue. Veuillez noter que cette fonction n'est disponible que dans FileMaker Pro Advanced, et non dans FileMaker Pro.

Markus Schall développe depuis 1994 des bases de données individuelles, des interfaces et des applications commerciales sur la base de Claris FileMaker. Il est partenaire de Claris, lauréat du FMM-Award 2011 et développeur de la Logiciel ERP gFM-Business. Il est en outre auteur de livres et fondateur du M. Schall Verlags.



