Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Méls de confirmation selon la réponse

  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team & Official Partner
  • LimeSurvey Community Team & Official Partner
More
3 years 7 months ago #221007 by DenisChenu
Replied by DenisChenu on topic Méls de confirmation selon la réponse
"20211015" n 'est pas une date valide …

Justement : tu as un format date/time ( Y-M-D H:i:s) tu souhairte le transformé en plus simpe (Ymd)

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The topic has been locked.
  • Viniasco
  • Viniasco's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
3 years 7 months ago #221022 by Viniasco
Replied by Viniasco on topic Méls de confirmation selon la réponse
Donc l'expression date(ymd,...) est là pour reformater la date saisie qui comporterait des séparateurs, pour être sûr que le valeur soit comparable à 20211015.
J'ai mis le format de date de Q1 sur y-m-d, qui doit être bon puisque c'est ce format qui est dans les bases participants.
Mais la condition sur Q2 ne fonctionne toujours pas.

D'ailleurs, comment mettre cette condition avec le "fixateur" de conditions ? J'ai tenté en choisissant la question Q1 dans le bloc "Question", et dans le bloc "Réponse" ? J'ai choisis "Constant(e)" et mis 2021-10-15, mais ça ne fonctionne pas non plus.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team & Official Partner
  • LimeSurvey Community Team & Official Partner
More
3 years 7 months ago #221050 by DenisChenu
Replied by DenisChenu on topic Méls de confirmation selon la réponse
Je n'utilise jamais l'éditeur de condition

