logologo
Démarrer
Manuel
Développement
Plugins
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Démarrer
Manuel
Développement
Plugins
API
logologo
Workflows
Aperçu
Démarrage rapide

Déclencheur

Aperçu
Événement de table de données
Tâche planifiée
Événement avant action
Événement après action
Événement d'action personnalisé
Approbation
Webhook

Nœud

Aperçu

AI

LLM

Contrôle de flux

Condition
Branche multi-conditions
Boucle
Variable
Branche parallèle
Appeler un workflow
Sortie de flux
Mappage de variables JSON
Délai
Fin

Calcul

Calcul
Calcul de date
Calcul JSON

Opération sur les données

Ajouter des données
Mettre à jour les données
Interroger les données
Supprimer les données
Opération SQL

Traitement manuel

Traitement manuel
Approbation
Copie (CC)

Type étendu

Requête HTTP
Script JavaScript
Notification
Envoi d'e-mail
Réponse
Message de réponse
Variable
Journal d'exécution
Gestion des versions
Options avancées

Développement d'extensions

Aperçu
Étendre le type de déclencheur
Étendre le type de nœud
Référence API
Previous PageBranche multi-conditions
Next PageVariable
Avis de traduction IA

Cette documentation a été traduite automatiquement par IA.

#Boucle

This feature is provided by the plugin «Flux de travail : Nœud de boucle»

#Introduction

Une boucle est l'équivalent des structures syntaxiques comme for, while ou forEach dans les langages de programmation. Vous pouvez utiliser un nœud de boucle lorsque vous avez besoin de répéter certaines opérations un nombre défini de fois ou pour une collection de données (un tableau).

#Installation

C'est un plugin intégré, il ne nécessite donc aucune installation.

#Création d'un nœud

Dans l'interface de configuration du flux de travail, cliquez sur le bouton plus (« + ») dans le flux pour ajouter un nœud « Boucle » :

Création d'un nœud de boucle

Après avoir créé un nœud de boucle, une branche interne à la boucle est générée. Vous pouvez ajouter autant de nœuds que vous le souhaitez dans cette branche. Ces nœuds peuvent utiliser non seulement les variables du contexte global du flux de travail, mais aussi les variables locales du contexte de la boucle, comme l'objet de données parcouru à chaque itération de la collection de la boucle, ou l'index du nombre d'itérations (l'index commence à 0). La portée des variables locales est limitée à l'intérieur de la boucle. En cas de boucles imbriquées, vous pouvez utiliser les variables locales de la boucle spécifique à chaque niveau.

#Configuration du nœud

20241016135326

#Objet de la boucle

