Documentation en ligne

La répétition des actions d'un statut de workflow

⚙️ Accès dans le BO :
Studio > Workflows > 👉 un workflow > 👉 un statut > Options > Répétion

L'option Répétition permet d'exécuter les actions d'un statut en boucle,  fonction d'un ensemble de valeurs issues d’une liste multiple, d’une requête ou des occurrences d’un bloc de champs.
 

capture d’écran de la page de configuration

Paramétrer la répétition des actions

Dans les options du statut, onglet Répétition : 

  1. Indiquez le Gabarit produisant les éléments sur lesquels répéter les actions.
    Pour répéter les actions autant de fois qu'il y a d'éléments dans une liste à choix multiples ou d'occurrences dans un bloc de champs, indiquez simplement la variable du champ concerné, par exemple : {{ form_var_IDENTIFIANT }}.
    Il est également possible d'utiliser les filtres de requêtes, par exemple {{ cards|objects:"slug-modele-fiche"|filter_by:"nom"|filter_value:"entrouvert" }}.
  2. Sélectionnez le Statut cible en fin de répétition.

Récupérer les valeurs d'un champ

Depuis un bloc de champ

Lorsque le gabarit produisant les éléments sur lesquels répéter les actions est un bloc de champ contenant un champ ayant pour identifiant « nom » , la syntaxe {{ status_loop.current_item.nom }} permettra de récupérer la valeur du champ « nom » de l'occurrence en cours d'itération.

Avec un filtre de requête

Lorsque le gabarit produisant les éléments sur lesquels répéter les actions est un filtre de requête permettant par exemple de filtrer des fiches d'un modèle de fiche contenant un champ ayant pour identifiant « courriel », la syntaxe {{ status_loop.current_item|get:"form_var_courriel" }} permettra de récupérer la valeur du champ « courriel » de la fiche en cours d'itération.

Comprendre la variable status_loop

Lors de l’exécution des actions, il peut être utile d'accéder à l’élément en cours de traitement. Cet élément est disponible via la variable status_loop.current_item. Par exemple, pour une liste à choix multiples contenant les valeurs A et B, {{ status_loop.current_item }} renverra A lors de la première itération et B lors de la seconde.

La variable status_loop offre également des informations utiles sur l'itération en cours :

  • {{ status_loop.index }} : renvoie le numéro de l’itération, en commençant à compter à 1.
  • {{ status_loop.index0 }} : renvoie le numéro de l’itération, en commençant à compter à 0.
  • {{ status_loop.first }} : retourne True si l’itération est la première.
  • {{ status_loop.last }} : retourne True si l’itération est la dernière.

Outils de test

Dans l'inspection des données d'une demande, vous avez accès à l'outils de test qui permet de tester les valeurs retournées.

Et aussi...

Sur la page principale du workflow, dans la liste des statuts, une icône permet de distinguer les statuts sur lesquels une répétition est configurée.

capture du statut avec son icône de répétition

Dans le schéma du workflow il sera indiqué lorsqu'une une répétition est configurée et que le saut correspond à une fin de répétition.

Schéma où on voit la répétition et le saut pour en sortir

Dernière mise à jour le 03/12/2024 09:25 — Éditer