Créer une règle
Guide administrateur
Introduction
YellowBox CRM permet de mettre à jour une fiche en particulier ou un ensemble de fiches de la base via des règles de type SQL. Deux types de règles peuvent être paramétrés :
Règle SQL
Ce type de règle permet de saisir une règle SQL complète avec mise à jour d’un ou plusieurs champs à la fois (notion de SET).
Ces règles peuvent être intégrées dans des processus déclenchés manuellement ou automatiquement. Dans le cas de règles SQL non appuyées sur une table particulière (Table = ‘Générique’), il est possible de lancer manuellement une règle sans pour autant qu’elle soit dans un processus.Règle SQL affectée à un champ
Ce type de règle permet de ne mettre à jour que le champ sélectionné en entête via uniquement un select et un where et est jouée à validation de fiche.
Ces règles sont à distinguer des règles de concordance, des règles de calcul, des règles de valeur par défaut et des règles de fiche en lecture seule, gérées au niveau des tables et/ou des champs.
Créer une règle SQL
L’accès au menu permettant de consulter/modifier les règles existantes ou d’en créer de nouvelles est réalisé via le bouton [] en haut à droite du panneau de commande gauche puis en cliquant sur [
Automatismes] puis [
Traitements].
L’onglet ‘Traitements’ est par défaut sélectionné.
Les règles SQL peuvent également être créées directement à partir d’un processus.
Cliquer sur le sous-onglet ‘REGLES’ pour obtenir la liste des règles existantes.
A partir de cette liste, il est non seulement possible de rechercher une règle existante via auto-complétion dans la zone ‘-Toutes règles-’, mais également de filtrer la liste sur les règles impliquant une table en particulier via la zone ‘-Toutes tables-’.
Il est également possible de supprimer une règle en cliquant simplement sur le bouton
[] présent en bout de chacune des lignes de la liste.
Pour ouvrir le détail d’un modèle à partir de la liste, cliquer simplement sur sa ligne.
Pour ajouter un nouvelle règle SQL, cliquer sur le bouton [] présent en haut à droite de la liste, sélectionner le type de règle (Règle SQL ou Règle SQL affectée à un champ) et saisir les informations suivantes :
Onglet - Détail du traitement
Les informations suivantes sont nécessaires :Nom
Table
La table sélectionnée est la table à partir de laquelle la règle peut être jouée.
Il est possible de sélectionner ‘Générique’ en tant que table lorsqu’une règle n’est pas associée à une table en particulier et/ou n’est pas associée à la fiche courante en utilisation. Dans ce cas, la variable ‘##reffiche$$’ n’est pas utilisée pour faire pointer les traitements sur la fiche courante.Requête SQL
(Zone de saisie de la règle)
La règle doit être exprimée sous la forme suivante :
UPDATE Nom_de_la_table SET Nom_du_champ = Valeur WHERE Condition ;
Il est possible de mettre à jour plusieurs champs dans la même règle en séparant les Nom_du_champ = Valeur avec le caractère “,”.
Il est également possible d’utiliser dans le corps des règles des les variables (encadrées par des simples quotes) suivantes :##reffiche$$
Contient la valeur de l’identifiant de la fiche à partir de laquelle la règle est lancée.##userid$$
Renvoie l’Id de l’utilisateur connecté.##id_du_champ$$
Renvoie la valeur du champ dont l’Id est saisi##lat$$
Renvoie la latitude (Y) de la position de l’utilisateur connecté##lng$$
Renvoie la longitude (X) de la position de l’utilisateur connectéPour un champ de type date
La valeur affectée peut contenir ‘date du jour’Pour un champ date heure complète ou un champ heure
La valeur affectée peut être l’heure courante en cochant la case à cochée correspondantePour mettre des lignes d’une règle en commentaire
- Saisir /* en début de commentaire
- Saisir */ en fin de commentaire
- Saisir /* en début de commentaire
Les boutons présents en haut à droite de la zone de saisie de la règle
- [Structure de la base]
Ce bouton permet d’ouvrir un nouvel onglet du navigateur dans lequel sont recensés les tables de la structure, les champs et des relations entre les tables.
Les noms techniques des tables et des champs sont les noms à utiliser dans la formalisation des règles. La notion de relations entre tables est utilisée pour retrouver les liens entre fiches gérées via la table technique 'lienelement'.Liste des tables
Un premier tableau calé à gauche, liste l’ensemble des tables et donne les informations suivantes :Le nom en clair
Le nom visible à l’utilisationLe nom en base
Nom technique (à utiliser dans les règles)L’Id de la table
Lors du clic sur une table en particulier, s’ouvre deux nouveaux tableaux :
Tableau contenant la liste des champs
- ID
Correspond à l’Id du champ en base - Nom
Nom technique du champ en base - Traduction
Nom visible par les utilisateurs - Type
Type de champ (alphanumérique, booleen,…)
- ID
Tableau contenant la liste des relations
Ce tableau correspond à la structure de la tablea ’lienelement’ et affiche pour la table sélectionnée dans le tableau de gauche, l’ensemble des tables avec lesquelles existent des liens, et comment retrouver les relations entre fiches de ces tables.- Table 1
Affiche en clair le nom de la table - Table 2
Affiche en clair le nom de la table - Relation
Affiche la valeur de la relation entre la table 1 et la table 2 qui doit être utilisée dans le champ lienelement.numrelation.
La valeur de cette relation est un seul nombre dans le cas des tables natives, et reprend l’Id de la talbe 1 point l’Id de la table 2 dans les autres cas.
- Table 1
[Tester]
Ce bouton permet de tester la syntaxe de la règle saisie. Ceci ne considère pas les optimisations potentielles.
- [Structure de la base]
Onglet - La liste des processus associés
A partir de cette onglet, il est possible de lister les processus dans lesquels la règle courante est utilisée.
Créer une règle SQL affectée à un champ
Pour ajouter un nouvelle règle SQL affectée à un champ, cliquer sur le bouton [] présent en haut à droite de la liste, sélectionner le type de règle (Règle SQL ou Règle SQL affectée à un champ) et saisir les informations suivantes :
Onglet - Détail du traitement
Les informations suivantes sont nécessaires :- Nom
- Table
La table sélectionnée est la table contenant le champ pour laquelle la règle doit être jouée. - Champ
Sélectionner le champ sur lequel le traitement porte. - Requête SQL
(Zone de saisie de la règle)
La règle doit être exprimée sous la forme suivante :
Valeur WHERE Condition ;
Cas des règles créées avant la version 10.9
Lors de la bascule en version 10.9 de YellowBox CRM, l’ensemble des règles paramétrées ont fait l’objet d’une migration permettant de générer les processus et règles correspondants.
Le détail des traitements opérés par cette migration est accessible dans la documentation des nouveautés 10.9.