Utiliser une variable dans un test conditionnel de scénario

Bonjour à tous
je bloque sur un scénario qui ne veut pas m’évaluer une variable dans la condition SI
variable déclarée :
isMorning qui contient (#time#>=2015 && #time#<2315) || (#time#>=0530 && #time#<0730)
j’ai tenté dans la condition plein de choses :
isMorning
#isMorningLocal#
variable(isMorningLocal)
isMorningLocal == true

Bien évidemment si je mets la formule à évaluer directement dans la condition sans passer par une variable, cela fonctionne…
bref…j’ai un doute sur l’évaluation de la condition avec #time# dedans
Merci d’avance pour vos lumières

[2025-01-05 12:06:47][SCENARIO] **-- Début :** Scenario lance manuellement.
[2025-01-05 12:06:47][SCENARIO] - Exécution du sous-élément de type [action] : action 
[2025-01-05 12:06:47][SCENARIO] Affectation de la variable isMorningLocal => (1206>=2015 && 1206<2315) || (1206>=0530 && 1206<0730) ((1206>=2015 && 1206<2315) || (1206>=0530 && 1206<0730))
[2025-01-05 12:06:47][SCENARIO] Exécution d'un bloc élément : 11
[2025-01-05 12:06:47][SCENARIO] - Exécution du sous-élément de type [condition] : if variable(isMorningLocal,defaut)
[2025-01-05 12:06:47][SCENARIO] Evaluation de la condition : ["(1206>=2015 && 1206<2315) || (1206>=0530 && 1206<0730)"] = (1206>=2015 && 1206<2315) || (1206>=0530 && 1206<0730)
[2025-01-05 12:06:47][SCENARIO] Expression non valide : (1206>=2015 && 1206<2315) || (1206>=0530 && 1206<0730)
[2025-01-05 12:06:47][SCENARIO] Exécution d'un bloc élément : 15 [2025-01-05 12:06:47][SCENARIO] Fin correcte du scénario

Bonjour,

J’ai du remettre en forme pour tenter de comprendre.

Je vois un problème, vous affectez une variable avec des OU… a la limite, vous pouvez comparer avec des OU, mais pas affecter.

Expliquez en Français ce que vous voulez faire et montrez votre scénario.

voici le scénario
isMorning est la condition mais impossible d’intégrer cette variable dans la condition du « SI » sans avoir des erreurs d’évaluation…


Je ne comprend pas.

Vous parlez de variable, une variable c’est pour définir un truc et l’utiliser plus tard
Par exemple :
Nom de la variable 1 affectation 2
=> Donc là, votre variable 1 vaut 2
Donc si vous voulez l’utiliser, vous devez faire :
SI variable(1) = 2 (ce qui est vrais dans mon exemple)

Vous, vous définissez une variable avec un OU dedans
Nom de la variable 2 vaut (truc ou machin)
Et au moment de l’utilisation, elle est non valide (ce que dit le log du scénario)

Pourquoi voulez vous passer par une variable dans ce cas précis ?

Une variable est faite pour stocker une valeur pas une formule.

je vais répliquer cette formule x fois dans les scénarios.
je voulais donc « industrialiser » pour éviter de remettre la formule dans tous les scénarios.
en mettant dans le SI variable(isMorning) cela plante.
Donc , je vais essayer de trouver différemment vu que la variable ne peut pas stocker de la formule en dynamique.
cqfd :wink:
Merci pour l’éclairage

Dans ce cas c’est pas une variable qu’il faut, mais une fonction.

Bonjour,

Regarde du côté des userfunction.

Tu peux définir une fonction isMorning() dans le fichier data/php/user.function.class.php et l’utiliser ensuite où tu veux.

Je vois.
Soit comme l’ont dit d’autres personnes tu passes par une fonction.
Soit, tu fais par exemple un scénario qui va mettre à jour cette variable automatiquement en fonction des critères que tu veux. Perso j’ai un scénario éphéméride qui fait entre autres ça.

c’est effectivement ce que je pensais faire en dernier ressort.
je vais d’abord faire un scénario et tester.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.