32 lines
1.7 KiB
Markdown
32 lines
1.7 KiB
Markdown
|
|
# `subworkflow` — Anderen Workflow einbetten
|
||
|
|
|
||
|
|
**Zweck:** Lädt eine zweite Workflow-XML (Name ohne `.xml` aus dem Workflow-Verzeichnis) und führt sie synchron im laufenden Workflow aus — inklusive Wartezuständen. Sub- und Parent-Workflow teilen sich keinen Ausführungsstatus, dieselbe XML kann also mehrfach eingebettet werden. Variablen werden per `<pass>` hinein- und per `<return>`/`merge_prefix` herausgereicht.
|
||
|
|
|
||
|
|
**Parameter**
|
||
|
|
|
||
|
|
| Name | Pflicht? | Default | Beschreibung |
|
||
|
|
|---|---|---|---|
|
||
|
|
| `xml` | ja | — | Name der Sub-Workflow-Definition (ohne `.xml`). |
|
||
|
|
| `<pass><var name="…">wert</var></pass>` | nein | — | Eingangsvariablen für den Sub-Workflow. Ohne `<pass>` erbt er den gesamten Parent-Kontext. |
|
||
|
|
| `<return><var name="…" from="…"/></return>` | nein | — | Rückgabevariablen: `from` = Name im Sub-Kontext (Default: wie `name`), `name` = Zielname im Parent-Kontext. |
|
||
|
|
| `merge_prefix` | nein | — | Hängt alternativ/zusätzlich den kompletten Sub-Kontext mit diesem Präfix in den Parent-Kontext. |
|
||
|
|
|
||
|
|
**Eingangswerte:** Parent-Kontext (komplett geerbt) plus explizite `<pass>`-Variablen.
|
||
|
|
|
||
|
|
**Ausgangswerte:** Die `<return>`-Variablen bzw. alle Sub-Variablen unter `<merge_prefix>…`. Wartezustände (inkl. `assign_to`) werden aus dem Sub-Workflow durchgereicht. Hinweis: Der Sub-Workflow erscheint nicht als eigener Eintrag im Dashboard — dafür stattdessen einen regulären Workflow-Start nutzen.
|
||
|
|
|
||
|
|
```xml
|
||
|
|
<task type="subworkflow" id="freigabe">
|
||
|
|
<config>
|
||
|
|
<xml>freigabe-modul</xml>
|
||
|
|
<pass>
|
||
|
|
<var name="betrag">{{summe}}</var>
|
||
|
|
</pass>
|
||
|
|
<return>
|
||
|
|
<var name="freigabe_decision" from="decision" />
|
||
|
|
<var name="freigabe_comment" from="comment" />
|
||
|
|
</return>
|
||
|
|
</config>
|
||
|
|
</task>
|
||
|
|
```
|