La boucle traite différemment les différents types de données de l'objet de la boucle :

  1. Tableau : C'est le cas le plus courant. Vous pouvez généralement sélectionner une variable du contexte du flux de travail, comme les multiples résultats de données d'un nœud de requête, ou des données de relation un-à-plusieurs préchargées. Si un tableau est sélectionné, le nœud de boucle parcourra chaque élément du tableau, et à chaque itération, l'élément actuel sera assigné à une variable locale dans le contexte de la boucle.

  2. Nombre : Lorsque la variable sélectionnée est un nombre, celui-ci sera utilisé comme nombre d'itérations. La valeur doit être un entier positif ; les nombres négatifs n'entreront pas dans la boucle, et la partie décimale d'un nombre sera ignorée. L'index du nombre d'itérations dans la variable locale correspond également à la valeur de l'objet de la boucle. Cette valeur commence à 0. Par exemple, si l'objet de la boucle est le nombre 5, l'objet et l'index à chaque itération seront successivement : 0, 1, 2, 3, 4.

  3. Chaîne de caractères : Lorsque la variable sélectionnée est une chaîne de caractères, sa longueur sera utilisée comme nombre d'itérations, traitant chaque caractère de la chaîne par son index.

  4. Autre : Les autres types de valeurs (y compris les types d'objets) sont traités comme un objet de boucle à élément unique et ne boucleront qu'une seule fois. Dans ce cas, l'utilisation d'une boucle n'est généralement pas nécessaire.

En plus de sélectionner une variable, vous pouvez également saisir directement des constantes pour les types nombre et chaîne de caractères. Par exemple, si vous saisissez 5 (type nombre), le nœud de boucle itérera 5 fois. Si vous saisissez abc (type chaîne de caractères), le nœud de boucle itérera 3 fois, traitant respectivement les caractères a, b et c. Dans l'outil de sélection de variables, choisissez le type souhaité pour la constante.

#Condition de la boucle

Depuis la version v1.4.0-beta, de nouvelles options liées aux conditions de boucle ont été ajoutées. Vous pouvez activer les conditions de boucle dans la configuration du nœud.

Condition

Similaire à la configuration des conditions dans un nœud de condition, vous pouvez combiner des configurations et utiliser des variables de la boucle actuelle, telles que l'objet de la boucle, l'index de la boucle, etc.

Moment de la vérification

À l'instar des constructions while et do/while des langages de programmation, vous pouvez choisir d'évaluer la condition configurée avant le début de chaque itération ou après la fin de chaque itération. L'évaluation de la condition après l'itération permet d'exécuter les autres nœuds du corps de la boucle une première fois avant que la condition ne soit vérifiée.

Lorsque la condition n'est pas remplie

À l'instar des instructions break et continue des langages de programmation, vous pouvez choisir de quitter la boucle ou de passer à l'itération suivante.

#Gestion des erreurs dans les nœuds de boucle

Depuis la version v1.4.0-beta, lorsqu'un nœud à l'intérieur de la boucle échoue (en raison de conditions non remplies, d'erreurs, etc.), vous pouvez configurer le flux de travail suivant. Trois méthodes de gestion sont prises en charge :

  • Quitter le flux de travail (comme throw en programmation)
  • Quitter la boucle et continuer le flux de travail (comme break en programmation)
  • Passer à l'objet de boucle suivant (comme continue en programmation)

La valeur par défaut est « Quitter le flux de travail », mais vous pouvez la modifier selon vos besoins.

#Exemple

Par exemple, lorsqu'une commande est passée, vous devez vérifier le stock de chaque produit de la commande. Si le stock est suffisant, déduisez-le ; sinon, mettez à jour le produit dans le détail de la commande comme invalide.

  1. Créez trois collections : Produits <-(1:m)-- Détails de commande --(m:1)-> Commandes. Le modèle de données est le suivant :

    Collection Commandes

    Nom du champType de champ
    Détails de commandeUn-à-plusieurs (Détails de commande)
    Prix total de la commandeNombre

    Collection Détails de commande

    Nom du champType de champ
    ProduitPlusieurs-à-un (Produit)
    QuantitéNombre

    Collection Produits

    Nom du champType de champ
    Nom du produitTexte sur une seule ligne
    PrixNombre
    StockEntier
  2. Créez un flux de travail. Pour le déclencheur, sélectionnez « Événement de collection » et choisissez la collection « Commandes » pour déclencher « Après l'ajout d'un enregistrement ». Vous devez également configurer le préchargement des données de relation de la collection « Détails de commande » et de la collection « Produits » associées aux détails :

    Nœud de boucle_Exemple_Configuration du déclencheur

  3. Créez un nœud de boucle et sélectionnez l'objet de la boucle comme « Données de déclenchement / Détails de commande », ce qui signifie qu'il traitera chaque enregistrement de la collection Détails de commande :

    Nœud de boucle_Exemple_Configuration du nœud de boucle

  4. À l'intérieur du nœud de boucle, créez un nœud « Condition » pour vérifier si le stock du produit est suffisant :

    Nœud de boucle_Exemple_Configuration du nœud de condition

  5. Si le stock est suffisant, créez un nœud « Calcul » et un nœud « Mettre à jour l'enregistrement » dans la branche « Oui » pour mettre à jour l'enregistrement du produit correspondant avec le stock déduit calculé :

    Nœud de boucle_Exemple_Configuration du nœud de calcul

    Nœud de boucle_Exemple_Configuration du nœud de mise à jour du stock

  6. Sinon, dans la branche « Non », créez un nœud « Mettre à jour l'enregistrement » pour mettre à jour le statut du détail de commande en « invalide » :

    Nœud de boucle_Exemple_Configuration du nœud de mise à jour du détail de commande

La structure globale du flux de travail est la suivante :

Nœud de boucle_Exemple_Structure du flux de travail

Une fois ce flux de travail configuré et activé, lorsqu'une nouvelle commande est créée, le stock des produits dans les détails de commande est automatiquement vérifié. Si le stock est suffisant, il est déduit ; sinon, le produit dans le détail de commande est mis à jour comme invalide (afin qu'un prix total de commande valide puisse être calculé).