Les types de règles
Le système de règles permet d’effectuer des traitements automatiques lorsque surviennent certains événements particuliers, ou de façon planifiée. Pour gérer les règles, cliquer sur ‘Règles’ dans le menu ‘Automatismes’ du paramétrage.
La liste des règles apparaît, comme suit :
METTRE IMAGE
Lorsque plusieurs règles sont paramétrées sur la même table et sur le même évènement déclencheur (validation d’une fiche, suppression…) elles s’exécutent dans l’ordre alphabétique de leur nom.
Règles de concordance
Exemple : Créons une règle sur la table ‘Articles des offres’ qui affecte automatiquement la valeur ‘1’ dans le champ ‘code TVA’ lorsque le champ ‘Taux de TVA’ a pour valeur ‘20’.
Ce type de règle permet donc d’affecter une valeur dans un champ en fonction de la valeur d’un autre champ, les 2 champs étant sur la même table.
Pour cela, Nommez la règle, cocher ‘Actif’ et selectionnez la ‘Table’. Il est en effet possible de désactiver une règle sans la supprimer, en laissant cette case non cochée. Cela permet notamment de créer des règles qui ne s’exécuteront pas seule mais dans le contexte d’un processus par exemple.
Les champs à renseigner sont les suivants: ‘Table’, ‘Champ testé’, ‘Valeur testé’,‘Champ affecté’, ‘Valeur affecté’
Pour répondre au besoin donné en exemple:
- Dans la rubrique ‘ Champ testé ’, sélectionnez ‘Taux TVA’.
- Sélectionnez 20 dans le champ ‘ Valeur testée ’.
- Sélectionnez ‘Code TVA’ dans la rubrique ‘ Champ affecté ’.
- Saisir 1 dans le champ ‘ Valeur affectée ’.
Cliquez ensuite sur le bouton Valider pour enregistrer et quitter la règle.
Règle à validation sur modification de champ
Ce type de règle permet notamment de déclencher un évènement pour, par exemple, informer un utilisateur que la valeur d’un champ a évolué, et éventuellement déclencher un processus.
Exemple : Créons une règle sur la table ‘ Offre ’ qui va stocker dans un champ de type ‘date’, la date du jour, lorsque le champ ‘Etat de l’offre’ est modifié. Pour cela, Nommez la règle, cocher ‘Actif’ et selectionnez la ‘Table’.
Pour répondre au besoin donné en exemple:
- Sélectionnez la table ‘Offres’
- Dans la rubrique ‘ Champ modifié’, sélectionnez ‘Etat de l’offre’.
- Sélectionnez ‘Date de modif de l’état’ dans la rubrique ‘ Champ affecté ’.
- Saisissez ‘ date du jour ’ dans le champ ‘ Valeur affectée ’.
Cliquez ensuite sur le bouton Valider pour enregistrer et quitter la règle.
Règle de fiche en lecture seule
Cette règle permet de rendre une fiche accessible en lecture seulement, sous condition d’une valeur de champ.
Exemple :Créons une règle pour la table ‘ Actions ’ qui rend non modifiable (et donc en lecture seule) toute fiche action réalisée.
Pour cela, Nommez la règle, cocher ‘Actif’ et selectionnez la ‘Table’.
Pour répondre au besoin donné en exemple:
- Sélectionnez le champ qui conditionne la modification de la fiche, dans la liste déroulante à droite de ‘Si’
- sélectionnez la valeur qui doit rendre la fiche non modifiable, dans la liste des valeurs associées au champ ou saisissez là, à droite de ‘est égal à’. Pour les utilisateurs, seul le champ qui conditionne la mise en lecture seule (dans notre exemple, le champ ‘Réalisé’) reste toujours accessible en saisie afin d’éviter le verrouillage irréversible de la fiche.
Cliquez ensuite sur le bouton Valider pour enregistrer et quitter la règle.
Règle de calcul
Les règles de calcul s’appliquent aux champs numériques et s’exécutent lors de la validation.
Pour cela, Nommez la règle, cocher ‘Actif’ et selectionnez la ‘Table’.
Exemple :Créons une règle qui calcule automatiquement le champ ‘Total HT’ d’une offre d’après la somme du champ ‘Total HT’ des Articles des offres liés à l’offre.
- Dans la rubrique ‘ Champ affecté ’, vous devez sélectionner parmi les champs numériques de la table sélectionnée le champ qui recevra le résultat du calcul. Dans notre exemple il s’agit du champ ‘Total HT’ de la table ‘Offre’.
- Dans la rubrique ‘ Table liée ’ choisissez, parmi la liste des tables liées à la première, la table sur laquelle se fera le calcul, dans notre exemple il s’agit de la table ‘ Articles des offres ’.
- Dans la rubrique ‘ Champ concerné par le calcul’ sélectionnez, parmi l’ensemble des champs numériques de cette table, le champ dont les valeurs seront sommées. Dans notre exemple il s’agit du champ ‘Total HT’ de la table ‘Articles des offres’.
- Dans la liste déroulante à droite de ‘Type de calcul’, choisissez ensuite le type d’opération qui doit être effectué parmi celles proposées : Somme, Moyenne, Nombre, Minimum et Maximum. Dans notre exemple il s’agit de Somme.
Cliquez ensuite sur le bouton Valider pour enregistrer et quitter la règle.
Règles SQL
D’autres règles, sous forme de requête SQL, peuvent être programmées pour s’exécuter au moment indiqué dans leur type :
- Requête SQL à la validation d’une fiche
- Requête SQL à la suppression d’une fiche
- Requête SQL à la création d’une fiche
- Requête SQL à l’ouverture d’une fiche
- Requête SQL au démarrage de Yellowbox
- Requête SQL à l’arrêt de Yellowbox
Pour cela, Nommez la règle, cocher ‘Actif’ et selectionnez la ‘Table’.
Si vous souhaitez qu’une règle s’exécute à la validation d’une fiche et à sa suppression, vous devrez créer 2 règles, même si le contenu de la requête est le même, le moment d’exécution sera différent. Cela peut être intéressant par exemple pour le calcul des totaux d’une offre, lorsqu’ils sont basés sur la somme des totaux des articles qui lui sont liés. Si la règle ne s’exécute qu’à la validation des fiches Articles de l’offre, lorsque vous supprimez un des articles, les totaux de l’offre ne se recalculent pas. Pour pallier ce problème, vous devrez créer une 2ème règle de type ‘Requête SQL à la suppression d’une fiche’.
Il est possible de programmer plusieurs requêtes SQL dans une même règle en les séparant par le caractère ‘;’.
Le bouton Structure de la base, permet d’afficher la structure de votre base dans un nouvel onglet de votre navigateur. Vous aurez ainsi notamment les noms des champs et des tables, dont vous aurez besoin pour écrire votre requête SQL.
En cliquant sur Tester, vous simulez l’exécution des requêtes afin de valider leur syntaxe. Le résultat s’affiche alors sous la zone de saisie de la requête.
Une aide accessible via l’option Aide présente des informations sur les requêtes intégrées, notamment sur le mode de récupération de la référence de la fiche que l’on valide.