Sinon : il faut tester mais à la base , dans le texte
1. tester {date("Ymd",TOKEN:SENT)}
2. tester {if(date("Ymd",TOKEN:SENT)=="20211015","OK","KO"}

etc … en sachant que tu peux modifier manuellement la date d'envoi pour tes tests.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The topic has been locked.
  • Viniasco
  • Viniasco's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
3 years 7 months ago #221088 by Viniasco
Replied by Viniasco on topic Méls de confirmation selon la réponse
Je crois que l'expression date("ymd"...) n'est pas reconnue par LS.
J'ai donc essayé les 2 expressions en ne gardant que {TOKEN:SENT} à la place. La condition if ne fonctionnait toujours pas, du moins la réponse retournée était KO alors qu'elle aurait dû être OK.
Comme {TOKEN:SENT} affiche la date avec l'heure et les min., j'ai mis {TOKEN:SENT>="20211014","OK","KO"} ce qui devait être vrai même si ma valeur de référence n'indique pas les h:m.
Et avec ça, j'ai bien OK, même si je n'ai pas les - comme séparateur dans la date de référence.

Test ultime avec {if(TOKEN:SENT == "2021-10-15 15:33", "OK", "KO")} alors que la date d'envoi est 2021-10-15 15:34, la réponse est KO, donc bonne.

La comparaison des dates n'est donc pas gênée par les séparateurs, mais exige les h:m, à mois qu'on ne puisse imposer un format ymd, mais sans date("ymd",...).

Du coup, je devrais m'en sortir pour mon questionnaire avec non pas == mais >.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team & Official Partner
  • LimeSurvey Community Team & Official Partner
More
3 years 7 months ago #221090 by DenisChenu
Replied by DenisChenu on topic Méls de confirmation selon la réponse
OK, autre idée pour la date en simplifié/texte comparable facilement

str_replace("-","",substr(TOKEN:SENT,0,10)) ?

Ou pitete j'ai fait une grosse erreur {date("Ymd",strtotime(TOKEN:SENT))} ?

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The topic has been locked.
  • Viniasco
  • Viniasco's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
3 years 7 months ago #221113 by Viniasco
Replied by Viniasco on topic Méls de confirmation selon la réponse

Ou pitete j'ai fait une grosse erreur {date("Ymd",strtotime(TOKEN:SENT))}

C'est bon ! Avec cette expression la comparaison de date se fait sans les h:min.

Je pensais donc enfin parvenir à mes fins, mais ça coince encore quelque part.
Cette expression fonctionne : 
Code:
{if((date("Ymd",strtotime(TOKEN:SENT))=="20211015")AND(Q2.NAOK=="Y"),"Rép1",if((date("Ymd",strtotime(TOKEN:SENT))=="20211015")AND(Q2.NAOK=="N"),"Rép2","Rép.4"))}

Mais plus celle-ci, qui est la première avec une condition en plus :
Code:
{if((date("Ymd",strtotime(TOKEN:SENT))=="20211015")AND(Q2.NAOK=="Y"),"Rép1",if((date("Ymd",strtotime(TOKEN:SENT))=="20211015")AND(Q2.NAOK=="N"),"Rép2",if((date("Ymd",strtotime(TOKEN:SENT))!=20211015")AND(Q2.NAOK=="Y"),"Rép3","Rép.4")))}

Est-ce parce qu'il y a trop de conditions ?
 
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team & Official Partner
  • LimeSurvey Community Team & Official Partner
More
3 years 7 months ago #221129 by DenisChenu
Replied by DenisChenu on topic Méls de confirmation selon la réponse
J'aime pas les condition imbriqué …
join(
if(date("Ymd",strtotime(TOKEN:SENT)=="20211015") AND (Q2.NAOK=="Y"),"Rép1"),
if(date("Ymd",strtotime(TOKEN:SENT)=="20211015") AND (Q2.NAOK=="N"),"Rép2"),
if(date("Ymd",strtotime(TOKEN:SENT)!="20211015") AND (Q2.NAOK=="Y"),"Rép3"),
if(date("Ymd",strtotime(TOKEN:SENT)!="20211015") AND (Q2.NAOK!="Y"),"Rép4"),
"")}

ca donne quoi ?

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The topic has been locked.
  • Viniasco
  • Viniasco's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
3 years 7 months ago #221289 by Viniasco
Replied by Viniasco on topic Méls de confirmation selon la réponse
Aucune réponse en conservant les sauts de ligne, mais Rép1Rép3 avec 
Code:
{join(if(date("Ymd",strtotime(TOKEN:SENT)=="20211015") AND (Q2.NAOK=="Y"),"Rép1"),if(date("Ymd",strtotime(TOKEN:SENT)=="20211015") AND (Q2.NAOK=="N"),"Rép2"),if(date("Ymd",strtotime(TOKEN:SENT)!="20211015") AND (Q2.NAOK=="Y"),"Rép3"),if(date("Ymd",strtotime(TOKEN:SENT)!="20211015") AND (Q2.NAOK!="Y"),"Rép4"),"")}
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team & Official Partner
  • LimeSurvey Community Team & Official Partner
More
3 years 7 months ago #221324 by DenisChenu
Replied by DenisChenu on topic Méls de confirmation selon la réponse
Pour les saut de lignes : utilise le champs dédié … ou désactive l'éditeur HTML

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. - Professional support - Plugins, theme and development .
I don't answer to private message.
The topic has been locked.
  • Viniasco
  • Viniasco's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
3 years 7 months ago - 3 years 7 months ago #221574 by Viniasco
Replied by Viniasco on topic Méls de confirmation selon la réponse
De retour 

Je saisis toutes ces formules sans activer le html. C'est déjà bien assez compliqué comme ça.

Mais à priori la syntaxe de mes conditions imbriquées est bonne, puisqu'elle fonctionne avec 3. À 4 ça bloque, sais-tu s'il y a un nombre d'imbrications maximum ?

Bon appétit
Last edit: 3 years 7 months ago by Viniasco.
The topic has been locked.
  • Viniasco
  • Viniasco's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
3 years 7 months ago #221586 by Viniasco
Replied by Viniasco on topic Méls de confirmation selon la réponse
Je ne trouve pas d'autre explication qu'une limite du nombre de conditions mis à 3, même si l'exemple donné dans cette page  laisse penser qu'il pourrait y en avoir bien plus.
The topic has been locked.
  • Viniasco
  • Viniasco's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
3 years 7 months ago - 3 years 7 months ago #221587 by Viniasco
Replied by Viniasco on topic Méls de confirmation selon la réponse

Ça y est et voici la bonne syntaxe ! Inspirée de ta proposition et de la mienne :
Code:
{if(date("Ymd",strtotime(TOKEN:SENT))=="20211015" AND Q2.NAOK=="Y","RépD",if(date("Ymd",strtotime(TOKEN:SENT))=="20211015" AND Q2.NAOK!="Y","Rép2",if(date("Ymd",strtotime(TOKEN:SENT))!="20211015" AND Q2.NAOK=="Y","Rép3",if(date("Ymd",strtotime(TOKEN:SENT))!="20211015" AND Q2.NAOK!="Y","Rép4"))))}

Il a donc fallu que j'ajoute une 4ème condition pour le dernier cas, alors que je pensais qu'il suffisait de mettre la réponse à donner si les 3 1ères n'allaient pas. Comme dans Excel quoi.
Last edit: 3 years 7 months ago by Viniasco.
The following user(s) said Thank You: DenisChenu
The topic has been locked.
Moderators: Nickkoholchtpartner

Lime-years ahead

Online-surveys for every purse and purpose