ApptiveScript-Funktionen
Vollständige Liste der Funktionen, die in einem Ausdruck zur Verfügung stehen — in Formelspalten, in der bedingten Sichtbarkeit von Blöcken, in Flow-Bedingungen und in Filtern.
Diese Seite ist zum Nachschlagen gedacht. Wenn Sie zum ersten Mal einen Ausdruck schreiben, fangen Sie bei Was ist ApptiveScript an.
So lesen Sie die Tabellen
Ein Ausdruck ist immer Wert, Punkt, Funktion:
fieldValue('preis').multiplyBy(1.19)Links vom Punkt steht ein Wert, rechts eine Funktion aus der Tabelle seines Typs. Das Ergebnis hat wieder einen Typ — und darauf können Sie erneut eine Funktion anwenden:
fieldValue('nachname').concat(fieldValue('vorname'), ', ').isNotEmpty()| Spalte | Bedeutung |
|---|---|
| Funktion | Der Name, so wie er geschrieben wird. Einträge mit vorangestelltem Punkt und ohne Klammern — etwa .email — sind Eigenschaften und brauchen keine Argumente. |
| Argumente | Was in die Klammern gehört, in dieser Reihenfolge: name: Typ. |
| Ergebnis | Der Typ des Ergebnisses. Er entscheidet, welche Tabelle für den nächsten Punkt gilt. Any heißt: ein Wert, dessen Typ erst beim Auswerten feststeht — etwa bei einem Wert aus JSON-Daten. |
Funktionsnamen sind englisch und bleiben es auch in der deutschen Oberfläche. Groß- und Kleinschreibung ist verbindlich.
Der Typ steht im Editor
Der Dialog Einen Ausdruck bearbeiten zeigt über dem Beispielergebnis den ermittelten Typ an — Typ: String, Typ: Number und so weiter. Damit finden Sie die Tabelle, die für den nächsten Punkt gilt. Der Reiter Search im Editor führt ohnehin nur die Funktionen des gerade ermittelten Typs.
Mit oder ohne geschweifte Klammern
| Wo Sie schreiben | Schreibweise |
|---|---|
| Formeleditor, Sichtbarkeit, erweiterte Flow-Logik | nur der Ausdruck: fieldValue('preis').multiplyBy(1.19) |
| normales Textfeld in einem Flow-Schritt | in Klammern: Ihre Rechnung über {{ fieldValue('betrag') }} Euro |
Ein Ausdruck ohne Klammern behält seinen Typ. Sobald Sie ihn in einen Text einbauen, ist das Ergebnis Text — und lässt sich nicht mehr weiterrechnen.
Werte in den Ausdruck holen
Womit ein Ausdruck anfängt, hängt davon ab, wo er steht:
| Einstieg | Bedeutung | Verwendet in |
|---|---|---|
fieldValue('<Feld-Id>') | ein Feld des aktuellen Eintrags | Formelspalten, Filter |
formValues.get('<Key>') | ein Eingabewert der Seite | bedingte Sichtbarkeit |
step('<Schritt-Id>').output | das Ergebnis eines früheren Flow-Schritts | Flows |
today() | das heutige Datum | überall |
now() | der aktuelle Zeitpunkt | überall |
true, false | feste Wahrheitswerte | überall |
Feld-Ids und Schritt-Ids tippt niemand von Hand — der Editor fügt sie über den Picker ein. Der Key eines Eingabeblocks ist dagegen selbst gewählt; er steht unter Keys verwalten.
Ids sind keine Namen
fieldValue('…') verweist auf die Id einer Spalte, nicht auf ihren Namen. Das ist gewollt: Eine Formel überlebt damit das Umbenennen der Spalte. Umgekehrt heißt es aber auch, dass sich ein Ausdruck nicht durch Lesen der Feldnamen prüfen lässt.
Leere Werte
Ein Feld, das nicht gefüllt ist, liefert keinen Fehler, sondern einen leeren Wert. Zwei Funktionen fangen das ab:
| Funktion | Wirkung |
|---|---|
ifUndefined(<Ersatzwert>) | setzt einen Ersatzwert ein, wenn der Wert fehlt |
isEmpty() / isNotEmpty() | prüft, ob ein Wert fehlt |
fieldValue('spitzname').ifUndefined('unbekannt')ifUndefined gibt es auf jedem Typ, isEmpty() und isNotEmpty() auf fast jedem — bei Zahl, allgemein und Geolokalisierung nicht. Die Tabellen weiter unten sagen es genau.
Erzeugt aus ApptiveScript 0.3.289 mit npm run apptivescript:reference.
Auf jedem Typ verfügbar
Diese Funktionen gibt es unabhängig davon, was links vom Punkt steht. In den Tabellen der einzelnen Typen sind sie deshalb nicht wiederholt.
| Funktion | Argumente | Ergebnis |
|---|---|---|
ifUndefined(…) | Any | Any |
isEqualTo(…) | other: gleicher Typ | Boolean |
isNotEqualTo(…) | other: gleicher Typ | Boolean |
Text
Text (String)
| Funktion | Argumente | Ergebnis |
|---|---|---|
asDateAndTime() | — | DateAndTime |
asJSONString() | — | String |
asJSONStringContent() | — | String |
asJSONStringPretty() | — | String |
asNumber() | — | Number |
beginsWith(…) | prefix: String | Boolean |
concat(…) | string: String, separator: String | String |
contains(…) | substring: String | Boolean |
endsWith(…) | postfix: String | Boolean |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
match(…) | pattern: String | Collection |
parseJSON() | — | KeyValueObject |
substring(…) | from: Number, to: Number | String |
Einzelauswahl (Enum)
| Funktion | Argumente | Ergebnis |
|---|---|---|
asDateAndTime() | — | DateAndTime |
asJSONString() | — | String |
asJSONStringContent() | — | String |
asJSONStringPretty() | — | String |
asNumber() | — | Number |
beginsWith(…) | prefix: String | Boolean |
concat(…) | string: String, separator: String | String |
contains(…) | substring: String | Boolean |
endsWith(…) | postfix: String | Boolean |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
match(…) | pattern: String | Collection |
parseJSON() | — | KeyValueObject |
substring(…) | from: Number, to: Number | String |
E-Mail (String)
| Funktion | Argumente | Ergebnis |
|---|---|---|
asJSONString() | — | String |
asJSONStringContent() | — | String |
beginsWith(…) | prefix: String | Boolean |
concat(…) | string: String, separator: String | String |
contains(…) | substring: String | Boolean |
endsWith(…) | postfix: String | Boolean |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
match(…) | pattern: String | Collection |
parseJSON() | — | KeyValueObject |
substring(…) | from: Number, to: Number | String |
Zahlen
Zahl, allgemein (Number)
| Funktion | Argumente | Ergebnis |
|---|---|---|
asString() | — | String |
divideBy(…) | number: Number | Number |
greaterThan(…) | number: Number | Boolean |
greaterThanOrEqual(…) | number: Number | Boolean |
minus(…) | number: Number | Number |
multiplyBy(…) | number: Number | Number |
plus(…) | number: Number | Number |
smallerThan(…) | number: Number | Boolean |
smallerThanOrEqual(…) | number: Number | Boolean |
Zahl (Integer)
| Funktion | Argumente | Ergebnis |
|---|---|---|
asDateAndTime() | — | String |
asJSONString() | — | String |
asJSONStringContent() | — | String |
asJSONStringPretty() | — | String |
asString() | — | String |
divideBy(…) | number: Number | Number |
greaterThan(…) | number: Number | Boolean |
greaterThanOrEqual(…) | number: Number | Boolean |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
minus(…) | number: Number | Number |
multiplyBy(…) | number: Number | Number |
plus(…) | number: Number | Number |
round(…) | number: Number | Decimal |
roundDown(…) | number: Number | Decimal |
roundUp(…) | number: Number | Decimal |
second() | — | Duration |
seconds() | — | Duration |
smallerThan(…) | number: Number | Boolean |
smallerThanOrEqual(…) | number: Number | Boolean |
Kommazahl und Währung (Decimal)
| Funktion | Argumente | Ergebnis |
|---|---|---|
asDateAndTime() | — | String |
asJSONString() | — | String |
asJSONStringContent() | — | String |
asJSONStringPretty() | — | String |
asString() | — | String |
divideBy(…) | number: Number | Decimal |
greaterThan(…) | number: Number | Boolean |
greaterThanOrEqual(…) | number: Number | Boolean |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
minus(…) | number: Number | Decimal |
multiplyBy(…) | number: Number | Decimal |
plus(…) | number: Number | Decimal |
round(…) | number: Number | Decimal |
roundDown(…) | number: Number | Decimal |
roundUp(…) | number: Number | Decimal |
smallerThan(…) | number: Number | Boolean |
smallerThanOrEqual(…) | number: Number | Boolean |
Datum und Zeit
Datum (Date)
| Funktion | Argumente | Ergebnis |
|---|---|---|
add(…) | amount: Number, unit: String | DateAndTime |
addDays(…) | numberOfDays: Number | Date |
after(…) | date: Date | Boolean |
before(…) | date: Date | Boolean |
difference(…) | date: Date | Duration |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
isoString() | — | String |
minus(…) | date: Date | Duration |
plus(…) | duration: Duration | Duration |
subtract(…) | amount: Number, unit: String | DateAndTime |
subtractDays(…) | numberofDays: Number | Date |
Datum und Uhrzeit (DateAndTime)
| Funktion | Argumente | Ergebnis |
|---|---|---|
add(…) | amount: Number, unit: String | DateAndTime |
after(…) | dateAndTime: DateAndTime | Boolean |
before(…) | dateAndTime: DateAndTime | Boolean |
date() | — | Date |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
isoString() | — | String |
minus(…) | dateAndTime: DateAndTime | Duration |
plus(…) | dateAndTime: DateAndTime | Duration |
subtract(…) | amount: Number, unit: String | DateAndTime |
toTimezoneString(…) | timezone: String | String |
Zeitspanne (Duration)
| Funktion | Argumente | Ergebnis |
|---|---|---|
asDays() | — | Decimal |
asHours() | — | Decimal |
asMinutes() | — | Decimal |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
Wahrheitswerte
Häkchen und Entscheidung (Boolean)
| Funktion | Argumente | Ergebnis |
|---|---|---|
asJSONString() | — | String |
asJSONStringContent() | — | String |
asJSONStringPretty() | — | String |
if(…) | if: Any, else: Any | Any |
isEmpty() | — | Boolean |
isFalse() | — | Boolean |
isNotEmpty() | — | Boolean |
isTrue() | — | Boolean |
logicalAnd(…) | other: Boolean | Boolean |
logicalOr(…) | other: Boolean | Boolean |
Listen
Liste, allgemein (Collection)
| Funktion | Argumente | Ergebnis |
|---|---|---|
add(…) | element: Any | Collection |
asJSONString() | — | String |
asJSONStringContent() | — | String |
asJSONStringPretty() | — | String |
asList() | — | Collection |
asString() | — | String |
at(…) | index: Integer | Any |
includesAllOf(…) | entities: Collection | Boolean |
includesAnyOf(…) | entities: Collection | Boolean |
includesNoneOf(…) | entities: Collection | Boolean |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
size() | — | Integer |
Mehrfachauswahl (EnumCollection)
| Funktion | Argumente | Ergebnis |
|---|---|---|
asJSONString() | — | String |
asJSONStringContent() | — | String |
asJSONStringPretty() | — | String |
asString() | — | String |
at(…) | index: Integer | Any |
includes(…) | entity: Boolean | EnumCollection |
includesAll(…) | entities: Collection | EnumCollection |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
size() | — | Integer |
Mehrere Einträge verknüpfen (EntityCollection)
| Funktion | Argumente | Ergebnis |
|---|---|---|
add(…) | element: String | EntityCollection |
addEntity(…) | element: String | EntityCollection |
asJSONString() | — | String |
asJSONStringContent() | — | String |
asJSONStringPretty() | — | String |
asString() | — | String |
at(…) | index: Integer | Any |
includes(…) | entity: Boolean | EntityCollection |
includesAll(…) | entities: Collection | EntityCollection |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
size() | — | Integer |
Zusammengesetzte Werte
JSON-Objekt (KeyValueObject)
| Funktion | Argumente | Ergebnis |
|---|---|---|
asJSONString() | — | String |
asJSONStringContent() | — | String |
asJSONStringPretty() | — | String |
get(…) | key: String | Any |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
Dateien (Attachment)
| Funktion | Argumente | Ergebnis |
|---|---|---|
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
largeThumbnail() | — | String |
smallThumbnail() | — | String |
url() | — | String |
Geolokalisierung (GeoCoordinate)
| Funktion | Argumente | Ergebnis |
|---|---|---|
asJSONString() | — | String |
asString() | — | String |
lat() | — | Number |
latitude() | — | Number |
lon() | — | Number |
longitude() | — | Number |
Benutzer (User)
| Funktion | Argumente | Ergebnis |
|---|---|---|
.email | — | String |
.firstName | — | String |
.id | — | String |
.lastName | — | String |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
Erstellt von (CreatedByValue)
| Funktion | Argumente | Ergebnis |
|---|---|---|
.email | — | String |
.id | — | String |
.type | — | String |
displayValue() | — | String |
isEmpty() | — | Boolean |
isNotEmpty() | — | Boolean |
Weiter
- Schreibweise — Punkt, Klammern, Anführungszeichen
- Werte referenzieren — womit ein Ausdruck anfängt
- Berechnete Felder — Formelspalten anlegen
- Bedingte Sichtbarkeit — Blöcke abhängig von Eingaben zeigen
- Filterbedingungen — dieselben Vergleiche über die Oberfläche
- Glossar