Skip to content

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

BedingungBeispiel
gleich · ungleichfieldValue('status').isEqualTo('Offen')
größer · kleinerfieldValue('menge').greaterThan(10)
größer/kleiner oder gleichfieldValue('menge').greaterThanOrEqual(10)
enthältfieldValue('titel').contains('Rechnung')
beginnt · endet mitfieldValue('nummer').beginsWith('RE-')
leer · nicht leerfieldValue('auftragsnummer').isNotEmpty()
wahr · falschformValues.get('agb').isTrue()
vor · nach (Datum)fieldValue('frist').before(today())
Liste enthältfieldValue('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)
GemeintSchreibweise
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:

AuswahlErzeugter Ausdruck
ist leer · ist nicht leerformValues.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.

Bedingte Sichtbarkeit

Flow-Übergänge

Der Dialog Nur fortfahren, wenn … an einer Verbindung zwischen zwei Schritten baut die Bedingung aus Zeilen:

  1. Oben wählen Sie Alle Bedingungen erfüllt (UND) oder Mindestens eine Bedingung (ODER).
  2. Jede Zeile besteht aus Wähle Wert …, Wähle Bedingung … und einem Vergleichswert.
  3. 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:

MeldungBedeutung
Nicht erkannter AusdruckDiese 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

Router und Parallel

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

ZielBedingung
Zusatzfeld nur bei „Sonstiges"formValues.get('kategorie').isEqualTo('Sonstiges')
Bereich ab 18 JahrenformValues.get('alter').greaterThan(17)
Nur mit Zustimmung fortfahrenformValues.get('agb').isTrue()
Zwei Bedingungen gleichzeitigformValues.get('alter').greaterThan(17).logicalAnd(formValues.get('agb').isTrue())
Nur bei ausgefülltem Feldstep('<Schritt-Id>').output.get('email').isNotEmpty()
Überfällige EinträgefieldValue('<frist>').before(today())
Alles außer einem StatusfieldValue('<status>').isNotEqualTo('Erledigt')

Weiter