Wiki-Quellcode von Bedingung (Wert prüfen)


Zeige letzte Bearbeiter
1 {{figure image="condition-workflow_de.png" clear="h1" width="400"}}
2 Mithilfe der Bedingung kann im Workflow eine Verzweigung eingebaut werden. Je nach Ergebnis der Bedingungsprüfung werden verschiedene Aktionen ausgeführt. An den beiden Ausgängen der Bedingung kann zudem noch ein Text hinterlegt werden, um die Lesbarkeit einer Workflowkonfiguration zu erhöhen.
3 {{/figure}}
4
5 {{figure image="condition-settings-simple_de.png" clear="h1" width="400"}}
6 Im einfachsten Fall wird in der Bedingung ein Wert mit einem anderen Wert verglichen.
7 {{/figure}}
8
9 {{figure image="condition-settings-advanced_de.png" clear="h1" width="400"}}
10 Auch komplexere Bedingungen sind möglich. Hier werden zwei Einzelbedingung definiert, welche den Namen //c1// und //c2// tragen. Diese beiden Bedingungen werden dann mit einer nutzerdefinierten Verknüpfung verbunden (//c1 or not c2//).
11 {{/figure}}
12
13 {{content/}}
14
15 Mit Steuerelementen vom Typ //Bedingung (Wert prüfen)// kann der Ablauf der Verarbeitung in Abhängigkeit von Formularwerten und andere Inhalten durch die Verwendung von [[Platzhaltern>>doc:Formcycle.UserInterface.Variables]] beeinflusst werden. Diese Elemente erlauben es, den Workflow in zwei Pfade aufzuteilen, je nachdem, ob eine konfigurierte Bedingung sich als wahr oder falsch herausstellt. Durch Verwendung von mehreren Bedingungen in einem Bedingungselement und der Verschachtelung von Bedingungen ist es möglich, auch komplizierte Workflows umzusetzen.
16
17 Das Bedingungselement wird wie eine Aktion im Workflow platziert. Initial sind die beiden Pfade des Elements mit //Ja// und //Nein// beschriftet. Die Beschriftung der Pfade kann aber verändert werden. Dies ist möglich, indem man auf die Bezeichnung klickt, diese anpasst und mit der Enter-Taste bestätigt oder irgendwo außerhalb des Eingabebereichs klickt.
18
19 == Konfiguration ==
20
21 === Bedingung N ===
22
23 Das Bedingungselement kann eine oder mehrere Bedingungen prüfen. Dabei wird jeweils ein zu prüfender Wert, eine Bedingung sowie gegebenenfalls ein Wert der Bedingung benötigt. In den Bedingungen und Werten werden [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] unterstützt, wodurch auch der Inhalt von Formularfeldern und die Ergebnisse vorangegangener Aktionen in der gleichen Verarbeitungskette geprüft werden können. Initial ist bei Steuerelementen vom Typ //Bedingung (Wert prüfen)// nur eine Bedingung vorhanden.
24
25 Bedingungen haben jeweils die folgenden Eingabeoptionen:
26
27 ; Zu prüfender Wert
28 : Der Wert, welcher geprüft werden soll. An dieser Stelle werden [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] verwendet, um den Wert zu ermitteln.
29 ; Bedingung
30 : Zu testende Bedingung. Zur Auswahl stehen die folgenden Optionen:
31 :: Leer
32 :: Nicht leer
33 :: Gleich
34 :: Nicht gleich
35 :: Enthält
36 :: Enthält nicht
37 :: Größer
38 :: Größer oder gleich
39 :: Kleiner
40 :: Kleiner oder gleich
41 :: Beginnt mit
42 :: Beginnt nicht mit
43 :: Endet mit
44 :: Endet nicht mit
45 :: Passt auf regulären Ausdruck
46 :: Passt nicht auf regulären Ausdruck
47 ; Wert der Bedingung
48 : Der für die Prüfung verwendete Wert der ausgewählten Bedingung. Sichtbar, wenn nicht //Leer// oder //Nicht leer// als Bedingung ausgewählt wurde.
49
50 === Hinzufügen einer weiteren Bedingung ===
51
52 Unter der jeweils letzten Bedingung befindet sich eine Schaltfläche //{{ficon name="plus-circle" /}} Bedingung hinzufügen//. Nach dem ersten Klick auf diese Schaltfläche wird unter der ersten konfigurierten Bedingung zudem ein Feld sichtbar, in welchem die [[Verknüpfung>>||anchor="HVerknFCpfungvonBedingungen"]] der Bedingungen konfiguriert werden kann.
53
54 === Löschen von Bedingungen ===
55
56 Wenn mehr als eine Bedingung konfiguriert wurde, können Bedingungen über das {{ficon name="trash-alt2" /}}-Symbol in der Überschriftenzeile der Bedingung gelöscht werden.
57
58 == Verknüpfung von Bedingungen ==
59
60 Um die konfigurierten Bedingungen miteinander zu verknüpfen, stehen 3 Optionen zur Auswahl, von denen eine ausgewählt werden kann:
61
62 ; Alle müssen zutreffen (UND)
63 : Alle an diesem Steuerelement konfigurierten Bedingungen müssen zutreffen, damit der //Ja//-Pfad ausgeführt wird. Ansonsten wird der //Nein//-Pfad ausgeführt. Diese Option ist der Standardwert.
64 ; Eine oder mehr müssen zutreffen (ODER)
65 : Mindestens eine der an diesem Steuerelement konfigurierten Bedingungen muss zutreffen, damit der //Ja//-Pfad ausgeführt wird. Ansonsten wird der //Nein//-Pfad ausgeführt.
66 ; Benutzerdefinierte Verknüfung
67 : Für komplizierte Fälle ermöglicht diese Option die Eingabe von beliebigen logischen Verknüpfungen der konfigurierten Bedingungen. Die zu verwendenden Bedingungen müssen wie folgt eingegefügt werden:
68 :; cN
69 :: Eine Bedingung, zum Beispiel {{code language="none"}}c1{{/code}} oder {{code language="none"}}c3{{/code}}. Die Namen der Bedingungen stehen jeweils in der Überschrift der Bedingung. Zur besseren Übersicht können die Namen der Bedingungen auch durch Klick geändert werden.
70 ::
71 : Zur logischen Verknüfung der Bedingungen können neben Klammern die folgenden Operatoren und Konstanten verwendet werden:
72 :; not
73 :: Negation, welche dem zu negierenden Wert vorangestellt werden muss. Zum Beispiel:
74 :: {{code language="none"}}c1 and not c2{{/code}}
75 ::
76 :: {{code language="none"}}c1 or not (c2 and c3){{/code}}
77 :; and
78 :: UND-Verknüpfung, welche wahr ist, wenn beide verknüpfte Werte wahr sind. Zum Beispiel:
79 :: {{code language="none"}}c1 and c2{{/code}}
80 ::
81 :: {{code language="none"}}c1 and not c2 and c3{{/code}}
82 :; or
83 :: ODER-Verknüpfung, welche wahr ist, einer der beiden verknüpften Werte wahr ist. Zum Beispiel:
84 :: {{code language="none"}}c1 or c2{{/code}}
85 ::
86 :: {{code language="none"}}c1 or c2 or not c3{{/code}}
87 ::
88 :; false, true
89 :: Diese beiden Konstanten stellen die logischen Werte //false// und //true// dar.
90 :; xor, nand, nor, implies, impliedby, equiv, unequiv
91 :: Repräsentiert, in dieser Reihenfolge, die logischen Operatoren [[Kontravalenz>>url:https://de.wikipedia.org/wiki/Kontravalenz]], [[Alternative Verneinung>>url:https://de.wikipedia.org/wiki/NAND-Gatter]], [[Gemeinsame Verneinung>>url:https://de.wikipedia.org/wiki/NOR-Gatter]], [[Materiale Implikation>>url:https://de.wikipedia.org/wiki/Implikation]], [[Gegenläufige Implikation>>url:https://en.wikipedia.org/wiki/Converse_(logic)]], [[Materiale Äquivalenz>>url:https://de.wikipedia.org/wiki/Bikonditional]] und Nicht-Äquivalenz.
92
93 Die Auswertung der Bedingungen erfolgt standardmäßig von links nach rechts. Durch die Verwendung von Klammern kann die Reihengfolge der Auswertung auch beeinflusst werden. Dies könnte wie im folgenden Beispiel aussehen:
94
95 {{code language="none"}}(c1 and not c2) or (c2 and (c3 or c4)){{/code}}