2. Comprendre les mécanismes
2.1 Fonctionnement de l'assistant de création
Accès au module : Projets Conception
L'assistant de création de formulaire a généré automatiquement les écrans d'insertion et de modification des données, ainsi que les comportements d'exécution associés.
Les écrans générés sont visibles depuis le module Conception de l'application, dans le sous-module IHM : Concevoir les écrans en cliquant sur l'un des dossiers de la liste des écrans à gauche.
Les écrans sont classés par dossier
L'assistant a également créé les déclencheurs permettant d'associer des actions aux boutons présents sur les écrans. L'écran Contact comporte deux boutons : Nouveau et Importer. En cliquant sur le bouton Mode création, il est possible de basculer sur la vue permettant de modifier le contenu de l'écran. Sur la gauche se trouve la liste des contrôles présents sur l'écran Contact. Cliquer sur Centre pour voir les contrôles présents sur la partie centrale de l'écran : les boutons Nouveau et Importer ainsi que le tableau des contacts. Cliquer sur btnNew Nouveau pour afficher les déclencheurs associés au bouton.
Un déclencheur exécutant deux actions est associé au bouton
Le déclencheur À la validation exécute des actions lorsque l'utilisateur clique sur le bouton Nouveau. Les actions associées ont également été créées par l'assistant de création et sont les suivantes:
- Set variables insertion and clear selection Contact
- Goto screen form contact
Faire un clic droit sur l'une des deux actions puis cliquer sur Aller vers.
Redirection vers le module de gestion des comportements depuis le module de création d'écran
Le nouvel écran présente la liste des comportements utilisés par l'application. Ils ont tous été créés par l'assistant de création de formulaire. Un comportement comporte une ou plusieurs règles.
Une règle est un ensemble de conditions et d'actions. Dans la capture ci-dessus, la règle Set variables insertion and clear selection Contact ne comporte aucune condition mais contient deux actions d'affectation de variables :
- la première affecte une valeur nulle à la variable id contact via l'utilisation d'une constante vide ;
- la deuxième affecte la valeur false à la variable Consult contact.
Le deuxième comportement associé au bouton Nouveau est une redirection vers l'écran Form contact.
L'écran Form contact est celui qui permet de saisir un nouveau contact via un formulaire. Le bouton Sauvegarder de cet écran est associé à des règles d'insertion et de mise à jour de lignes dans une base de données.
Cette règle permet d'enregistrer la saisie du contact dans la base
Déclencheurs à l'initialisation : L'écran Contact comporte également un déclencheur de type À l'initialisation qui permet de remplir le tableau avec les données des contacts lors du chargement de l'écran.
Le tableau des contacts n'est pas directement rempli avec les données du modèle de données MDD Formation, mais utilise à la place un jeu de données créé par l'assistant.
Les jeux de données sont constitués de champs faisant la plupart du temps référence à des colonnes de tables du modèle de données. Leur fonctionnement est donc très similaire à une table de base de données. Ils ont pour utilité de s’associer à un tableau, une liste ou autre, et ainsi de pouvoir obtenir une représentation de plusieurs lignes d’une table dans ces contrôles.
Pour voir ou modifier le jeu de données associé au tableau des contacts, faire un clic droit sur le tableau en mode Création puis cliquer sur Modifier. Les propriétés du contrôle s'affichent dans une colonne à droite de l'écran. Cliquer sur l'onglet pour accéder à la gestion du jeu de données.
Gestion du jeu de données associé au tableau des contacts
Il est possible de modifier le jeu de données et de sélectionner les attributs à afficher ou non.
Pour savoir quelles entités utilisent un contrôle, faire un clic droit sur le contrôle et cliquer sur Hiérarchie d'appels.
La hiérarchie d’appel est une fonctionnalité qui permet de consulter rapidement les éléments liés au composant sélectionné. Elle peut être utilisée sur toutes les entités d’une application (modèle de données, écran, contrôles, boite de message, service métier, etc.). La hiérarchie d’appel peut être utilisée de manière descendante (consulter les éléments qui utilisent le composant) via l'onglet Hiérarchie des appelants ou ascendante (consulter les éléments utilisés par le composant) via l'onglet Hiérarchie des appelés.
2.2 Le débogueur
Accès au module : Projets Conception
Ontomantics fournit un module de débogage avancé qui permet de modifier n’importe quel élément de l’application pendant l’exécution de celle-ci. Il est accessible en exécutant l'application depuis le module Projets : sélectionner Application Formation, puis cliquer sur Déboguer l’application.
Le bandeau situé en bas de l’écran affiche tous les boutons du débogueur. Cliquer sur un bouton ou sur l’icône pour afficher le cadre de débogage. Cliquer sur permet de le minimiser à nouveau.
Le débogueur est scindé en deux parties :
- le cadre de gauche contenant :
- une console permettant de consulter le journal de l'application ;
- la liste des derniers comportements exécutés ;
- des boutons de contrôle de l'exécution de l'application (recharger, interrompre, reprendre, etc.) ;
- un onglet présentant les rôles qui n'est présent que si l'application contient des rôles applicatifs.
- le cadre de droite contenant :
- la liste des variables locales qui affiche tous les composants de l’écran courant avec leur valeur, lorsqu’aucun événement n’est exécuté. Si un comportement est en cours d’exécution, le cadre affiche les valeurs actuelles des variables de la règle courante. Un champ de recherche permet de filtrer les composants affichés ;
- un onglet Environnement qui affiche les valeurs de l'ensemble des composants de l'application ;
- un onglet Observer qui affiche les valeurs du composant sélectionné ;
- un onglet Points d'arrêt qui affiche les actions ou conditions sur lesquelles ont été définis des points d’arrêts. Ces points permettent de définir les endroits où l’on veut mettre en pause un comportement ;
- un bouton Sélectionner un contrôle qui permet d'analyser en temps réel le comportement d'un contrôle via l'onglet Observer.
2.3 Ajout manuel d'un champ
Accès au module : Projets Conception
Nous allons à présent ajouter un champ Numéro SIRET dans le modèle de données, puis dans le formulaire d'ajout d'un tiers ainsi que dans la liste des tiers de l'application. Il faudra ensuite aller modifier le comportement créé par l'assistant (insertion et modification).
Cliquer sur le modèle de données MDD Formation depuis le projet Formation. Faire un clic droit sur l'entité Tiers, puis cliquer sur Nouvel attribut. Renseigner le titre numero_siret, et sélectionner le type Integer (Entier). Cliquer sur Sauvegarder pour valider la saisie de l'attribut.
Attention ! Penser à cliquer sur Mettre à jour le déploiement pour resynchroniser le modèle à la base de données.
Retourner sur le module Conception de l'application, puis dans la liste des écrans, cliquer sur l'écran Tiers. Dans le cadre de droite, cliquer sur Mode création pour pouvoir modifier l'écran.
Dans la liste des contrôles de l'écran à gauche, faire un clic droit sur le contrôle TableTiers puis cliquer sur Modifier. Le cadre des propriétés du tableau s'affiche à droite. Cliquer sur l'onglet Données puis sur Modifier le jeu de données >>.
Le module de gestion des jeux de données s'affiche à l'écran. Le jeu de données du tableau des tiers est sélectionné. Faire un clic droit dessus, puis cliquer sur Ajouter un champ au jeu de données. Renseigner le titre Numero siret et sélectionner le type Entier, puis cliquer sur Sauvegarder.
Pour que le nouveau champ soit pris en compte lors du remplissage du jeu de données, il est nécessaire que le comportement associé soit modifié. Dans le bandeau en haut de l'écran, cliquer sur l'icône Gérer les comportements. Dans la liste des comportements du nouvel écran, cliquer sur Load table Tiers puis sur la règle Populate table Tiers. Dans le cadre central, cliquer sur Déplier pour voir la règle en entier. Dans la liste des conditions, cliquer sur Liste des valeurs retournées (7). Cocher le champ numero_siret puis cliquer sur Sauvegarder.
Il faut enfin modifier l'action de remplissage du jeu de données. Dans la liste des actions, cliquer sur Liste des champs (7) et cocher Numero siret Entier et cliquer sur Sauvegarder.
Le numéro de Siret est apparu dans la liste des champs de l'action. Cliquer sur l'icône située sous le champ Numero siret Entier. Dans le cadre de droite, cliquer en haut sur Ajouter un opérande. Sélectionner le type d'opérande Valeur retournée par une sélection de données puis cliquer sur numero_siret et cliquer sur Sauvegarder.
La règle de remplissage du jeu de données prend désormais en compte le champ Numéro de Siret.
Revenir ensuite au module de création de l'écran via la flèche Précédent à gauche de Gérer les jeux de données. Le champ nouvellement créé Numero siret est apparu dans la liste des attributs du tableau. Cocher la case Visible de l'attribut puis cliquer sur Sauvegarder pour qu'il apparaisse en tant que colonne du tableau.
Cliquer sur Quitter le mode création. Dans la liste des écrans à gauche, cliquer sur l'écran Form tiers. Basculer en mode création. Sur la gauche de l'écran, cliquer sur l'onglet Boîte à outils. Sélectionner le contrôle Saisie de texte en le déplaçant depuis la boîte à outils vers l'écran de formulaire. Relâcher le clic à l'endroit où le contrôle doit apparaître.
Les contrôles de type Saisie de texte sont automatiquement accompagnés d'un champ Label qui permet d'afficher le texte à côté du champ de saisie. Faire un clic droit sur le label, puis cliquer sur Modifier. Le cadre des propriétés du contrôle s'affiche à droite. Dans le champ Valeur initiale, saisir Numéro Siret~:. C'est ce texte qui sera affiché à côté du champ de saisie.
Faire ensuite un clic droit sur le champ de saisie de texte, puis sur Modifier . Le cadre des propriétés du contrôle s'affiche à droite. Dans le champ Titre, saisir Numéro siret. Ce champ permettra d'identifier plus facilement le contrôle dans le module de gestion des comportements.
Une fois le numéro Siret ajouté dans le modèle de données et dans les IHM, il est nécessaire d'aller modifier le comportement d'insertion et de modification d'un tiers créé par l'assistant.
La fonction de hiérarchie d'appel peut aider à identifier le comportement à modifier. Faire un clic droit sur l'un des autres champs de saisie du formulaire, et cliquer sur Hiérarchie d'appel. Un popup affiche les règles qui manipulent le champ de saisie.
Les règles Load screen from Tiers et Update or create row Tiers utilisent les champs de saisie de l'écran. La première sert à charger l'écran de formulaire. La seconde sert à insérer ou mettre à jour les valeurs saisies depuis le formulaire dans la base de données. Cliquer sur la règle Load screen from Tiers pour être redirigé vers le module de gestion des comportements.
Dans le cadre central de l'écran, cliquer sur Déplier pour voir l'ensemble de la règle. La règle Load screen from Tiers est composée d'une condition Si et d'une action exécutée lorsque la condition est vérifiée. Cette action appelle elle-même une sous-règle comprenant une condition et six actions d'affectation de contrôle dans le cas où la condition est vérifiée, et quatre actions exécutées dans le cas contraire. Les six actions correspondent aux six contrôles du formulaire. Nous allons mettre à jour la condition d'exécution et ajouter une action aux six précédentes afin d'affecter le contrôle Numéro Siret.
Dans la liste des conditions, cliquer sur Liste des valeurs retournées. Cocher l'attribut numero_siret Integer et cliquer sur Sauvegarder. La condition a été mise à jour pour prendre en compte le numéro de Siret.
Faire un clic droit sur Liste des actions si conditions vérifiées (1) et cliquer sur Nouvelle action. Sélectionner le type d'action Affecter un contrôle puis sélectionner l'écran Form Tiers puis le contrôle Numéro siret (attention : sélectionner le contrôle et non le label). Cliquer sur Sauvegarder.
Dans le cadre à droite de l'écran, cliquer sur Ajouter un opérande. Sélectionner le type Valeur retournée par une sélection de données puis sélectionner la valeur numero_siret. Cliquer sur Sauvegarder.
La liste des actions a été mise à jour pour prendre en compte le numéro de Siret. Il s'agit à présent de mettre à jour la règle d'insertion ou de mise à jour de données en base.
Dans la liste des comportements à gauche de l'écran, cliquer sur Update or create row Tiers. Cliquer ensuite sur la règle du même nom, juste en-dessous. Dans le cadre central de l'écran, cliquer sur Déplier pour voir l'ensemble de la règle.
La règle est constituée d'une condition Si comprenant la variable Id tiers et un opérateur logique Is not null. La condition est donc Si l'identifiant du tiers existe déjà. L'action exécutée lorsque cette condition est vérifiée est une action de mise à jour de lignes dans la base de données. En revanche, si la condition n'est pas vérifiée (si l'identifiant du tiers n'existe pas), l'action exécutée est une action d'insertion de lignes dans la base. Nous allons mettre à jour ces deux actions pour prendre en compte le numéro de Siret.
Cliquer sur Liste des attributs (6) et cocher l'attribut numero_siret. Cliquer sur Sauvegarder. L'attribut a été ajouté à la liste. Cliquer sur l'icône située sous l'attribut dans le cadre central de l'écran, puis cliquer sur Ajouter un opérande dans le cadre de droite. Sélectionner le type d'opérande Contrôle. Sélectionner l'écran Form tiers puis le contrôle Numéro siret, et cliquer sur Sauvegarder.
Répéter l'opération dans l'action située sous Liste des actions si conditions non vérifiées (2) pour mettre à jour la règle d'insertion de lignes en base de données. Cliquer sur Liste des attributs (6) et cocher l'attribut numero_siret. Cliquer sur Sauvegarder. L'attribut a été ajouté à la liste. Cliquer sur l'icône située sous l'attribut dans le cadre central de l'écran, puis cliquer sur Ajouter un opérande dans le cadre de droite. Sélectionner le type d'opérande Contrôle. Sélectionner l'écran Form tiers puis le contrôle Numéro siret, et cliquer sur Sauvegarder.
Les actions d'insertion et de mise à jour du numéro de Siret depuis le formulaire des tiers doivent désormais fonctionner.