Bedingungen bauen
Drei Stellen in ApptiveGrid erwarten eine Bedingung — einen Ausdruck, der am Ende wahr oder falsch ergibt: die bedingte Sichtbarkeit eines Blocks, der Übergang zwischen zwei Flow-Schritten und der Filter.
Diese Seite zeigt die Bausteine und wie die drei Dialoge damit umgehen.
Vergleichen
| Bedingung | Beispiel |
|---|---|
| gleich · ungleich | fieldValue('status').isEqualTo('Offen') |
| größer · kleiner | fieldValue('menge').greaterThan(10) |
| größer/kleiner oder gleich | fieldValue('menge').greaterThanOrEqual(10) |
| enthält | fieldValue('titel').contains('Rechnung') |
| beginnt · endet mit | fieldValue('nummer').beginsWith('RE-') |
| leer · nicht leer | fieldValue('auftragsnummer').isNotEmpty() |
| wahr · falsch | formValues.get('agb').isTrue() |
| vor · nach (Datum) | fieldValue('frist').before(today()) |
| Liste enthält | fieldValue('tags').includesAnyOf('dringend') |
Welche Bedingung erlaubt ist, hängt vom Typ des Wertes links ab — die vollständige Liste je Typ steht in der Funktionsreferenz.
Mehrere Bedingungen verknüpfen
Es gibt keine Schlüsselwörter. Und und oder sind Funktionen, die auf einer Bedingung aufsetzen:
formValues.get('alter').greaterThan(17).logicalAnd(formValues.get('agb').isTrue())Für mehr als zwei Bedingungen wird weiter angehängt — die Oberfläche macht es genauso:
a.logicalAnd(b).logicalAnd(c)| Gemeint | Schreibweise |
|---|---|
| und | .logicalAnd(…) |
| oder | .logicalOr(…) |
| nicht | .isFalse() |
UND und ODER in einer Regel mischen
Technisch ist es erlaubt, aber die Oberfläche kann den Ausdruck dann nicht mehr in Zeilen zerlegen — Sie bearbeiten ihn nur noch als Ganzes. Bleiben Sie pro Regel bei einem Verknüpfungstyp. Brauchen Sie beides, ist meist ein zusätzlicher Schritt oder ein zusätzlicher Block die klarere Lösung.
Verzweigen mit if
if ist die einzige Verzweigung der Sprache. Sie sitzt hinter der Bedingung und liefert einen von zwei Werten:
fieldValue('menge').smallerThan(5).if('nachbestellen', 'ok')Damit eignet sich if für Formelspalten — etwa für eine Ampel als Text. Für die Sichtbarkeit und für Flow-Übergänge brauchen Sie es nicht: dort genügt die Bedingung selbst.
Bedingte Sichtbarkeit von Blöcken
Die einfache Auswahl aus Feld, Bedingung und Wert deckt acht Bedingungen ab und schreibt den Ausdruck für Sie:
| Auswahl | Erzeugter Ausdruck |
|---|---|
| ist leer · ist nicht leer | formValues.get('key').isEmpty() · .isNotEmpty() |
| ist wahr · ist falsch | .isTrue() · .isFalse() |
| ist gleich · ist nicht gleich | .isEqualTo('Wert') · .isNotEqualTo('Wert') |
| ist größer als · ist kleiner als | .greaterThan(5) · .smallerThan(5) |
ist wahr und ist falsch erscheinen nur bei einem Häkchen-Block. Zahlen werden ohne Anführungszeichen eingesetzt, alles andere mit.
Der Bereich Erweitert darunter zeigt den Ausdruck und lässt ihn bearbeiten. Solange er der einfachen Form entspricht, bleiben beide Ansichten synchron; sobald Sie etwas verknüpfen, führt nur noch das Textfeld weiter.
Im Editor durchspielen
Neben der Sichtbarkeitsregel zeigt der Editor Aktuell sichtbar oder Aktuell ausgeblendet — für die Werte, die gerade in den Eingabeblöcken stehen. Tragen Sie testweise Werte ein und beobachten Sie den Wechsel. Das ist die schnellste Prüfung, ohne zu veröffentlichen.
Flow-Übergänge
Der Dialog Nur fortfahren, wenn … an einer Verbindung zwischen zwei Schritten baut die Bedingung aus Zeilen:
- Oben wählen Sie Alle Bedingungen erfüllt (UND) oder Mindestens eine Bedingung (ODER).
- Jede Zeile besteht aus Wähle Wert …, Wähle Bedingung … und einem Vergleichswert.
- Bedingung hinzufügen ergänzt eine Zeile, das Kreuz entfernt sie.
Erst den Wert, dann die Bedingung
Die Liste der Bedingungen richtet sich nach dem Typ des linken Wertes. Wählen Sie den Wert zuerst, dann bleiben nur die passenden Bedingungen übrig — bei einem Datum etwa before und after.
Den Typ kennt der Dialog aus dem letzten Testlauf. Ohne Testlauf steht er auf Undefined, und die Liste zeigt alle Bedingungen aller Typen. → Flows testen
In den Zeilen setzen Sie keine Anführungszeichen: Bei Text und Datum ergänzt der Dialog sie selbst.
Unter Erweiterte Logik steht der vollständige Ausdruck als Text. Dort schreiben Sie Verknüpfungen, die die Zeilen nicht abbilden können — und dort gelten die normalen Regeln, also auch die Anführungszeichen. Der Hinweis im Dialog sagt, wann die Eingabe greift:
Wird übernommen, wenn du das Feld verlässt oder auf Speichern klickst.
Zwei Meldungen können auftauchen:
| Meldung | Bedeutung |
|---|---|
| Nicht erkannter Ausdruck | Diese Zeile lässt sich nicht als Wert-Bedingung-Wert lesen — bearbeiten Sie sie unter Erweiterte Logik |
| Dieser Ausdruck mischt UND/ODER … | Die Zeilen sind gesperrt, es gilt nur noch der vollständige Ausdruck |
Filter
In einer Ansicht bauen Sie Filter ausschließlich über die Oberfläche — Feld, Bedingung, Wert. ApptiveGrid übersetzt das selbst in einen Ausdruck; ein Eingabefeld für eigene Ausdrücke gibt es dort nicht. → Filtern, Sortieren, Gruppieren
Anders in einem Flow-Schritt mit Filter: Dort bietet die Werteauswahl zusätzlich Ausdruck an. Damit vergleichen Sie ein Feld nicht mit einem festen Wert, sondern mit einem berechneten — etwa mit dem Ergebnis eines vorherigen Schritts.
Eine Bedingung, die nicht aufgeht, filtert aus
Ergibt ein Filterausdruck einen Fehler, nichts oder etwas anderes als einen Wahrheitswert, gilt der Eintrag als nicht zutreffend — er verschwindet aus dem Ergebnis. Eine leere Liste ist damit ein typisches Anzeichen für einen fehlerhaften Ausdruck, nicht zwangsläufig für fehlende Daten.
Typische Bedingungen
| Ziel | Bedingung |
|---|---|
| Zusatzfeld nur bei „Sonstiges" | formValues.get('kategorie').isEqualTo('Sonstiges') |
| Bereich ab 18 Jahren | formValues.get('alter').greaterThan(17) |
| Nur mit Zustimmung fortfahren | formValues.get('agb').isTrue() |
| Zwei Bedingungen gleichzeitig | formValues.get('alter').greaterThan(17).logicalAnd(formValues.get('agb').isTrue()) |
| Nur bei ausgefülltem Feld | step('<Schritt-Id>').output.get('email').isNotEmpty() |
| Überfällige Einträge | fieldValue('<frist>').before(today()) |
| Alles außer einem Status | fieldValue('<status>').isNotEqualTo('Erledigt') |
Weiter
- Der Ausdruckseditor — Token-Ansicht, Picker, Beispielergebnis
- Werte referenzieren — womit ein Ausdruck anfängt
- Funktionsreferenz — alle Funktionen je Typ
- Filterbedingungen — die Bedingungen der Oberfläche im Überblick