Variables dynamiques (DynVars) : Différence entre versions

De YoWiki
Sauter à la navigation Sauter à la recherche
Ligne 28 : Ligne 28 :
 
* Les valeurs des variables dynamiques peuvent être un nombre, une valeur booléenne (true / false), une chaîne de caractère, une date, une liste … puisque c'est la réponse d'une [SmartExpresions] ;
 
* Les valeurs des variables dynamiques peuvent être un nombre, une valeur booléenne (true / false), une chaîne de caractère, une date, une liste … puisque c'est la réponse d'une [SmartExpresions] ;
  
= Mise en place =
+
= Intégration via un tableur =
 +
 
 +
* Créer une feuille nommée <code>Dynvars "mainstore"</code> dans un tableur, avec trois colonnes nommée : ''"ID", "Formule", "Type"''.
 +
 
 +
* Chaque ligne de la feuille correspond à une Variable Dynamique ;
 +
 
 +
* La colonne ''ID'' définie le nom de la variable Dynamique (selon les règles de [[[DataStore#Id_de_la_variable|nommage des variables du Datastore, voir ici]]) ;
 +
 
 +
* La colonne ''Formule'' doit contenir la formule de la variable Dynamique (selon la syntaxe des SmartExpressions, améliorée par quelques spécificités des Variables Dynamiques, tel que [les instructions de boucle] ;
 +
 
 +
* La colonne ''Type'' doit contenir le terme "<code>dynvar</code>" ou "<code>source</code>" (voir plus bas) ;
  
<h2>Création d'une feuille Dynvars</h2>
 
Le fichier de paramétrage doit contenir une feuille nommée <code>Dynvars "mainstore"</code>
 
 
[[Fichier:Capture d’écran 2019-08-22 à 11.27.17.png|thumb|néant|250px|Dynvars mainstore]]
 
[[Fichier:Capture d’écran 2019-08-22 à 11.27.17.png|thumb|néant|250px|Dynvars mainstore]]
  
Cette feuille doit contenir trois colonnes :
 
 
[[Fichier:Capture d’écran 2019-08-22 à 11.28.32.png|900px|thumb|néant]]
 
[[Fichier:Capture d’écran 2019-08-22 à 11.28.32.png|900px|thumb|néant]]
  

Version du 6 mai 2021 à 15:29

Cette page est encore en cours de rédaction

Vous y trouverez néanmoins les informations essentielles concernant les Dynvars. En cas de problème, contactez votre chef de projet

Introduction

Une variable dynamique est une variable dont la valeur n'est pas figée, mais calculée à partir d'une formule.

À la différence des variables de saisie, dont la valeur est fixée (lors du remplissage d'un champ de formulaire par exemple), la valeur d'une Variable Dynamique est calculée, en fonction d'une formule, lorsque l'on fait mention à elle.


Exemple :

  • Soit une variable "PRIX_HT", associée à un champ numérique dans un formulaire.
  • Soit une variable dynamique nommée "PRIX_TTC" avec pour formule PRIX_HT * 1.20 .
  • Alors, si l'utilisateur a complété le champ avec le nombre "50" (donc "PRIX_HT" vaut 50.0), et la variable "PRIX_TTC" vaudra 60.0.
    Dés lors que l'utilisateur modifiera le champ associé à "PRIX_HT", alors la valeur de "PRIX_TTC" s'en trouvera impactée : sa valeur n'est pas figée mais dynamique.


Notez que :

  • Les variables dynamiques n'ont pas de type prédéfini (chaîne, nombre, date...) mais, afin de ne pas complexifié l'usage de ces variables, il est recommandé d'uniformiser les types des différentes valeurs que peut renvoyer une variable dynamique ;
  • Le nom d'une variable dynamique (son identifiant) répond à la même [norme de nommage que celle des variables du Datastore (voir ici)](DataStore#Id_de_la_variable) ;
  • La formule d'une variable dynamique est dans un format [SmartExpresions], avec quelques particularités spécifiques aux Variables Dynamiques, telle que les [Instructions de boucle] ;
  • Les valeurs des variables dynamiques peuvent être un nombre, une valeur booléenne (true / false), une chaîne de caractère, une date, une liste … puisque c'est la réponse d'une [SmartExpresions] ;

Intégration via un tableur

  • Créer une feuille nommée Dynvars "mainstore" dans un tableur, avec trois colonnes nommée : "ID", "Formule", "Type".
  • Chaque ligne de la feuille correspond à une Variable Dynamique ;
  • La colonne ID définie le nom de la variable Dynamique (selon les règles de [[[DataStore#Id_de_la_variable|nommage des variables du Datastore, voir ici]]) ;
  • La colonne Formule doit contenir la formule de la variable Dynamique (selon la syntaxe des SmartExpressions, améliorée par quelques spécificités des Variables Dynamiques, tel que [les instructions de boucle] ;
  • La colonne Type doit contenir le terme "dynvar" ou "source" (voir plus bas) ;
Dynvars mainstore
Capture d’écran 2019-08-22 à 11.28.32.png

ID

ID : c'est le nom de la Dynvar

- Les Dynvars doivent respecter les mêmes règles syntaxiques que les Variables, à savoir :

- Le nom de la variable doit être en majuscules

- Les espaces ne sont pas autorisés. Pour marquer un espace, on préférera donc les tirets du bas qui eux sont autorisés : _

Les accents & et caractères spéciaux ne sont pas non plus autorisés.

Formule

Formule : c'est la formule utilisée pour donner une valeur à cette Dynvar

ID de la source

ID de la source : pour l'instant, une seule valeur est possible (et obligatoire) ici : dynvar

Cas d'usages

Introduction : Les Dynvars reposent sur une syntaxe spécifique nommée SmartExpressions : vous trouverez des informations plus détaillée sur la page dédiée.

Cette page présente uniquement les SmartExpressions basiques les plus utilisées dans les Dynvars.

Pour plus d'informations et de précisions sur la syntaxe, rendez-vous sur la page dédiée.

Opérations mathématiques

Les Dynvars peuvent servir à effectuer des opérations mathématiques, en utilisant les opérateurs basiques, comme par exemple :

Dans cet exemple, une variable PRIX_HT est multipliée par 1.20 pour obtenir un prix TTC

Il est possible d'effectuer des opérations mathématiques entre plusieurs variables, et aussi entre plusieurs Dynvars.

Liste des opérateurs mathématiques pouvant être utilisés : *+-/

Factorisation du raisonnement

On peut aussi prévoir qu'une Dynvar prenne pour valeur TRUE ou FALSE en fonction de la valeur d'autres variables

Par exemple :

Si une des deux variables vaut "france", alors la variable FISCALITE_FR vaudra "vrai".

Cette formule signifie : la Dynvar nommée FISCALITE_FR vaudra TRUE si NATIONALITE_ACHETEUR ou NATIONALITE_VENDEUR est égal à "france"

Il sera donc possible d'utiliser la Dynvar FISCALITE_FR dans des Visible Ifs, ou même dans les formules d'autres Dynvars.

Utilisation des Dynvars pour stocker des chaînes de caractères

Coming Soon