b1fb3efaa1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
34 lines
1.6 KiB
Markdown
34 lines
1.6 KiB
Markdown
# `loop_foreach` — Schleife über eine Liste
|
|
|
|
**Zweck:** Iteriert über ein Array aus dem Kontext und führt die direkt enthaltenen Kind-Tasks pro Element aus. Voll wartefähig: Pausiert der Workflow mitten in einer Iteration (z. B. für eine Benutzeraktion), geht es beim nächsten Trigger exakt dort weiter. Jede Iteration hat einen eigenen Sub-State, damit sich Abschluss-Marker nicht vermischen.
|
|
|
|
**Parameter**
|
|
|
|
| Name | Pflicht? | Default | Beschreibung |
|
|
|---|---|---|---|
|
|
| `items` | ja | — | Quelle der Elemente: Kontext-Array (`{{anlagen}}`), JSON-String oder kommaseparierte Liste. |
|
|
| `as` | nein | `item` | Variablenname des aktuellen Elements im Kontext. |
|
|
| `index_var` | nein | — | Variable für den 0-basierten Index. |
|
|
| `total_var` | nein | — | Variable für die Gesamtanzahl. |
|
|
| Kind-Tasks | ja | — | Beliebige `<task>`-Elemente direkt im Schleifen-Element (analog zu einer Sequenz). `assign_to` an Kind-Tasks wird bei Wartezuständen automatisch übernommen. |
|
|
|
|
**Eingangswerte:** Die referenzierte Liste unter `items`.
|
|
|
|
**Ausgangswerte:** Pro Durchlauf `{{<as>}}` (aktuelles Element); bei Objekt-Elementen zusätzlich flache Felder `{{<as>_feld}}` bzw. `{{<as>.feld}}`; optional `{{<index_var>}}` und `{{<total_var>}}`. Ausgaben der Kind-Tasks landen im Kontext. Leere Liste = Schleife wird übersprungen.
|
|
|
|
```xml
|
|
<task type="loop_foreach" id="alle_anlagen">
|
|
<items>{{anlagen}}</items>
|
|
<as>anlage</as>
|
|
<index_var>i</index_var>
|
|
<total_var>n</total_var>
|
|
|
|
<task type="pdf_stamp_interactive" id="stempel">
|
|
<assign_to>{{ICH.mail}}</assign_to>
|
|
<config>
|
|
<file>{{anlage.pdf_pfad}}</file>
|
|
</config>
|
|
</task>
|
|
</task>
|
|
```
|