Wiki-Quellcode von Bedingung (Wert prüfen)


Zeige letzte Bearbeiter
1 {{content/}}
2
3 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.
4
5 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.
6
7 == Konfiguration ==
8
9 === Bedingung N ===
10
11 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.
12
13 Bedingungen haben jeweils die folgenden Eingabeoptionen:
14
15 ; Zu prüfender Wert
16 : Der Wert, welcher geprüft werden soll. An dieser Stelle werden [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] verwendet, um den Wert zu ermitteln.
17 ; Bedingung
18 : Zu testende Bedingung. Zur Auswahl stehen die folgenden Optionen:
19 :: Leer
20 :: Nicht leer
21 :: Gleich
22 :: Nicht gleich
23 :: Enthält
24 :: Enthält nicht
25 :: Größer
26 :: Größer oder gleich
27 :: Kleiner
28 :: Kleiner oder gleich
29 :: Beginnt mit
30 :: Beginnt nicht mit
31 :: Endet mit
32 :: Endet nicht mit
33 :: Passt auf regulären Ausdruck
34 :: Passt nicht auf regulären Ausdruck
35 ; Wert der Bedingung
36 : Der für die Prüfung verwendete Wert der ausgewählten Bedingung. Sichtbar, wenn nicht //Leer// oder //Nicht leer// als Bedingung ausgewählt wurde.
37
38 === Hinzufügen einer weiteren Bedingung ===
39
40 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.
41
42 === Löschen von Bedingungen ===
43
44 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.
45
46 == Verknüpfung von Bedingungen ==
47
48 Um die konfigurierten Bedingungen miteinander zu verknüpfen, stehen 3 Optionen zur Auswahl, von denen eine ausgewählt werden kann:
49
50 ; Alle müssen zutreffen (UND)
51 : 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.
52 ; Eine oder mehr müssen zutreffen (ODER)
53 : Mindestens eine der an diesem Steuerelement konfigurierten Bedingungen muss zutreffen, damit der //Ja//-Pfad ausgeführt wird. Ansonsten wird der //Nein//-Pfad ausgeführt.
54 ; Benutzerdefinierte Verknüfung
55 : 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:
56 :; cN
57 :: 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.
58 ::
59 : Zur logischen Verknüfung der Bedingungen können neben Klammern die folgenden Operatoren und Konstanten verwendet werden:
60 :; not
61 :: Negation, welche dem zu negierenden Wert vorangestellt werden muss. Zum Beispiel:
62 :: {{code language="none"}}c1 and not c2{{/code}}
63 ::
64 :: {{code language="none"}}c1 or not (c2 and c3){{/code}}
65 :; and
66 :: UND-Verknüpfung, welche wahr ist, wenn beide verknüpfte Werte wahr sind. Zum Beispiel:
67 :: {{code language="none"}}c1 and c2{{/code}}
68 ::
69 :: {{code language="none"}}c1 and not c2 and c3{{/code}}
70 :; or
71 :: ODER-Verknüpfung, welche wahr ist, einer der beiden verknüpften Werte wahr ist. Zum Beispiel:
72 :: {{code language="none"}}c1 or c2{{/code}}
73 ::
74 :: {{code language="none"}}c1 or c2 or not c3{{/code}}
75 ::
76 :; false, true
77 :: Diese beiden Konstanten stellen die logischen Werte //false// und //true// dar.
78 :; xor, nand, nor, implies, impliedby, equiv, unequiv
79 :: 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.
80
81 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:
82
83 {{code language="none"}}(c1 and not c2) or (c2 and (c3 or c4)){{/code}}