La construction d’une règle
Une règle est la déclaration d’une condition devant être vérifiée par un document pour progresser vers un état particulier d’un processus.
Dans la modélisation des opérations, il est possible d’ajouter des formules de calcul pour tester un ou plusieurs champs dans un formulaire. Ces formules de calcul sont réalisées par la modélisation de règles sous forme graphique.
Dans notre exemple, nous désirons aiguiller le document incident de façon automatique vers l’état escaladé ou vers l’état clôturé lorsque le Support niveau 1 exécute l’opération traiter.
Pour se faire, insérons dans le formulaire Support un champ “statut” qui permettra à l’utilisateur de choisir une valeur “Incident clos” ou “Incident actif”. En fonction de la valeur choisie par le représentant du support pour ce champ, le document pourra atteindre l’état clôturé ou l’état escaladé. Les objets Bouton radio, Liste, Liste à cocher ou Liste déroulante permettent d’implémenter facilement un tel champ.

Cliquez sur le symbole (+) à) coté de l’item “Règles” dans le panneau des projets pour créer une nouvelle règle.

Choisissez l’objet Expression sur l’onglet des Composants et ajoutez-le à votre Graphe, puis éditez les propriétés de l’objet.


Dans la section Codification des propriétés, cliquez sur l’icône d’édition de l’expression.

Sélectionner le champ “Statut”.
Une formule peut porter sur des champs, des documents, des états, des rôles, des opérations, des processus. En fonction de la portée, workey vous liste les composants éligibles.
Construisez alors votre formule à l’aide des composants éligibles et des fonctions stalk disponible sur le panneau de droite.
Exemple
Cliquer sur le champ Statut dans la colonne. Modifier ensuite l’expression pour spécifier une valeur égale à la chaîne “Actif”.

Choisissez l’objet Succès dans les composants disponibles pour ajouter une action positive, puis éditez les propriétés de l’objet si vous désirez le personnaliser.
Liez l’expression vers l’action grâce à un cliquer-déplacer de la souris, puis éditez les propriétés du lien si vous souhaitez les personnaliser.
Dans la procédure Déclaration et qualification d’un incident, cliquez sur le lien liant l’opération traiter à l’état escaladé pour en éditer les propriétés.

Dans la section Options, cliquez sur l’icône de sélection d’une condition.
Choisissez la règle Statut == “Actif” que vous venez de créer.
Maintenant, créez une deuxième règle de la même façon contenant l’expression Statut == “Clos” et ajoutez-la sur le lien liant l’opération traiter à l’état clôturé.

Composants disponibles :
- Expression : Permet de saisir une expression Stalk.
- ET : Défini une condition de type ET liant deux expressions ou plus qui devront toutes retourner vrai pour que la règle soit vérifiée.
- OU : Défini une condition de type OU inclusif liant deux expressions ou plus. Si une des expression retourne vrai, alors la règle sera vérifiée.
- Succès : Défini un message de succès du contrôle de la règle (retour vrai) qui peut être personnalisé.
- Échec : Défini un message d’échec du contrôle de la règle (retour faux) qui peut être personnalisé.
Une règle est positionnée sur le lien aboutissant à cet état et comporte :
- un nom, par exemple : « risque acceptable »
- une expression logique, décrite dans un graphe propre à cette règle
L’expression logique de la règle doit stipuler un résultat vrai ou faux. Si le résultat est vrai, alors la règle est vérifiée, et l’état concerné est atteignable dans le processus.
Exemple

L’interprétation de cette expression logique est simple : Si le MontantEmprunt est inférieur à 100000, ou s’il est inférieur à 300000 mais que le RevenuClient est plus élevé que 2000, alors la règle est vérifiée.
Sinon, une message d’erreur sera émis. Dans certains cas (opération automatique), ce message ne sera pas visible par l’utilisateur final, ce qui ne change rien au niveau de l’expression de la règle elle-même.
Modélisation d’une règle
La modélisation d’une règle s’effectue soit :
- depuis le panneau de gauche en double cliquant sur “Règles”

- depuis les propriétés d’un lien sortant d’une opération, reportez vous à l’item “option”.
Icônes à votre disposition :

- Visualiser la règle
- Créer une nouvelle règle
- Détacher la règle sélectionnée du lien
- Sélectionner une règle pour l’ajouter au lien
Création d’une expression
Une graphe de règle vide est maintenant à votre disposition.
Depuis l’onglet propriété, nommez votre règle afin de la retrouver plus facilement dans votre dictionnaire.
Une règle est composée d’expression et d’opérateurs.
Placer une expression dans le graphe par glisser/déposer
Depuis la fenêtre de propriété de l’expression :
- préciser un libellé compréhensible
- préciser depuis la section “codification” le contenu de l’expression en cliquant sur l’icône :
Construisez ensuite votre expression à l’aide des différents composants mis à votre disposition en combinant les données du processus et le langage de formule Stalk.

Combiner des expressions à l’aide d’opérateurs logiques
Une règle peut comporter différentes expressions reliées entre elle par des opérateurs logiques.
- créer différentes expressions que vous placer dans la page centrale
- glisser déposer l’opérateur logique de votre choix “ET” “OU”.
- relier l’expression ou les expressions à l’opérateur
- relier éventuellement un opérateur à un autre opérateur

Saisie d’un message dans une expression
La saisie d’un message, permet :
- dans le cas d’une opération avec contrainte de règles : d’afficher ce dernier à l’utilisateur si la règle est vérifiée et d’interdire l’état sur lequel la règle est positionnée.
- dans le cas d’une opération avec état automatique : sans effet.
- dans tous les cas, d’afficher la formule, sur le lien
La saisie d’un message est obligatoire pour valider une règle. Au niveau Web il sera affiché quand l’expression sera vérifiée.
Si la formule est utilisée dans le cadre d’une opération avec contrainte de règle, et que la règle pointe sur un succès alors :
==> le message est affiché à l’utilisateur si la formule n’est pas vérifiée
Si la formule est utilisée dans le cadre d’une opération avec contrainte de règle, et que la règle pointe sur un echec alors :
==> le message est affiché à l’utilisateur si la règle est vérifiée
Si la formule est utilisée dans le cadre d’une opération avec changement d’état automatique, aucun message ne s’affiche :
- si la règle est vérifiée alors, le changement d’état est automatique
- si la règle n’est pas vérifier, évaluation de la prochaine règle
- si aucune règle n’est pas appliquée, alors le message de la dernière règle évaluée sera affichée
Ordre de priorité des règles
Principe
Ce mécanisme permet de préciser l’ordre d’évaluation des formules de règle dans le cadre d’opération avec états automatiques.
Depuis les propriétés du lien qui porte la règle, préciser dans la section “Options” la priorité de la règle par rapport aux autres branches.
La priorité est affichée ensuite sur le lien.

Vérification des règles
Pour pouvoir déployer votre processus sur le serveur de workflow, il est indispensable que vos règles soient syntaxiquement correctes par rapport au langage de formule Stalk.
Pour vérifier vos règles, et donc la cohérence de projet, depuis la barre des menus du projet cliquer sur l’icône :
En cas d’erreur, une fenêtre d’erreur est présentée avec la liste des erreurs.

Double cliquer ensuite sur chaque ligne pour obtenir le détail de l’erreur et corriger en conséquence.