Appeler un autre scénario depuis un bloc code en passant un tag

Bonjour
La réponse est sûrement quelque part, mais ça fait une heure que je cherche dans le forum, sur Internet et dans la doc sans trouver, et chatGPT s’embrouille.

J’ai décidé de passer quelques scénarios choisis en bloc code, plus facile à documenter - y compris dans les tutos éventuels
Depuis un scénario en bloc code, je cherche à appeler un autre scénario (bloc code également) en lui passant un tag
J’ai essayé :

// Lancer un autre scénario avec l’état calculé
$scenarioId = 16;  
$tags = array('#etat#' => $valEtat);
//$tags = array('etat' => $valEtat);
//
$scenarioToLaunch = scenario::byId($scenarioId);
if (is_object($scenarioToLaunch)) {
    $scenarioToLaunch->launch($tags);
    $scenario->setLog("Scénario lancé avec etat=$valEtat");
}

ainsi que

$tags = array('etat' => $valEtat);

Mais dans les 2 cas, le scénario appelé ne reçoit pas de tag, alors qu’il le reçoit bien si je l’appelle avec le même tag depuis un appel scenario de scénario en mode graphique avec tag=blabla

A noter que le setlog me donne la bonne valeur. C’est donc le tag qui n’est pas passé comme il faut.
Si quelqu’un sait comment je dois m’y prendre, il me dépanne pour beaucoup de choses
Merci d’avance

Extrait d’un de mes blocs code.

$scMessage = scenario::byId(239);
$scMessage->setTags($tags);
$scMessage->launch('scenario', 'Lancé par ' . $scenario->getHumanName());

Un autre exemple :

$Etat = $scenario->getData('Etat_Internet');
if ($Etat == 0) {
    $tags['#texte#'] = "CJ|Internet arrêté";
    }
else {
    $tags['#texte#'] = "CJ|Internet OK";
}
$scenario = scenario::byString('#[Informations][Notifications][Envoi_Messages]#');
$scenario->setTags($tags);
$scenario->launch();

Rebonjour
Merci à tous les 2, @Claude69 et @Jeandhom
Ca fonctionne très bien avec vos codes.
Hélas ça ne s’invente pas. Je garde précieusement.
Merci encore une fois

1 « J'aime »

Content d’avoir pu t’aider.
Coche une des deux réponses en solution :wink:

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