Welcome to the LimeSurvey Community Forum

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

Conditions : changer le comportement "and" en "or" lors de l'ajout de conditions

  • Apouxx
  • Apouxx's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
5 years 2 months ago #179619 by Apouxx
Bonjour à tous,

J'aimerai savoir s'il est possible de modifier le comportement de Limesurvey concernant les conditions.

Je dois, pour un soucis d'évolutivité du questionnaire, mettre les conditions en graphique dans "Fixer les conditions".

Cependant, j'aimerai pouvoir mettre un "or" et non un "and" imposé entre 2 conditions qui ne correspondent pas à la même question.

Est-ce possible de m'indiquer l'endroit où je peux modifier celà ?

Merci à vous,
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 years 2 months ago #179629 by DenisChenu
Via le GUI : il faut utiliser les scénarios manual.limesurvey.org/Setting_conditions..._different_questions

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
  • Apouxx
  • Apouxx's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
5 years 2 months ago - 5 years 2 months ago #179631 by Apouxx
Oui ! Je m'en suis aperçu juste après... du coup j'ai changé les ID des scenarios en base.

Je suis confronté à un autre problème qui est la mise à jour du filtre conditionnel par rapport aux conditions du GUI qui ne se fait pas correctement étant donné que j'ai rajouté directement les conditions dans la table "limesurvey_conditions"... j'ai essayé de redémarrer le serveur de bdd, rajouter une condition sur le groupe, rajouter une condition dans une question pour voir si il y avait une tache automatisée mais rien ne se passe...

Les conditions s'affichent bien sur le GUI pour autant.
Je suis sous SQL Server.

Il y a-t-il un moyen de forcer la mise à jour de ce filtre ?

Merci,
Last edit: 5 years 2 months ago by Apouxx.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 years 2 months ago #179633 by DenisChenu
A mon avis : la solution de les modifier directement dans la BDD est totalement pas sure …

As tu essayé de supprimer une des conditions ?
Puis de la rajouter (à chaque fois en enregitrant/validant)

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
  • Apouxx
  • Apouxx's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
5 years 2 months ago #179637 by Apouxx
Oui, j'ai tout essayé.

Ce qui a marché c'est dans "réordonner les questions". j'ai changé la position de certaines questions et les filtres se sont mis à jour comme par magie.
The topic has been locked.
  • LouisGac
  • LouisGac's Avatar
  • Visitor
  • Visitor
5 years 2 months ago #179639 by LouisGac
on a un rapport de bug sur le sujet:
bugs.limesurvey.org/view.php?id=14281

mais il semblerait que cela vienne de l'utilisation simultanée d'une équation de validation et du designer de conditions.

Quoi qu'il en soit, voilà le bout de code où est décidé si il s'agit d'un "and" ou d'un "or":

github.com/LimeSurvey/LimeSurvey/blob/ma...action.php#L430-L438

C'est en effet un peu obscur. Grosso-modo, si les conditions d'un même scénario porte sur une même question, alors elles sont associées via "OR".

En effet, on comprend bien que l'énoncé:
Code:
si Q1=="toto" ET Q1=="tata"

n'est jamais vrai. Donc par défaut, cela sera :
Code:
si Q1=="toto" OU Q1=="tata"

Il y a bien sur des cas où un ET serait approprié, notamment quand les comparaisons avec des variables, mais dans ce cas là un peu de calcul propositionnel pour transformer les conditions devrait permettre de résoudre le problème.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 years 2 months ago - 5 years 2 months ago #179648 by DenisChenu

LouisGac wrote: …
C’est en effet un peu obscur. Grosso-modo, si les conditions d’un même scénario porte sur une même question, alors elles sont associées via "OR".

Oui, quand le correctif a été apporté : si une condition portée sur la même valeur (avec un AND à ce moment-là) : boucle infinie.

Sinon, ce comportement est indiqué ici : manual.limesurvey.org/Setting_conditions...ndition_combinations

Et clairement : on ne peut avoir de AND sur une même valeur : c’est impossible.

Je vais jeter un œil sur le rapport.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Last edit: 5 years 2 months ago by DenisChenu.
The topic has been locked.
  • Apouxx
  • Apouxx's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
5 years 2 months ago #180024 by Apouxx
Pour la mise à jour du filtre conditionnel par rapport au GUI :

Je viens d'effectuer la manipulation du ré ordonnancement des questions car j'ai dû changer les conditions dans le GUI en base étant donné que j'en ai plus de 750 (si je dois le faire directement du GUI ça va me prendre 3 semaines) et il semblerait que cela ne fonctionne pas toujours car les filtres ne se sont pas mis à jour.

Donc ce que je fais, je redémarre le SQL Server, je supprime un filtre conditionnel en base, je supprime une condition dans un des GUI des questions et au bout d'un moment les filtres se mettent à jour en fonction du GUI...

Je pense que c'est un peu aléatoire lorsque l'on change le GUI directement dans lime_conditions.

Il y a forcément une action à faire pour que le GUI mettent à jour les filtres conditionnels ?
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 years 2 months ago #180041 by DenisChenu
Je pensais que cela se faisait dès que l'on mettais à jour une des conditions.

Mais tu as raison : si réordonner les questions casse les conditions il faut qu'elle soit recalculés ausi à ce moment là.

je ne me sers que trés trés peu de la GUI pour les conditions.

Une autre solutions pour les recacluler : export/importer le fichier lss.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose