---
title: Was sind Funktionen und welche Funktionen stehen mir für Berechnungen, Automatisierungen und Formeln in Vaira zur Verfügung?
description: Hier findest du eine Erklärung dazu, was Funktionen sind, wie du sie verwendest und einige der häufigsten Funktionen mit Erklärung.
---

[Zu Content springen](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#main-content)

Deutsch

Untermenü für Übersetzungen anzeigen

[![App Icon - Orange Gradient + Logo - White Gradient- 512px](https://support.vaira.app/hs-fs/hubfs/Vaira%20Design-Elemente/App%20Icon%20-%20Orange%20Gradient%20%2B%20Logo%20-%20White%20Gradient-%20512px.png?width=50&height=50&name=App%20Icon%20-%20Orange%20Gradient%20%2B%20Logo%20-%20White%20Gradient-%20512px.png)](https://support.vaira.app/?hsLang=de)

- [Ticket erstellen](https://vaira.app/bug)
- [Zum Kundenportal](https://support.vaira.app/tickets)

Hauptnavigation öffnen

Hauptnavigation schließen

- [Ticket erstellen](https://vaira.app/bug)
- [Zum Kundenportal](https://support.vaira.app/tickets)
- Deutsch
  
  Untermenü für Übersetzungen anzeigen
- [kostenlosen Account erstellen](https://vaira.app/kostenlos)

[kostenlosen Account erstellen](https://vaira.app/kostenlos)

 Hallo. Wie können wir dir helfen?

- Es gibt keine Vorschläge, da das Suchfeld leer ist.

1. [Vaira Wissensdatenbank](https://support.vaira.app/?hsLang=de)
2. [Vaira Office](https://support.vaira.app/vaira-office?hsLang=de)
3. [Workflows und Prozesse](https://support.vaira.app/vaira-office?hsLang=de#workflows-und-prozesse)

11\. März 2026

# Was sind Funktionen und welche Funktionen stehen mir für Berechnungen, Automatisierungen und Formeln in Vaira zur Verfügung?

**Bevor du startest**: Dieser Artikel wendet sich an fortgeschrittene Anwender, die bereits die Grundprinzipien von Formeln, Berechnungen und Operatoren verstanden haben. Falls dir diese Grundlagen noch fehlen, solltest du dir zunächst die Artikel**[Wie funktionieren Formeln in Vaira?](https://support.vaira.app/wie-funktionieren-formeln-in-vaira?hsLang=de)** und **[Operatoren für Berechnungen und Automatisierungen im Vaira Office](https://support.vaira.app/operatoren-f%C3%BCr-berechnungen-im-vaira-office?hsLang=de)** ansehen, um den Inhalten hier besser folgen zu können.

### Was sind Funktionen?

Mit Funktionen kannst du tiefer in deine Daten einsteigen und mit diesen arbeiten. Eine Funktion setzt sich aus mehreren mathematischen und operationalen Befehlen für Vaira zusammen, die von unseren Entwicklern zusammengefasst wurden, damit du nur noch einen einzelnen Befehl ausführen musst. Durch Funktionen werden auch Arbeiten möglich, die du selbst manuell in Vaira gar nicht vornehmen könntest.

### Funktionen erklärt am Beispiel einer Partyplanung ohne und mit Partyplaner

Ein alltagsnahes Beispiel für Funktionen: stell dir vor, du möchtest eine Party veranstalten. Um das zu machen, musst du unter anderem:

- Eine Gästeliste erstellen
- Einladungen schreiben
- Einladungen verschicken
- Getränke bestellen
- Essen bestellen
- ...

Das sind alles einzelne Tätigkeiten und ganz schön viel Arbeit für dich. Du kannst dir stattdessen aber auch einen Partyplaner holen, der die ganze Vorarbeit für dich übernimmt.

Unsere Entwickler haben dir quasi einen Partyplaner entwickelt. Alle Aufgaben oben haben sie genauer definiert, damit der Partyplaner genau weiß, was dein Ziel ist und haben die Anleitung dafür in die Funktion "partyVorbereiten" verpackt. Wenn du diese Funktion aktivierst, werden alle Schritte oben automatisch hintereinander durchgeführt. Du erhältst am Ende nur die Ergebnisse, brauchst dich also um die Durchführung der einzelnen Schritte nicht kümmern.

Nach diesem Prinzip kannst du in Vaira mit deinen Daten in Feldern, Schritten, Aufgaben und allgemein in Workflows arbeiten. Du kannst Berechnungen vornehmen, bestimmte Daten suchen oder automatisiert überprüfen, ob Daten korrekt sind oder außerhalb von vordefinierten Bereichen liegen.

### Wie werden Funktionen angewendet?

Funktionen kannst du z.B. für Berechnungen und im Workflow-Builder in den Automatisierungen nutzen. Der Aufbau ist dabei immer gleich: eine Funktion beginnt mit einem Punkt und dann einem Namen der Funktion (z.B. ".exists" für eine Funktion, um das Vorkommen eines Werts zu überprüfen). Dieser Teil ruft also die Funktion selbst auf.

In Klammern dahinter "(...)" kommen dann alle Informationen, die für die Ausführung der Funktion wichtig sind. Das können Verweise auf Felder sein, Variablen oder Werte. Die Standard-Signatur, also das, wie man die Formel ohne konkrete Daten beschreibt, sieht bei der .exists-Formel zum Beispiel so aus:

`.exists(x,p)`

Vor dem Punkt steht dann noch der Verweis, auf was die Funktion angewendet werden soll. Das werden oft Felder in deinem Workflow sein, die du nach dem bekannten Muster aufbaust (step.stepID.task.taskID).

**Gut zu wissen**: Der Aufbau sagt dir nichts? Dann schau nochmal im Artikel **[Wie funktionieren Formeln in Vaira?](https://support.vaira.app/wie-funktionieren-formeln-in-vaira?hsLang=de)** vorbei. Da haben wir den Verweis auf Felder genauer erklärt.

Eine Funktion wäre also zum Beispiel

`tasks.aufmass.fields.materialerfassung.exists(x,p) `

Das x und das p werden jetzt noch ersetzt durch die spezifischen Werte für die Funktion, damit diese Berechnung durchgeführt werden kann. Für den Moment soll dieser allgemeine Aufbau von Funktionen aber reichen.

Alle weiteren Erklärungen gibt's weiter unten zu den einzelnen Funktionen konkret.

### Nützliche Funktionen aus dem Arbeitsalltag – Übersicht

Es folgen einige Funktionen, die bei deiner Arbeit nützlich sein können. Vaira bietet noch deutlich mehr Funktionen – sie alle hier aufzuführen würde den Rahmen sprengen. Falls dir mal eine Funktion fehlt, [kannst du uns einfach fragen](https://vaira.app/kontakt), ob und wie sie sich umsetzen lässt in Vaira. Wir versuchen, diese Liste hier in Zukunft um weitere nützliche Funktionen zu erweitern.

Unterhalb der einzelnen Kategorie-Spickzettel erklären wir die einzelnen Funktionen auch noch einmal im Detail.

#### Werte übergeben, übernehmen und synchronisieren

| **Name** | **Signatur** | **Einsatz** |
| --- | --- | --- |
| [Wertübergabe](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#wertuebergabe) | `Verweis1:Verweis2` *Verweis 2 sendet, Verweis 1 empfängt.* | **Übergibt den Wert**, der in im Feld von Verweis2 steht, automatisch an das Feld von Verweis1. Dadurch können Mehrfacheingaben umgangen werden, wenn verschiedene Felder in einem Prozess immer die gleichen Informationen enthalten. |

#### Suchen, finden, prüfen

| **Name** | **Signatur** | **Einsatz** |
| --- | --- | --- |
| [Exists](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#exists) | `.exists(x, p)` | **Prüft** darauf, ob ein bestimmter Datensatz **existiert.** |
| [Find](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#find) | `.find(x, predicate, function, default)` | **Sucht** einen konkreten Wert mit definierten Eigenschaften und gibt diesen zurück. |
| [Contains](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#contains) | `.contains(s)` | **Prüft** **Textfelder** und **Textbereiche**, um herauszufinden, **ob** irgendwo das entsprechende Wort bzw. die entsprechende Zeichenkette **existiert**. |
| [Contains (Optionsfeld)](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#containsOptionsfeld) | `.concatDisplayNames().contains(s)` | **Prüft**, ob in einem **Optionsfeld** ein bestimmtes Wort bzw. eine bestimmte Zeichenkette **ausgewählt** **wurde** und gibt ein Wahr oder Falsch zurück. |
| [StartsWith](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#startsWith) | `.startsWith(s)` | **Prüft**, ob der Wert innerhalb eines Textfeldes mit der **Suchzeichenkette** beginnt (z.B. mit "Apf", wenn im Feld "Apfel" steht) und gibt entweder ein *wahr* oder ein *falsch* zurück. |
| [EndsWith](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#endsWith) | `.endsWith(s)` | **Prüft**, ob der Wert innerhalb eines Textfeldes mit der **Suchzeichenkette** endet (z.B. mit "fel", wenn im Feld "fel" steht) und gibt entweder ein *wahr* oder ein *falsch* zurück. |
| [Users.Exists](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#usersExists) | `.users.exists(x, x == "users/ID")` | **Überprüft,** ob der User mit der angegebenen ID in einem Feld angegeben wurde und gibt entweder ein *wahr* oder ein *falsch* zurück. |
| [Groups.Exists](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#groupsExists) | `.groups.exists(x, x == "groups/ID")` | **Überprüft**, ob die Gruppe mit der angegebenen ID in einem Feld angegeben wurde und gibt entweder ein *wahr* oder ein *falsch* zurück. |

#### Berechnen

| **Name** | **Signatur** | **Einsatz** |
| --- | --- | --- |
| [Sum](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#sum) | `.sum(x, p)` | Nimmt eine **Berechnung** vor für ein oder mehr Felder mit beliebigem Berechnungs-Operator. |

#### Daten verändern und zusammenführen

| **Name** | **Signatur** | **Einsatz** |
| --- | --- | --- |
| [Feldwert zu Zeichenkette umwandeln](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#string) | `string(...)` | **Wandelt** den Feldwert in eine Zeichenkette um, um z.B. die eine Zahl für Verkettungen mit Zeichenfolgen verfügbar zu machen. |
| [Feldwert zu ganzer Zahl umwandeln](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#int) | `int(...)` | **Wandelt** den Feldwert bei z.B. Kommazahlen in eine ganze Zahl (... -2, -1, 0, 1, 2, ...) um. Vor allem relevant, wenn längere Kommazahlen (bspw. 2,12384) in eine runde ganze Zahl umgewandelt werden sollen (dann nur noch 2). Der Teil hinter dem Komma wird dabei abgeschnitten; die Zahl wird also nicht gerundet. |
| [Feldwert zu rationaler Zahl umwandeln](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#rational) | `rational(...)` | *Diese Funktion benötigst du für normale Berechnungen im Alltag normalerweise nicht.* **Wandelt** den Feldwert für eine hochpräzise Berechnung von einer reellen Fließkommazahl in einen Bruch um. |
| [Concat (Anzeigenamen)](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#concatAnzeigenamen) | `.concatDisplayNames()` | **Verkettet** mehrere Anzeigenamen und gibt sie durch Komma getrennt zurück. |
| [Verketten von Feldwerten](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#verkettenVonFeldwerten) | `"..." + (...) + ...` | **Verkettet **mehrere beliebige Inhalte miteinander und führt sie in einem Textfeld zusammen; dabei können auch andere Funktionen genutzt und von Feldern unabhängige Zeichenfolgen eingefügt werden. |

### Nützliche Funktionen aus dem Arbeitsalltag – Detailerklärungen

#### **Wertübergabe**

**Anwendungsfall**

Du hast Felder in deinem Prozess, die grundsätzlich die gleichen Werte enthalten (wie z.B. ein Adressfeld) aber in unterschiedlichen Prozessschritten vorkommen. Damit nicht jedes Feld neu ausgefüllt werden muss, kannst du den Wert aus dem ersten Feld an alle anderen gleichartigen Felder übergeben. So bleiben die Inhalte der Felder synchron.

**Allgemeiner Aufbau**

`Verweis1:Verweis2`

**Beispiel**

`tasks.bautagebuch.fields.Baudienstleister:tasks.aufmass.fields.Baudienstleister`

- **Empfangendes Feld**  
  der erste Verweis vor dem `:` empfängt den Wert des zweiten Verweises; hier empfängt also das Feld in der Aufgabe "Bautagebuch" im Feld "Baudienstleister" den Wert (`tasks.bautagebuch.fields.Baudienstleister`),
- **Operator**  
  es folgt der Operator `:`,
- **Sendendes Feld**  
  und anschließend wird das sendende Feld definiert, das hier in der Aufgabe "Aufmass" das Feld "Baudienstleister" ist (`tasks.aufmass.fields.Baudienstleister`).
- **Ergebnis**  
  Wenn nun im sendenden Feld z.B. "Tiefbau GmbH" eingegeben wird, wird der Inhalt des empfangenden Feldes auch "Tiefbau GmbH".
- **Ergebnis-Beispiel**  
  Tiefbau GmbH

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### **Exists**

**Anwendungsfall**

Du möchtest herausfinden, ob in deinem Datensatz ein bestimmter Wert vorkommt. Am Ende reicht dir als Ergebnis ein "ja" oder ein "nein".

**Allgemeiner Aufbau**

**`.exists(x,p)`**

**Beispiel**

`tasks.aufmass.fields.materialerfassung.exists(Bauteil, Bauteil.fields.dimension == 32)`

- **Anwendungsbereich**  
  wird angewendet auf die Aufgabe "Aufmass" im Feld "Materialerfassung" (`tasks.aufmass.fields.materialerfassung`),
- **Aufruf der Funktion**  
  wird standardmäßig aufgerufen (`.exists`),
- **Parameter `x`**  
  überprüft für jedes Bauteil (`Bauteil`) einzeln,
- **Parameter `p`**  
  ob das Feld "Dimension" des jeweiligen Bauteils (`Bauteil.fields.dimension`) genau 32 ist (`== 32`).
- **Ergebnis**  
  Die Funktion gibt ein bool'sches `wahr` zurück, falls mindestens ein Bauteil die Bedingung erfüllt oder `falsch`, wenn keins der Bauteile die Bedingung erfüllt.
- **Ergebnis-Beispiel**  
  wahr

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### **Find**

**Anwendungsfall**

Du möchtest einen bestimmten Wert in deinem Datensatz finden und von diesem einen Wert zurückgeben. Du suchst dabei die erstbeste Antwort, die gefunden werden kann, auch, wenn mehrere Einträge im Datensatz deiner Anfrage entsprechen könnten.

**Allgemeiner Aufbau**

**`.find(x, predicate, function, default)`**

**Beispiel**

`tasks.aufmass.fields.materialerfassung.find(Bauteil, Bauteil.fields.dimension == 32, Bauteil.fields.preis, 0)`

- **Anwendungsbereich**  
  wird angewendet auf die Aufgabe "Aufmass" im Feld "Materialerfassung" (`tasks.aufmass.fields.materialerfassung`),
- **Aufruf der Funktion**  
  wird standardmäßig aufgerufen (`.find`),
- **Parameter `x`**  
  durchsucht jedes (`Bauteil`) einzeln,
- **Parameter `predicate`**  
  ob es ein Bauteil mit einem Feld "Dimension" gibt `(Bauteil.fields.dimension)`, dessen Wert "32" ist  (`== 32`),
- **Parameter `function`**  
  und falls ja, soll für das erste gefundene Bauteil, das die Bedingung erfüllt, der Wert aus dem Feld "Preis" dieses Bauteils genommen werden (`Bauteil.fields.preis`),
- **Parameter `default`**und falls nein, soll standardmäßig der Wert "0" zurückgegeben werden `(0)`.
- **Ergebnis**  
  Die Funktion gibt bei einem "falls ja" den Wert für das erste gefundene Bauteil zurück und wird danach beendet – sie sucht also nicht weiter. Die Funktion gibt bei einem "falls nein" den definierten Standardwert "0" zurück.
- **Ergebnis-Beispiel**  
  falls Ja: 52,43  
  falls Nein: 0

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### **Contains**

**Anwendungsfall**

Du hast Textfelder oder Textbereiche und möchtest diese darauf hin überprüfen, ob ein bestimmtes Wort (z.B. "Muffe") oder eine bestimmte beliebige Zeichenfolge (z.B. "01baum12") oder auch eine bestimmte Zahl ("123,12") vorkommt und als Ergebnis ein einfaches *wahr* oder *falsch* als Antwort bekommen.

**Allgemeiner Aufbau**

`.contains(s)`

**Beispiel**

`tasks.aufmass.fields.Dienstleister.contains("Tiefbau GmbH")`

- **Anwendungsbereich**  
  wird angewendet auf die Aufgabe "Aufmass" im Feld "Dienstleister" (`tasks.aufmass.fields.Dienstleister`),
- **Aufruf der Funktion**  
  wird standardmäßig aufgerufen (`.contains`),
- **Parameter `s`**  
  hier kommt das Wort, die Zahl oder die beliebige Zeichenkette in Anführungszeichen oben ("") hin (`"Tiefbau GmbH"`)
- **Ergebnis**  
  Die Funktion gibt ein "wahr" zurück, wenn der Suchbegriff im Textfeld oder Textbereich vorkommt und ein "falsch", wenn der Begriff nicht gefunden wurde.
- **Ergebnis-Beispiel**  
  wahr

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### **Contains (Optionsfeld)**

**Anwendungsfall**

Du hast ein Optionsfeld mit mehreren Auswahlmöglichkeiten und möchtest diese daraufhin überprüfen, ob ein bestimmter Wert (z.B. "Muffe", "01baum12", "123,12") ausgewählt wurde und als Ergebnis ein einfaches *wahr* oder *falsch* als Antwort bekommen.

**Allgemeiner Aufbau**

*Diese Funktion verbindet die Funktion concatDisplayNames() und die Funktion contains(s) miteinander und ruft sie in Kombination auf.*

`e.concatDisplayNames().contains(s)`

**Beispiel**

`tasks.stammdaten.fields.AnschlussArten.concatDisplay Names().contains("Hausanschluss")`

- **Anwendungsbereich**  
  wird angewendet auf die Aufgabe "Stammdaten" im Feld "AnschlussArten" `tasks.stammdaten.fields.AnschlussArten`
- **Aufruf der Funktion**  
  ruft zunächst die Funktion Concat auf (`.concatDisplay Names()`), um alle ausgewählten Optionen in den Zwischenspeicher zu laden, um dann anschließend die Funktion Contains (`.contains`) aufzurufen, die das Vorkommen überprüft,
- **Parameter `s`**  
  hier kommt das Wort, die Zahl oder die beliebige Zeichenkette in Anführungszeichen oben ("") hin (`"Hausanschluss"`)
- **Ergebnis**  
  Die Funktion gibt ein "wahr" zurück, wenn der Suchbegriff "Hausanschluss" in den Optionen ausgewählt wurde und ein "falsch", wenn der Begriff nicht gefunden wurde.
- **Ergebnis-Beispiel**  
  wahr

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### **StartsWith**

**Anwendungsfall**

Du hast in Textfelder, die immer mit einer bestimmten Zeichenkette anfangen müssen und möchtest kontrollieren, ob dies bei deinen Feldern der Fall ist. Als Ergebnis reicht dir ein *wahr* oder *falsch*.

**Allgemeiner Aufbau**

`.startsWith(s)`

**Beispiel**

`tasks.aufmass.fields.Dienstleister.startsWith("Tiefbau")`

- **Anwendungsbereich**  
  wird angewendet auf die Aufgabe "Aufmass" im Feld "Dienstleister" `tasks.aufmass.fields.Dienstleister`
- **Aufruf der Funktion**  
  wird standardmäßig aufgerufen (`.startsWith`),
- **Parameter `s`**  
  hier kommt das Wort, die Zahl oder die beliebige Zeichenkette in Anführungszeichen oben ("") hin (`"Tiefbau"`)
- **Ergebnis**  
  Wenn die erste Zeichenfolge im Textfeld dem Suchbegriff "Tiefbau" entspricht, erhältst du den Wert *wahr;* falls nicht erhältst du den Wert *falsch*.
- **Ergebnis-Beispiel**  
  wahr

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### **EndsWith**

**Anwendungsfall**

Du hast in Textfelder, die immer mit einer bestimmten Zeichenkette enden müssen und möchtest kontrollieren, ob dies bei deinen Feldern der Fall ist. Als Ergebnis reicht dir ein *wahr* oder *falsch*.

**Allgemeiner Aufbau**

`.endsWith(s)`

**Beispiel**

`tasks.aufmass.fields.Dienstleister.endsWith("Tiefbau")`

- **Anwendungsbereich**  
  wird angewendet auf die Aufgabe "Aufmass" im Feld "Dienstleister" `tasks.aufmass.fields.Dienstleister`
- **Aufruf der Funktion**  
  wird standardmäßig aufgerufen (`.endsWith`),
- **Parameter `s`**  
  hier kommt das Wort, die Zahl oder die beliebige Zeichenkette in Anführungszeichen oben ("") hin (`"Tiefbau"`)
- **Ergebnis**  
  Wenn die letzte Zeichenfolge im Textfeld dem Suchbegriff "Tiefbau" entspricht, erhältst du den Wert *wahr;* falls nicht erhältst du den Wert *falsch*.
- **Ergebnis-Beispiel**  
  wahr

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### Users.Exists

**Anwendungsfall**

Du möchtest ein Feld daraufhin überprüfen, ob ein Nutzer mit einer bestimmten ID zu diesem Feld zugewiesen ist. Als Ergebnis reicht dir ein *wahr* oder *falsch*.

**Allgemeiner Aufbau**

`.users.exists(x, x == "users/ID")`

**Beispiel**

`tasks.aufmass.fields.Prüfer.users.exists(Benutzer, Benutzer == "users/2a31sda231ds5as1d32asd1")`

- **Anwendungsbereich**  
  wird angewendet auf die Aufgabe "Aufmass" im Feld "Prüfer" `tasks.aufmass.fields.Prüfer`
- **Aufruf der Funktion**  
  verkettet die Methode `.users` mit der Funktion `.exists` und ruft sie zusammen auf,
- **Parameter `x und x == "users/ID"`**  
  du kannst beide `x` beibehalten oder beide `x` durch eine klarere Variable ersetzen (z.B. wie im Beispiel `Benutzer`).  Das `== "users/ID"` ist dann der Vergleichsteil. `== "users/` bleibt immer so stehen, den Teil `ID` ersetze durch die ID des spezifischen Users (im Beispiel `2a31sda231ds5as1d32asd1`). Achte darauf, den Teil nach den zwei `==` in Anführungsstriche oben zu setzen um am Ende der ID die Klammer wieder zu schließen.
- **Ergebnis**  
  Wenn die ID des Users im entsprechenden Feld vorkommt, erhältst du den Wert *wahr;* falls nicht erhältst du den Wert *falsch*.
- **Ergebnis-Beispiel**  
  wahr

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### Groups.Exists

**Anwendungsfall**

Du möchtest ein Feld daraufhin überprüfen, ob eine Gruppe mit einer bestimmten ID zu diesem Feld zugewiesen ist. Als Ergebnis reicht dir ein *wahr* oder *falsch*.

**Allgemeiner Aufbau**

`.groups.exists(x, x == "groups/ID")`

**Beispiel**

`tasks.aufmass.fields.Baudienstleister.groups.exists(Gruppe, Gruppe == "groups/2a31sda231ds5as1d32asd1")`

- **Anwendungsbereich**  
  wird angewendet auf die Aufgabe "Aufmass" im Feld "Prüfer" `tasks.aufmass.fields.Baudienstleister`
- **Aufruf der Funktion**  
  verkettet die Methode `.groups` mit der Funktion `.exists` und ruft sie zusammen auf,
- **Parameter `x und x == "groups/ID"`**  
  du kannst beide `x` beibehalten oder beide `x` durch eine klarere Variable ersetzen (z.B. wie im Beispiel `Gruppe`).  Das `== "groups/ID"` ist dann der Vergleichsteil. `== "groups/` bleibt immer so stehen, den Teil `ID` ersetze durch die ID der spezifischen Gruppe (im Beispiel `2a31sda231ds5as1d32asd1`). Achte darauf, den Teil nach den zwei `==` in Anführungsstriche oben zu setzen um am Ende der ID die Klammer wieder zu schließen.
- **Ergebnis**  
  Wenn die ID der Gruppe im entsprechenden Feld vorkommt, erhältst du den Wert *wahr;* falls nicht erhältst du den Wert *falsch*.
- **Ergebnis-Beispiel**  
  wahr

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### **Sum**

**Anwendungsfall**

Du möchtest eine Berechnung in einem Listenfeld vornehmen und am Ende das Ergebnis zurückgegeben bekommen. Berechnungen können dabei innerhalb einer Liste alle gleichartigen Felder summieren (Beispiel 1), Werte auch mit anderen Werten addieren, multiplizieren oder mehr (Beispiel 2) oder auch externe Felder mit in die Berechnung einbeziehen (Beispiel 3).

**Allgemeiner Aufbau**

**`.sum(x,p)`**

**Beispiel 1**

`tasks.aufmass.fields.materialerfassung.sum(Bauteil, Bauteil.fields.preis)`

- **Anwendungsbereich**  
  wird angewendet auf die Aufgabe "Aufmass" im Feld "Materialerfassung" (`tasks.aufmass.fields.materialerfassung`),
- **Aufruf der Funktion**  
  wird standardmäßig aufgerufen (`.sum`),
- **Parameter `x`**  
  durchsucht jedes (`Bauteil`) einzeln,
- **Parameter `p`**  
  nimmt die Werte jedes Bauteils aus dem Feld "Preis" und addiert diese (`Bauteil.fields.preis`).
- **Ergebnis**  
  Das Ergebnis ist die Summe aller Preis-Felder in den Bauteilen dieser Liste.
- **Ergebnis-Beispiel**  
  1.827,23

**Beispiel 2**

`tasks.aufmass.fields.materialerfassung.sum(Bauteil, Bauteil.fields.preis * b.fields.Anzahl)`

- **Anwendungsbereich**  
  wird angewendet auf die Aufgabe "Aufmass" im Feld "Materialerfassung" (`tasks.aufmass.fields.materialerfassung`),
- **Aufruf der Funktion**  
  wird standardmäßig aufgerufen (`.sum`),
- **Parameter `x`**  
  durchsucht jedes (`Bauteil`) einzeln,
- **Parameter `p`**  
  nimmt die Werte jedes Bauteils aus dem Feld "Preis" `(Bauteil.fields.preis)`, multipliziert sie mit dem Wert im Feld "Anzahl" `(* Bauteil.fields.Anzahl)` und addiert diese anschließend.
- **Ergebnis**  
  Das Ergebnis ist die Summe aller Preis-Felder multipliziert mit ihrer jeweiligen Anzahl in den Bauteilen dieser Liste.
- **Ergebnis-Beispiel**  
  1.827,23

**Beispiel 3**

`tasks.aufmass.fields.materialerfassung.sum(Bauteil, Bauteil.fields.preis * tasks.AbrechnungDL1.fields.sonderpreiskennzeichen)`

- **Anwendungsbereich**  
  wird angewendet auf die Aufgabe "Aufmass" im Feld "Materialerfassung" (`tasks.aufmass.fields.materialerfassung`),
- **Aufruf der Funktion**  
  wird standardmäßig aufgerufen (`.sum`),
- **Parameter `x`**  
  durchsucht jedes (`Bauteil`) einzeln,
- **Parameter `p`**  
  nimmt die Werte jedes Bauteils aus dem Feld "Preis" `(Bauteil.fields.preis)`, und multipliziert den Preis mit dem Wert im Feld "Sonderpreiskennzeichen" in einer anderen Task  `(* tasks.AbrechnungDL1.fields.sonderpreiskennzeichen)`, bevor die Werte addiert werden.
- **Ergebnis**  
  Das Ergebnis ist die Summe aller Preis-Felder der Bauteile dieser Liste, jeweils multipliziert mit dem Sonderpreiskennzeichen eines Felds in einer externen Task.
- **Ergebnis-Beispiel**  
  1.827,23

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### Feldwert zu Zeichenkette umwandeln

**Anwendungsfall**

Wandelt den Feldwert in eine Zeichenkette um, um z.B. die eine Zahl oder ein Datum für Verkettungen mit Zeichenfolgen verfügbar zu machen.

**Allgemeiner Aufbau**

**`string(...)`**

**Beispiel**

`string(tasks.Stammdaten.fields.Datum)`

- **Aufruf des Befehls `string`**  
  Ruft den Befehl zur Umwandlung auf,
- **Aufruf der Funktion `(...)`**  
  wendet ihn auf den angegebenen Feldwert an (`(tasks.Stammdaten.fields.Datum)`).
- **Ergebnis**  
  Du erhältst den Feldinhalt als ganze Zahl, also als eine positive oder negative Zahl ohne Komma.  entweder negativ oder positiv. 
- **Ergebnis-Beispiel**  
  2 (als Zahl) wird "2" (als String); 03.04.2024 (als Zahl) wird "03.04.2024" (als String).

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### Feldwert zu ganzer Zahl umwandeln

**Anwendungsfall**

Wandeltden Feldwert in eine ganze Zahl (... -2, -1, 0, 1, 2, ...) um. Vor allem relevant, wenn längere Kommazahlen (bspw. 2,72384) in eine runde Zahl umgewandelt werden sollen (dann nur noch 2).

**Allgemeiner Aufbau**

`int(...)`

**Beispiel**

`int(tasks.Stammdaten.fields.Arbeitsstunden)`

- **Aufruf des Befehls `int`**  
  Ruft den Befehl zur Umwandlung auf,
- **Aufruf der Funktion `(...)`**  
  wendet ihn auf den angegebenen Feldwert an (`(tasks.Stammdaten.fields.Arbeitsstunden)`).
- **Ergebnis**  
  Der Wert im Feld "Arbeitsstunden" wird zu einer Integer-Zahl, also einer ganzen positiven oder negativen Zahl, umgewandelt. Der Zahlenwert nach dem Komma wird dabei abgeschnitten.
- **Ergebnis-Beispiel**  
  Aus 2,72384 (rationale Zahl vom Datentyp rational) wird 2 (ganze Zahl vom Datentyp integer).

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### Feldwert zu rationaler Zahl umwandeln

**Anwendungsfall**

Wandelt den Feldwert (negative und positive Zahlen mit Komma) in einen Bruch um, um genauere Berechnungen zu ermöglichen. 

*Diese Funktion brauchst du im Normfalfall nicht, da Zahlenberechnungen in Vaira automatisch vorgenommen werden. *

*Wichtig wird diese Funktion nur bei extrem präzisen Berechnungen. Teilst du zum Beispiel rechnerisch eine 1 durch 3, erhältst du rational eine 0,33333..., aber die Umkehrrechnung 3\*0,3333... ergibt nicht 1, sondern einen Wert knapp darunter. Für eine genauere Berechnung kann man die 1/3 als Bruch darstellen, womit 1/3 \* 3 genau 1 ergibt. Da die Abweichung aber unglaublich gering ist, arbeitet Vaira standardmäßig mit rationalen Zahlen. Über diese Funktion kannst du es aber selbst präzisieren.*

**Allgemeiner Aufbau**

`rational(...)`

**Beispiel**

`rational(1/3)*rational(1/3)`

- **Aufruf des Befehls `rational`**  
  Ruft den Befehl zur Umwandlung auf,
- **Aufruf der Funktion `(...)`**  
  wendet ihn auf die Berechnung oder Zahl innerhalb der Klammern an (`(1/3)`).
- **Aufruf des Befehls `rational`**  
  ruft erneut den Befehl zur Umwandlung auf,
- **Aufruf der Funktion `(...)`**  
  wendet ihn auch hier auf die Berechnung oder Zahl innerhalb der Klammern an (`(1/3)`).
- **Ergebnis**  
  Das Feld erhält das Ergebnis der Berechnung.
- **Ergebnis-Beispiel**  
  2/3 

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### **Concat (Anzeigenamen)**

**Anwendungsfall**

Du möchtest aus einem Optionen-Feld alle ausgewählten Elemente per Komma getrennt ausgeben.

**Allgemeiner Aufbau**

**`.concatDisplayNames()`**

**Beispiel**

`tasks.stammdaten.fields.AnschlussArten.concatDisplayNames() `

- **Anwendungsbereich**  
  wird angewendet auf die Aufgabe "Stammdaten" im Feld "Anschlussarten" (`tasks.stammdaten.fields.AnschlussArten`),
- **Aufruf der Funktion**  
  wird standardmäßig aufgerufen (`.concatDisplayNames`),
- **Parameter `()`**  
  für diese Funktion gibt es keine gesonderten Parameter, du musst aber trotzdem die Klammer auf und Klammer zu setzen, damit Vaira die Funktion richtig erkennt.
- **Ergebnis**  
  Du erhältst alle Optionen durch Komma getrennt.
- **Ergebnis-Beispiel**  
  Birne, Apfel, Kiwi, Melone

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

 

---

#### **Verketten von Feldwerten**

**Anwendungsfall**

Du möchtest die Inhalte unterschiedlicher Felder miteinander kombinieren, um z.B. automatisiert aus mehreren Informationen einen Auftragsnamen o.Ä. zu erzeugen.

**Allgemeiner Aufbau**

`"..." + (...) + ...`

**Beispiel**

*In diesem Beispiel verketten wir drei Feldwerte, die durch ein "\_" voneinander getrennt sind. Am Ende folgt ein "\_" und ein festgelegtes Wort. Es können beliebig viele Werte miteinander verkettet werden. *

*Der gesamte Befehl wird in einem extra dafür angelegten Feld (z.B. "Auftragsname") ausgeführt.*

`string(tasks.Stammdaten.fields.Startdatum) + "_" + tasks.Stammdaten.fields.Kundenname + "_" + "Testwort"`

- **Aufruf des Befehls `string`**  
  Wandelt den Feldwert über die [String-Funktion](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#string) von einem anderen Datentyp (hier: Datum) in einen String-Datentyp um, der für die Verkettung notwendig ist,
- **Feldwert 1 `(...)`**  
  Das erste Feld, aus dem der Wert für die Verkettung übernommen werden soll (`(tasks.Stammdaten.fields.Startdatum)`),
- **Verkettungs-Operator `+`**  
  der `+`-Operator, um Vaira zu sagen, dass hier Strings verbunden werden sollen,
- **Statischer String `"_"`**  
  ein Teil für die Verkettung, der nicht aus einem Feld bezogen wird, sondern eine eigene Zeichenfolge ist, die immer in dieser Form dazugenommen werden soll; hier wird das Symbol `_` hinzugefügt, um einzelne Teile der Verkettung abzutrennen,
- **Verkettungs-Operator `+`**  
  Verkettungs-Operator wie oben schon,
- **Feldwert 2 `(...)`**  
  das zweite Feld, aus dem der Wert für die Verkettung übernommen werden soll; hier aus dem Schritt "Stammdaten" das Feld "Startdatum" (`(tasks.Stammdaten.fields.Startdatum)`),
- **Verkettungs-Operator `+`**  
  Verkettungs-Operator wie oben schon,
- **Statischer String `"_"`**  
  wieder das `_` wie oben zum Abtrennen,
- **Verkettungs-Operator `+`**  
  Verkettungs-Operator wie oben schon,
- **Statischer String statt Feldwert 3** **`(...)`**  
  statt hier einen Wert aus einem Feld zu nehmen, setzten wir ans Ende einen festen String, der immer angehängt werden soll in Anführungszeichen oben; hier ist es das Wort `"Testwort"`. 
- **Ergebnis**  
  Aus dem Beispiel ersteht im Feld, in dem dieser Befehl steht, nun ein zusammenhängender String aus allen verketteten Bestandteilen.
- **Ergebnis-Beispiel**  
  2024-04-24\_Mustermann\_Testwort

[» zurück nach oben](https://support.vaira.app/welche-funktionen-stehen-mir-für-berechnungen-automatisierungen-und-formeln-in-vaira-zur-verfügung#uebersicht)

- [Die Vaira Wissensdatenbank](https://support.vaira.app/die-vaira-wissensdatenbank?hsLang=de)
- [Einrichtung](https://support.vaira.app/einrichtung?hsLang=de#main-content)

    - [Nutzer](https://support.vaira.app/einrichtung?hsLang=de#nutzer)
    - [Kundenportal](https://support.vaira.app/einrichtung?hsLang=de#kundenportal)
    - [Account](https://support.vaira.app/einrichtung?hsLang=de#account)
- [Vaira App](https://support.vaira.app/vaira-app?hsLang=de#main-content)

    - [Einrichtung](https://support.vaira.app/vaira-app?hsLang=de#einrichtung)
    - [Erste Schritte](https://support.vaira.app/vaira-app?hsLang=de#erste-schritte)
    - [Anzeigen, suchen & finden](https://support.vaira.app/vaira-app?hsLang=de#anzeigen-suchen-finden)
    - [Vorgänge bearbeiten](https://support.vaira.app/vaira-app?hsLang=de#vorg%C3%A4nge-bearbeiten)
    - [AR-Vermessung](https://support.vaira.app/vaira-app?hsLang=de#ar-vermessung)
    - [GNSS-Vermessung](https://support.vaira.app/vaira-app?hsLang=de#gnss-vermessung)
    - [3D-Modelle](https://support.vaira.app/vaira-app?hsLang=de#3d-modelle)
    - [Problembehandlung](https://support.vaira.app/vaira-app?hsLang=de#problembehandlung)
    - [Exportieren](https://support.vaira.app/vaira-app?hsLang=de#exportieren)
- [Vaira Office](https://support.vaira.app/vaira-office?hsLang=de#main-content)

    - [Erste Schritte](https://support.vaira.app/vaira-office?hsLang=de#erste-schritte)
    - [Nutzer- und Rollenverwaltung](https://support.vaira.app/vaira-office?hsLang=de#nutzer-und-rollenverwaltung)
    - [Workflows und Prozesse](https://support.vaira.app/vaira-office?hsLang=de#workflows-und-prozesse)
    - [Vorgänge](https://support.vaira.app/vaira-office?hsLang=de#vorg%C3%A4nge)
    - [Arbeiten mit Vermessungen](https://support.vaira.app/vaira-office?hsLang=de#arbeiten-mit-vermessungen)
    - [Verzeichnisse](https://support.vaira.app/vaira-office?hsLang=de#verzeichnisse)
    - [Importieren](https://support.vaira.app/vaira-office?hsLang=de#importieren)
    - [Exportieren](https://support.vaira.app/vaira-office?hsLang=de#exportieren)
    - [3D-Modelle](https://support.vaira.app/vaira-office?hsLang=de#3d-modelle)
    - [Symboldatensätze](https://support.vaira.app/vaira-office?hsLang=de#symboldatens%C3%A4tze)
    - [Schnittstellen](https://support.vaira.app/vaira-office?hsLang=de#schnittstellen)
    - [Problembehandlung](https://support.vaira.app/vaira-office?hsLang=de#problembehandlung)
- [Updates](https://support.vaira.app/updates?hsLang=de)
- [Allgemeine Begriffserklärungen](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#main-content)

    - [A](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#a)
    - [B](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#b)
    - [C](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#c)
    - [D](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#d)
    - [E](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#e)
    - [F](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#f)
    - [I](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#i)
    - [K](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#k)
    - [O](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#o)
    - [S](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#s)
    - [T](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#t)
    - [V](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#v)
    - [W](https://support.vaira.app/allgemeine-begriffserkl%C3%A4rungen?hsLang=de#w)

[![Vaira-Logo](https://support.vaira.app/hs-fs/hubfs/Vaira%20Design-Elemente/vaira%20logo%20top%20name%20bottom%20transparent.png?width=100&height=100&name=vaira%20logo%20top%20name%20bottom%20transparent.png "Vaira-Logo")](https://vaira.app)

Vaira UG (haftungsbeschränkt)  
Technologiepark 13  
33100 Paderborn

[Impressum](https://vaira.app/impressum)

<https://www.youtube.com/channel/UCmm_-1F1qeRlk25Y4gc82xw> <https://www.linkedin.com/company/34892117/> <https://www.facebook.com/VairaUG> <https://www.instagram.com/vaira.app/> <https://open.spotify.com/show/0triopkvbcf1vF8U3uPCau>

Copyright © 2025, Vaira UG (haftungsbeschränkt)