Skip to main content

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.

 

Ajout_condition.png

 

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.

 

Selection_donnees.png

 

  • Sélectionner un modèle de données puis une entité du modèle de données.

 

Selection_donnees_1.png

 

  • Sélectionner les attributs de l’entité qui seront retournés.

 

Selection_donnees_2.png

 

  • Sélectionner ensuite un opérateur logique.

 

Selection_donnees_3.png

 

  • 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.

 

Selection_donnees_4.png

 

  • 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.

 

Ordonner_1.png

 

Ordonner.png

 

  • Sélectionnez la valeur retournée ou l’attribut sur lequel trier, puis le sens du tri (croissant ou décroissant).

 

Ordonner_2.png

 

  • 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.

 

Si_existe.png

 

  • Sélectionner un modèle de données puis une table du modèle de données.

 

Si_existe_1.png

 

  • Sélectionner un opérateur logique.

 

Si_existe_2.png

 

  • Sélectionner ensuite les opérandes.

 

Si_existe_3.png

 

Si_existe_4.png

 

L’expression est ainsi créée.

 

Si_existe_5.png

 

1.5.3 Si

Conditionnelle classique permettant la comparaison entre les différents opérandes de l’application.

 

Si.png

 

  • Sélectionner un opérateur logique.

 

Si_1.png

 

  • Sélectionner les opérandes.

 

Si_2.png

 

Si_3.png

 

L’expression est créée.

 

Si_4.png

 

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.

 

Pour_chaque.png

 

  • Créer une expression logique et sélectionner les opérandes.

 

Pour_chaque_1.png

 

Pour_chaque_2.png

 

L’expression est créée.

 

Pour_chaque_4.png

 

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.

 

Pour.png

 

  • 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 –.

 

Pour_1.png

 

  • Puis, la première et la dernière valeur sont demandées.

 

Pour_2.png

 

Pour_3.png

 

L’expression est ainsi créée.

 

Pour_4.png

 

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.

 

Tant_que.png

 

  • Ensuite, il faut renseigner une expression. Cliquer sur Créer l’expression, puis sélectionner un opérateur.

 

Tant_que_1.png

 

  • Renseigner les opérandes.

 

Tant_que_2.png

 

Tant_que_3.png

 

  • 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.

 

Tant_que_4.png

 

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).

 

If_lock.png

 

If_lock_2.png

 

If_lock_3.png

 

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.

 

If_lock_1.png

 

1.5.8 Pour chaque feuille valide

Condition permettant d’appliquer un import à toutes les feuilles valides d’un fichier

 

Pour_chaque_feuille.png

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.

 

Selon.png

 

Dans l’exemple, l’opérande est une variable Statut dont la valeur par défaut est En cours.

 

Selon_1.png

 

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é.

 

Selon_2.png

 

Une fois les cas définis, cliquer sur Nouvelle action et définir, pour chaque cas, l’action à effectuer.

 

Selon_3.png

Ici, le statut Terminé redirige vers l’écran des services

 

Selon_4.png

Exemple de condition Selon

 

1.5.10 Conditions Sélectionner les données imbriquées

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.