Nouvelle options LISTEVALEUR pour les modèles classiques
(Voir NV16N000037 Options dans les modèles de champs)
L'option LISTEVALEUR permet de définir les valeurs possibles pour une colonne, qui sera alors présentée sous forme de liste déroulante (combo). Cela limite les saisies des utilisateurs et améliore ainsi leur expérience.
Syntaxe, dans le champ Options du modèle classique :
LISTEVALEUR= < formule >
Ou
LISTEVALEUR= < chaîne au format csv >
La formule doit renvoyer soit un tableau de valeurs, soit une chaîne au format CSV. Cela déterminera les valeurs affichées dans la liste déroulante, tout en conservant l'ordre d'origine. Si la formule fait référence à une ou plusieurs colonnes, la liste des valeurs sera mise à jour à chaque modification de ces colonnes.
Le format CSV attendu est :
- point-virgule (;) comme séparateur de valeur
- retour chariot (RC) comme séparateur de ligne
- guillemet (") comme délimiteur de chaîne
Si le tableau de valeurs est à deux dimensions, la première colonne représente la valeur stockée, tandis que la deuxième colonne correspond à la valeur affichée. Cela permet de dissocier la valeur réelle de son affichage.

Importants :
- Les options dans les modèles ne doivent pas avoir de retour à la ligne.
- La valeur affichée ne s'applique (pour l'instant) qu'en mode fiche, donc pas en mode liste ou si la colonne est reprise dans l'intitulé.
- Attention au temps d'évaluation de la formule pour ne pas impacter les performances à l'ouverture, ou utilisez l'option LISTEVALEURDELAI.
- Il n'y a pas de vérification de la valeur par rapport à cette liste lors de l'affectation par une opération sur colonne ou lors de la mise à jour par un calcul. (Comme les modèles éléments avec conditions)
Remarques :
- Afin de simplifier la saisie et de tester la formule, il est conseillé de créer un calcul formule recalculé de test dans le formulaire, avec la formule à utiliser.
- Si la valeur stockée n'est pas ou plus disponible dans la liste des valeurs alors elle n'est pas affichée, si elle est en modification l'enregistrement est modifié.
Exemples : (plusieurs possibilités d'initialisation sont possibles)
Avec un modèle de type entier, le nombre de la suite de Fibonacci
• LISTEVALEUR=Tableau(0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89)
Avec un modèle de type texte, les jours ouvrés de la semaine
• LISTEVALEUR="Lundi";"Mardi";"Mercredi";"Jeudi";"Vendredi"
• LISTEVALEUR=Tableau("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi")
Avec un modèle de type date, les jours ouvrés du mois courant
• LISTEVALEUR=TableauDateOuvrée(DébutDeMois(), FinDeMois())
Avec un modèle de type date, les débuts de mois de l'année courante
• LISTEVALEUR=TableauDateJourMois(DébutDAnnée(), FinDAnnée(), 1)
Avec un modèle de type date, les fins de mois de l'année courante
• LISTEVALEUR=TableauDateJourMois(DébutDAnnée(), FinDAnnée(), 31)
Avec un modèle de type entier, note sur 5 avec une valeur affichée de type "x/5"
• LISTEVALEUR="1;""1/5"""+RC+"2;""2/5"""+RC+"3;""3/5"""+RC+"4;""4/5"""+RC+"5;""5 /5"""
• LISTEVALEUR=TransposeTableau(Tableau(Tableau(1, 2, 3, 4 ,5), Tableau("1/5", "2/5", "3/5", "4/5", "5/5")))
• LISTEVALEUR=Tableau(Tableau(1, "1/5"), Tableau(2, "2/5"), Tableau(3, "3/5"), Tableau(4, "4/5"), Tableau(5, "5/5"))
Avec un modèle de type réel, taux de taxe
• LISTEVALEUR=Tableau(Tableau(0.20, "20 %"), Tableau(0.10, "10 %"), Tableau(0.055, "5,5 %"), Tableau(0.021, "2,1 %"), Tableau(0, "Exonéré"))
Avec un modèle de type entier, valeur entre une colonne minium et une colonne maximum
• LISTEVALEUR=TableauNumérique([Colonne valeur min], [Colonne valeur max])
Avec un modèle de type entier, l'année de naissance (maximum 120 ans), à utiliser pour
• LISTEVALEUR=TableauNumérique(Année(), Année()-120) Avec un modèle de type texte, les code postaux d'une ville, ici il peut être bien d'utiliser LISTEVALEURDELAI
• LISTEVALEUR=Tri(TableauJSON(HttpsGet("data.opendatasoft.com/api/records/1.0/se arch/", param : "dataset=laposte_hexasmal@datanova", param : "facet=code_postal", param : "refine.nom_de_la_commune="+Majuscule(RemplaceAccent([Colonne nom de ville]))), "/records/fields/code_postal"), 1)
Mis à jour

