1.5 Conditions
Pour créer une condition, dans une règle, faire un clic droit sur Liste des conditions puis cliquer sur Nouvelle condition, ou cliquer sur le bouton Nouvelle condition dans le bandeau supérieur.
1.5.1 Sélection de données
Permet d’effectuer une requête sur une table du modèle de données et de sélectionner les colonnes de retour, ou même de filtrer et classifier une valeur de retour.
- Sélectionner un modèle de données puis une entité du modèle de données.
- Sélectionner les attributs de l’entité qui seront retournés.
- Sélectionner ensuite un opérateur logique.
- Sélectionner ensuite les opérandes désirées. En général, la première opérande sélectionnée est Colonne d’une table, puis une constante ou un contrôle.
- Il est possible d’ordonner les résultats d’une sélection de données (ce qui correspond à l”
order by
en SQL) en fonction d’un attribut. Cliquer sur le nom de la condition puis sur l’icône située à droite de l’écran ou faire un clic droit sur le nom de la condition, et sélectionner Ordonner par.
- Sélectionnez la valeur retournée ou l’attribut sur lequel trier, puis le sens du tri (croissant ou décroissant).
- Le groupement se fait automatiquement en V4 (ce qui correspond au
group by
en SQL).
1.5.2 Si données existent
Teste l’existence d’une ligne de la table choisie dans le modèle de données.
- Sélectionner un modèle de données puis une table du modèle de données.
- Sélectionner un opérateur logique.
- Sélectionner ensuite les opérandes.
L’expression est ainsi créée.
1.5.3 Si
Conditionnelle classique permettant la comparaison entre les différents opérandes de l’application.
- Sélectionner un opérateur logique.
- Sélectionner les opérandes.
L’expression est créée.
1.5.4 Pour chaque
S’effectue sur un jeu de données ou un contrôle à choix multiple, et permet de déclencher une action pour toutes les valeurs du jeu de données (possibilité, à l’aide d’une expression, de sélectionner les valeurs à traiter dans le jeu de données).
La condition Pour chaque correspond à une Sélection de données, mais appliquée à un jeu de données.
-
Sélectionner un jeu de données ou un contrôle à choix multiple.
-
Créer une expression logique et sélectionner les opérandes.
L’expression est créée.
1.5.5 Pour
Permet de compter d’une valeur A vers une valeur B avec un pas prédéfini.
Cette condition correspond à une fonction For en programmation.
- Lors de la création, renseigner le titre, le pas et une description.
- Ensuite, il est nécessaire de renseigner une variable ou un contrôle où sera affectée la valeur retournée par le Pour. La variable peut être créé en cliquant sur – Créer une nouvelle variable –.
- Puis, la première et la dernière valeur sont demandées.
L’expression est ainsi créée.
Dans l’exemple, la règle va boucler de 1 à 100. La valeur courante sera retournée dans Temp i.
Pour éviter les boucles infinies, le Pour est désactivé lors de sa création. Penser à le réactiver une fois la règle terminée. Pour cela, faire un clic droit sur la condition puis cliquer sur Activer.
1.5.6 Tant que
Boucle s’exécutant tant que la comparaison entre les différents opérandes de l’application est vraie.
-
Renseigner un titre et une description.
-
Ensuite, il faut renseigner une expression. Cliquer sur Créer l’expression, puis sélectionner un opérateur.
-
Renseigner les opérandes.
- Si l’expression retourne la valeur Vrai, alors la boucle continue après l’exécution des actions contenues dans Liste des Actions (Conditions vérifiées). Dans le cas contraire, la boucle s’arrête.
1.5.7 Si prendre le verrou
Condition permettant de savoir si le verrou est pris par l’utilisateur, et de l’affecter s’il n’est pas pris.
La condition prend en paramètre la valeur du verrou (ici l’Id de la personne).
Si :
-
la valeur a déjà été affectée au verrou, alors le Si renvoie Faux : le verrou a déjà été pris pour cette valeur.
-
la valeur n’a pas été affectée au verrou, alors le Si renvoie Vrai et la valeur est affectée au verrou : il est pris pour cette valeur.
1.5.8 Pour chaque feuille valide
Condition permettant d’appliquer un import à toutes les feuilles valides d’un fichier
La variable contiendra le numéro de la feuille valide.
1.5.9 Selon
La condition Selon permet d’exécuter des actions en en définissant les cas possibles. Là où une condition de type Si offre un choix binaire Condition vérifiée / Condition non-vérifiée, la condition Selon permet une multitude d’actions possibles selon les cas explicités.
Dans l’exemple, l’opérande est une variable Statut dont la valeur par défaut est En cours.
Cliquer sur la condition puis sur Ajouter un cas. L’exemple présente trois cas sous la forme de variables : En cours (par défaut), Nouveau et Terminé.
Une fois les cas définis, cliquer sur Nouvelle action et définir, pour chaque cas, l’action à effectuer.
Il est possible d’effectuer deux conditions (ou plus) de type Sélectionner les données l’une à la suite de l’autre. Deux éventualités peuvent se présenter :
-
si le connecteur logique entre les deux conditions est un
AND
, alors une requête de jointure sera effectuée entre elles (la deuxième condition s’appuie uniquement sur les résultats de la première, et non sur l’ensemble des valeurs de la table traitée). -
si le connecteur logique entre les deux conditions est un
OR
, un produit cartésien entre les deux résultats sera obtenu (pour chaque ligne retournée dans la première condition, toutes celles de la seconde condition sont considérées).
Il est possible de définir plusieurs Sélections de données les une à la suite des autres ; dans ce cas, la deuxième requête sera exécutée autant de fois qu’il y a de résultats à la première. Attention, cette situation peut être gourmande en termes de performances.
Bien que les différentes conditions imbriquées peuvent se baser sur différents modèles de données, la source de données doit être unique car le système effectue des requêtes qui ne peuvent pas s’interconnecter entre différentes bases.
1.5.11 Conditions Pour chaque imbriquées
Ce cas est géré exactement de la même manière que Sélectionner les données, à la différence près que le composant utilisé ici est un jeu de données (DataSet) et non une table de base de données.
Nous retrouvons donc les opérateurs AND
et OR
qui pourront effectuer une jointure ou un produit cartésien entre les deux jeux de données.