logologo
Start
Handbuch
Entwickler
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
Start
Handbuch
Entwickler
Plugins
API
logologo
Workflow
Überblick
Schnellstart

Trigger

Überblick
Tabellen-Events
Geplante Aufgaben
Pre-Action-Event
Post-Action-Event
Benutzerdefinierte Action-Events
Genehmigung
Webhook

Knoten

Überblick

Künstliche Intelligenz (KI)

Large Language Model (LLM)

Ablaufsteuerung

Bedingung
Mehrfachverzweigung
Schleife
Variablen
Parallele Zweige
Workflow aufrufen
Workflow-Ausgabe
JSON-Variablen-Mapping
Verzögerung
Ende

Berechnung

Berechnung
Datumsberechnung
JSON-Berechnung

Datenoperationen

Daten erstellen
Daten aktualisieren
Daten abfragen
Daten löschen
SQL-Operation

Manuelle Aufgabe

Manuelle Aufgabe
Genehmigung
CC

Typen erweitern

HTTP-Request
JavaScript-Skript
Benachrichtigung
E-Mail senden
Antwort
Antwortnachricht
Variablen
Ausführungsprotokoll
Versionsverwaltung
Erweiterte Optionen

Erweiterungsentwicklung

Überblick
Trigger-Typen erweitern
Knoten-Typen erweitern
API-Referenz
Previous PageMehrfachverzweigung
Next PageVariablen
KI-Übersetzungshinweis

Diese Dokumentation wurde automatisch von KI übersetzt.

#Schleife

This feature is provided by the plugin «Workflow: Schleifen-Knoten»

#Einführung

Eine Schleife entspricht Programmiersprachen-Konstrukten wie for, while oder forEach. Sie können einen Schleifen-Knoten verwenden, wenn Sie bestimmte Operationen eine bestimmte Anzahl von Malen oder für eine Daten-Sammlung (Array) wiederholt ausführen müssen.

#Installation

Dies ist ein integriertes Plugin und erfordert keine Installation.

#Einen Knoten erstellen

In der Workflow-Konfigurationsoberfläche klicken Sie auf das Plus-Symbol („+“) im Ablauf, um einen „Schleife“-Knoten hinzuzufügen:

Schleifen-Knoten erstellen

Nachdem Sie einen Schleifen-Knoten erstellt haben, wird ein interner Zweig für die Schleife generiert. Sie können in diesem Zweig beliebig viele Knoten hinzufügen. Diese Knoten können nicht nur Variablen aus dem Workflow-Kontext verwenden, sondern auch lokale Variablen aus dem Schleifen-Kontext. Dazu gehören beispielsweise das Datenobjekt, das in jeder Iteration der Schleifen-Sammlung verarbeitet wird, oder der Index der Schleifen-Anzahl (der Index beginnt bei 0). Der Gültigkeitsbereich lokaler Variablen ist auf die Schleife beschränkt. Bei verschachtelten Schleifen können Sie die lokalen Variablen der jeweiligen Schleife auf jeder Ebene verwenden.

#Knoten-Konfiguration

Knoten-Konfiguration

#Schleifen-Objekt

Die Schleife verarbeitet verschiedene Daten-Typen des Schleifen-Objekts unterschiedlich:

  1. Array: Dies ist der häufigste Fall. Normalerweise können Sie eine Variable aus dem Workflow-Kontext auswählen, wie zum Beispiel die mehreren Daten-Ergebnisse eines Abfrage-Knotens oder vorab geladene 1:n-Beziehungsdaten. Wenn ein Array ausgewählt wird, durchläuft der Schleifen-Knoten jedes Element im Array. Bei jeder Iteration wird das aktuelle Element einer lokalen Variable im Schleifen-Kontext zugewiesen.

  2. Zahl: Wenn die ausgewählte Variable eine Zahl ist, wird diese Zahl als Anzahl der Iterationen verwendet. Der Wert der Zahl muss eine positive ganze Zahl sein; negative Zahlen führen nicht zu einer Schleife, und der Dezimalteil einer Zahl wird ignoriert. Der Index der Schleifen-Anzahl in der lokalen Variable ist auch der Wert des Schleifen-Objekts. Dieser Wert beginnt bei 0. Wenn die Zahl des Schleifen-Objekts beispielsweise 5 ist, sind das Objekt und der Index in jeder Schleife nacheinander: 0, 1, 2, 3, 4.

  3. Zeichenkette: Wenn die ausgewählte Variable eine Zeichenkette ist, wird deren Länge als Anzahl der Iterationen verwendet, wobei jedes Zeichen der Zeichenkette nach Index verarbeitet wird.

  4. Andere: Werte anderer Typen (einschließlich Objekt-Typen) werden nur als Schleifen-Objekt für eine einmalige Verarbeitung behandelt und die Schleife wird nur einmal durchlaufen. In der Regel ist in diesem Fall keine Schleife erforderlich.

Neben der Auswahl einer Variable können Sie für Zahlen- und Zeichenketten-Typen auch Konstanten direkt eingeben. Geben Sie beispielsweise 5 (Zahlen-Typ) ein, wird der Schleifen-Knoten 5 Mal durchlaufen. Geben Sie abc (Zeichenketten-Typ) ein, wird der Schleifen-Knoten 3 Mal durchlaufen, wobei die Zeichen a, b und c einzeln verarbeitet werden. Wählen Sie im Werkzeug zur Variablen-Auswahl den gewünschten Typ für die Konstante aus.

