Variables dynamiques (DynVars) : Différence entre versions
m (→Type "dynvar") |
|||
(22 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
− | ''Cette page est en cours de rédaction'' | + | <p>''Cette page est encore en cours de rédaction''</p> |
+ | <p>''Vous y trouverez néanmoins les informations essentielles concernant les Dynvars. En cas de problème, contactez votre chef de projet''</p> | ||
− | + | = Introduction = | |
− | Une | + | 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 stockage, dont la valeur est fixée, par exemple, lors du remplissage d'un champ de formulaire, la valeur d'une Variable Dynamique est calculée dés qu'elle est mentionnée. | |
+ | |||
− | < | + | '''Exemple : ''' |
− | Le | + | |
− | [[ | + | * 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 <code>PRIX_HT * 1.20</code> . | ||
+ | |||
+ | * Alors, si l'utilisateur a complété le champ avec le nombre "50" (donc ''"PRIX_HT"'' vaut <code>50.0</code>), et la variable ''"PRIX_TTC"'' vaudra <code>60.0</code>. <br/> 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...). Les valeurs issues d'une variable dynamique peuvent être de type numérique, une valeur booléenne (true / false), une chaîne de caractère, une date, une liste … selon la résolution de la [SmartExpressions]. Notez qu'afin de ne pas trop complexifier l'usage de ces variables, il est recommandé d'uniformiser les types des différentes valeurs que peut renvoyer une variable dynamique. En d'autres termes, une variable dynamique ne devrait jamais renvoyer, parfois une chaîne de caractère, ou parfois un nombre. | ||
+ | |||
+ | * 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 [[SmartExpressions]], avec quelques particularités spécifiques aux Variables Dynamiques, telle que les [[Instructions_de_Boucle_dans_une_Variable_Dynamique_(DynVar_Loop_Statement)|Instructions de boucle]] ; | ||
+ | |||
+ | = 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) ; | ||
− | |||
[[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]] | ||
− | <p>ID : c'est le nom de la Dynvar</p> | + | = ID = |
− | <p>Formule : c'est la formule utilisée pour donner une valeur à cette Dynvar</p> | + | |
− | <p>ID de la source : pour l'instant, une seule valeur est possible (et '''obligatoire''') ici : <code>dynvar</code></p> | + | (à re-redigé) |
+ | |||
+ | <p>'''ID : c'est le nom de la Dynvar'''</p> | ||
+ | <p>- Les Dynvars doivent respecter les mêmes règles syntaxiques que les [[DataStore#Id_de_la_variable|Variables]], à savoir : </p> | ||
+ | <p>- Le nom de la variable doit être en majuscules </p> | ||
+ | <p>- 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 : _</p> | ||
+ | <p>Les accents & et caractères spéciaux ne sont pas non plus autorisés.</p> | ||
+ | </p> | ||
+ | |||
+ | = Formule = | ||
+ | |||
+ | === Type "source" === | ||
+ | |||
+ | Si le type est une <code>source</code>, le contenu de la variable dynamique correspondra au contenu de la liste nommée dans le champ "Formule". | ||
+ | La liste ciblée doit être présente dans le configuration. | ||
+ | Dans ce contexte, la valeur de cette variable dynamique sera toujours du type "list". | ||
+ | |||
+ | === Type "dynvar" === | ||
+ | |||
+ | Si le type est une <code>dynvar</code>, le contenu de la variable dynamique correspondra à la valeur de résolution de la [[SmartExpressions|SmartExpression]]. | ||
+ | |||
+ | Notez qu'il existe un format particulier de formule pour ce type de DynVar : voir les [[Instructions_de_Boucle_dans_une_Variable_Dynamique_(DynVar_Loop_Statement)|Instructions de boucle]]. | ||
+ | Exemple : <code>#map LISTE as L: …</code>. | ||
+ | |||
+ | |||
+ | -- | ||
+ | |||
+ | (Léo : à re-rédiger) | ||
+ | <p>'''Formule : c'est la formule utilisée pour donner une valeur à cette Dynvar'''</p> | ||
+ | <h3>ID de la source</h3> | ||
+ | <p>'''ID de la source :''' pour l'instant, une seule valeur est possible (et '''obligatoire''') ici : <code>dynvar</code></p> | ||
<h1>Cas d'usages</h1> | <h1>Cas d'usages</h1> | ||
<p>'''Introduction :''' Les Dynvars reposent sur une syntaxe spécifique nommée [[SmartExpressions]] : vous trouverez des informations plus détaillée sur la [[SmartExpressions|page dédiée]].</p> | <p>'''Introduction :''' Les Dynvars reposent sur une syntaxe spécifique nommée [[SmartExpressions]] : vous trouverez des informations plus détaillée sur la [[SmartExpressions|page dédiée]].</p> |
Version actuelle datée du 5 mai 2022 à 01:08
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
Sommaire
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 stockage, dont la valeur est fixée, par exemple, lors du remplissage d'un champ de formulaire, la valeur d'une Variable Dynamique est calculée dés qu'elle est mentionnée.
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" vaudra60.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...). Les valeurs issues d'une variable dynamique peuvent être de type numérique, une valeur booléenne (true / false), une chaîne de caractère, une date, une liste … selon la résolution de la [SmartExpressions]. Notez qu'afin de ne pas trop complexifier l'usage de ces variables, il est recommandé d'uniformiser les types des différentes valeurs que peut renvoyer une variable dynamique. En d'autres termes, une variable dynamique ne devrait jamais renvoyer, parfois une chaîne de caractère, ou parfois un nombre.
- 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 SmartExpressions, avec quelques particularités spécifiques aux Variables Dynamiques, telle que les Instructions de boucle ;
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 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) ;
ID
(à re-redigé)
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
Type "source"
Si le type est une source
, le contenu de la variable dynamique correspondra au contenu de la liste nommée dans le champ "Formule".
La liste ciblée doit être présente dans le configuration.
Dans ce contexte, la valeur de cette variable dynamique sera toujours du type "list".
Type "dynvar"
Si le type est une dynvar
, le contenu de la variable dynamique correspondra à la valeur de résolution de la SmartExpression.
Notez qu'il existe un format particulier de formule pour ce type de DynVar : voir les Instructions de boucle.
Exemple : #map LISTE as L: …
.
--
(Léo : à re-rédiger)
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 :
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 :
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