InseeFr / Lunatic

Library of questionnaire components
https://inseefr.github.io/Lunatic/
MIT License
20 stars 22 forks source link

2.7 - recalcul des variables avec LIENS ? #832

Closed AnneHuSKa closed 11 months ago

AnneHuSKa commented 11 months ago

Un souci sur le calcul de certaines variables utilisant le concept de LIENS (quand on collecte les liens deux à deux - PAIRWISE). (exemple tiré d'un cas usage TCM) Le json et des data associées en pj

Exemple en 2.7 : image en 2.6 : image

AnneHuSKa commented 11 months ago

Issue832.zip

Grafikart commented 11 months ago

@AnneHuSKa De mon côté je remarque un truc étrange dans le JSON

        {
            "variableType": "CALCULATED",
            "bindingDependencies": ["LIENS"],
            "expression": {
                "type": "VTL",
                "value": "if T_NBHAB > 3 then ( if (\"1\" in LIENS) and (\"3\" ....."
            },
            "name": "T_C_ENF_I",
            "inFilter": "true",
            "shapeFrom": "T_PRENOM"
        },

Je ne comprends pas ici que T_NBHAB ne soit pas en bindingDependencies car il est utilisé dans l'expression. Si je corrige cette erreur le formulaire fonctionne comme attendu.

AnneHuSKa commented 11 months ago

merci @Grafikart, c'est un json issu de la génération par le moteur Eno, donc un sujet à creuser de ce côté. Mais sans le T_NBHAB ca marchait "quand même" en 2.6. Cela te semble cohérent ? merci à toi

@nsenave @laurentC35 pour info pour Eno.

Grafikart commented 11 months ago

@AnneHuSKa Je peux le faire fonctionner en lui demander d'ignorer les bindingDependencies et en les recalculant depuis l'expression (ce qui était fait dans la 2.6 d'après ce que je vois). Cela implique alors que les bindingDependencies ne servent plus à rien (au prix d'un surcout de performance au chargement des variables).

ddecrulle commented 11 months ago

On conclu que c'est une erreur de génération ?

AnneHuSKa commented 11 months ago

Oui, j'ai creusé et ca ne semble que dans ce cas que les bindingDependencies sont insuffisantes (ShapeFrom et utilisation de LIENS). Je créé issue coté Eno. Merci à @Grafikart et @ddecrulle