#Schleifen-Bedingung

Ab Version v1.4.0-beta wurden Optionen für Schleifen-Bedingungen hinzugefügt. Sie können Schleifen-Bedingungen in der Knoten-Konfiguration aktivieren.

Bedingung

Ähnlich der Bedingungs-Konfiguration in einem Bedingungs-Knoten können Sie Konfigurationen kombinieren und Variablen aus der aktuellen Schleife verwenden, wie zum Beispiel das Schleifen-Objekt, den Schleifen-Index usw.

Prüfzeitpunkt

Ähnlich den while- und do/while-Konstrukten in Programmiersprachen können Sie wählen, ob die konfigurierte Bedingung vor jeder Schleifen-Iteration oder nach jeder Schleifen-Iteration ausgewertet werden soll. Eine nachträgliche Bedingungs-Auswertung ermöglicht es, dass die anderen Knoten innerhalb des Schleifen-Körpers einmal ausgeführt werden, bevor die Bedingung geprüft wird.

Wenn die Bedingung nicht erfüllt ist

Ähnlich den break- und continue-Anweisungen in Programmiersprachen können Sie wählen, ob die Schleife beendet werden soll oder ob die nächste Iteration fortgesetzt werden soll.

#Fehlerbehandlung in Schleifen-Knoten

Ab Version v1.4.0-beta können Sie bei einem Fehler in einem Knoten innerhalb der Schleife (z. B. wenn Bedingungen nicht erfüllt sind oder ein Fehler auftritt) den weiteren Ablauf konfigurieren. Es werden drei Verarbeitungs-Methoden unterstützt:

  • Workflow beenden (wie throw in der Programmierung)
  • Schleife beenden und Workflow fortsetzen (wie break in der Programmierung)
  • Nächstes Schleifen-Objekt fortsetzen (wie continue in der Programmierung)

Standardmäßig ist „Workflow beenden“ ausgewählt. Sie können dies bei Bedarf ändern.

#Beispiel

Wenn beispielsweise eine Bestellung aufgegeben wird, muss der Lagerbestand für jedes Produkt in der Bestellung geprüft werden. Ist der Lagerbestand ausreichend, wird er abgezogen; andernfalls wird das Produkt in der Bestell-Position als ungültig aktualisiert.

  1. Erstellen Sie drei Sammlungen: Produkte <-(1:n)-- Bestell-Positionen --(n:1)-> Bestellungen. Das Daten-Modell sieht wie folgt aus:

    Sammlung „Bestellungen“

    Feld-NameFeld-Typ
    Bestell-Positionen1:n (Bestell-Positionen)
    Bestell-GesamtpreisZahl

    Sammlung „Bestell-Positionen“

    Feld-NameFeld-Typ
    Produktn:1 (Produkt)
    MengeZahl

    Sammlung „Produkte“

    Feld-NameFeld-Typ
    Produkt-NameEinzeiliger Text
    PreisZahl
    LagerbestandGanze Zahl
  2. Erstellen Sie einen Workflow. Wählen Sie als Auslöser „Sammlungs-Ereignis“. Wählen Sie die Sammlung „Bestellungen“ und den Auslöser „Nach Datensatz hinzugefügt“. Sie müssen außerdem die Beziehungsdaten der Sammlung „Bestell-Positionen“ und der Sammlung „Produkte“ unter den Positionen vorab laden:

    Schleifen-Knoten_Beispiel_Auslöser-Konfiguration

  3. Erstellen Sie einen Schleifen-Knoten. Wählen Sie als Schleifen-Objekt „Auslöser-Daten / Bestell-Positionen“. Das bedeutet, dass jede Datenzeile in der Sammlung „Bestell-Positionen“ verarbeitet wird:

    Schleifen-Knoten_Beispiel_Schleifen-Knoten-Konfiguration

  4. Innerhalb des Schleifen-Knotens erstellen Sie einen „Bedingungs“-Knoten, um zu prüfen, ob der Lagerbestand des Produkts ausreichend ist:

    Schleifen-Knoten_Beispiel_Bedingungs-Knoten-Konfiguration

  5. Ist der Lagerbestand ausreichend, erstellen Sie im „Ja“-Zweig einen „Berechnungs-Knoten“ und einen „Datensatz aktualisieren“-Knoten, um den berechneten, abgezogenen Lagerbestand im entsprechenden Produkt-Datensatz zu aktualisieren:

    Schleifen-Knoten_Beispiel_Berechnungs-Knoten-Konfiguration

    Schleifen-Knoten_Beispiel_Lagerbestand aktualisieren-Knoten-Konfiguration

  6. Andernfalls erstellen Sie im „Nein“-Zweig einen „Datensatz aktualisieren“-Knoten, um den Status der Bestell-Position auf „ungültig“ zu aktualisieren:

    Schleifen-Knoten_Beispiel_Bestell-Position aktualisieren-Knoten-Konfiguration

Die gesamte Workflow-Struktur ist wie folgt dargestellt:

Schleifen-Knoten_Beispiel_Workflow-Struktur

Nachdem Sie diesen Workflow konfiguriert und aktiviert haben, wird beim Erstellen einer neuen Bestellung automatisch der Lagerbestand der Produkte in den Bestell-Positionen geprüft. Ist der Lagerbestand ausreichend, wird er abgezogen; andernfalls wird das Produkt in der Bestell-Position als ungültig aktualisiert (damit ein gültiger Bestell-Gesamtpreis berechnet werden kann).