# Systemvariablen

Systemvariablen sind für die dynamische Verwendung von z.B. Attributen unumgänglich. Im Folgenden werden diese erklärt und durch gängige [Beispiele](#gangige-beispiele) veranschaulicht.

## Erklärung

Systemvariablen sind ein **technischer Schlüssel**, mit denen bestimmte Objekte innerhalb des Systems ausgegeben werden können.&#x20;

Beispiel: `system.user` bezieht sich auf Benutzer im System.&#x20;

Bei der Zusammensetzung dieser Schlüssel entsteht ein **Pfad durch das System**.&#x20;

Beispiele:&#x20;

* `system.user.role` bezieht sich auf das Benutzerrecht eines Benutzers
* `system.user.role.department` bezieht sich auf die Benutzergruppe, der ein Benutzer durch sein Benutzerrecht angehört

Durch diese Form der Zusammensetzung können unterschiedliche Informationen innerhalb des System abgerufen werden, sodass diese z.B. für **vorausgefüllte Werte** oder die **Zuweisung innerhalb von Aktionen** benutzt werden können.&#x20;

### Wo finden Systemvariablen Verwendung

Systemvariablen können an folgenden Punkten in der Software eingesetzt werden:&#x20;

* Für vorausgefüllte Werte für Formular- und Aufgabenfelder
* Für Verwendung in Aufgaben- und Formularaktionen in&#x20;
  * Aktions-Bedingungen
  * Zuweisungen für Folgeaufgaben und Benachrichtigungen
  * Beschreibungstexte für Folgeaufgaben
  * Inhalt von Benachrichtigungen

{% hint style="info" %}
An den genannten Punkten werden die **richtigen Schlüssel** bei Auswahl der Option **"Benutzerdefinierte Systemvariablen"** und **"Attribut der Benutzergruppe"** oder **"Attribut des Benutzerrechts"** bereits **voreingestellt** und müssen nur für den **speziellen Anwendungsfall ergänzt** werden.&#x20;
{% endhint %}

### Anpassung der Standard-Schlüssel

Ein **möglicher voreingestellter Schlüssel** für z.B. Attribute aus **Benutzergruppen** lautet:&#x20;

`system.user.role.department.additional_attributes.YOUR_SET_KEY.YOUR_FIELD_ID.resolved_value`&#x20;

Ein **möglicher Schlüssel** für Attribute aus **Benutzerrechten** lautet:&#x20;

`system.user.role.additional_attributes.YOUR_SET_KEY.YOUR_FIELD_ID.resolved_value`&#x20;

In beiden Fällen müssen die groß geschriebenen Ausdrücke `YOUR_SET_KEY` und `YOUR_FIELD_ID` noch durch die individuellen Informationen ergänzt werden. Diese finden sich in der Bearbeitungsmaske eines [Attributsatzes](/verwaltung/zusatzliche-attribute.md).&#x20;

### Vorausgefüllte Felder mit Werten aus Attributen

Für das Verwenden von Attributen in vorausgefüllten Feldern weichen die Schlüssel je nach Feldtyp ab. Dieser Schlüssel ist per Default für jeden Feldtyp bereits korrekt hinterlegt.&#x20;

Für ein Auswahlfeld lautet der Schlüssel für ein Attribut einer Benutzergruppe z.B.&#x20;

`system.user.role.department.additional_attributes.YOUR_SET_KEY.YOUR_FIELD_ID.request_value`

Hier müssen lediglich die groß geschriebenen Ausdrücke `YOUR_SET_KEY` und `YOUR_FIELD_ID` ausgetauscht werden, sodass die Werte aus dem hinterlegten Attribut übernommen werden.

## Gängige Beispiele

<table><thead><tr><th width="84.41015625" data-type="number">Nr.</th><th width="273.69921875" valign="top">Beschreibung</th><th valign="top">Schlüssel</th></tr></thead><tbody><tr><td>1</td><td valign="top">In einem <strong>Auswahlfeld (Objekte)</strong> einer Aufgabe oder eines Formulars wird eine <strong>Benutzergruppe</strong> ausgewählt. Eine <strong>bestimmte Person</strong>, die bei der Benutzergruppe in den Attributen hinterlegt ist, soll durch eine Aktion eine <strong>Folgeaufgabe zugewiesen</strong> bekommen. <br><em>(Bsp.: Der Bezirksleiter einer Filiale)</em></td><td valign="top"><p><code>field.YOUR_FIELD_ID.resolved_value.additional_attributes.YOUR_SET_KEY.YOUR_FIELD_ID.resolved_value</code> <br></p><p>Erklärung: <code>YOUR_FIELD_ID</code> wird durch die ID des Feldes ersetzt, in dem die Benutzergruppe ausgewählt wird. <br><code>YOUR_SET_KEY</code> und <code>YOUR_FIELD_ID</code> werden wie oben beschrieben durch die Informationen aus dem Attributsatz ersetzt.<br><br>Dieser Schlüssel wird dann als Systemvariable in der Aufgabenzuweisung der Aktion verwendet.</p></td></tr><tr><td>2</td><td valign="top">Ergänzend zu <strong>Nr. 1</strong> soll nun auf ein <strong>Attribut bei der zuerst angesteuerten Person</strong> zugegriffen werden. <br><em>(Bsp.: Der Chef des Bezirksleiters)</em></td><td valign="top"><code>field.YOUR_FIELD_ID.resolved_value.additional_attributes.YOUR_SET_ID.YOUR_FIELD_ID.resolved_value.role.additional_attributes.YOUR_SET_ID.YOUR_FIELD_ID.resolved_value</code><br><br>Erklärung: Wie in Nr. 1 müssen hier alle groß geschriebenen Ausdrücke ersetzt werden. </td></tr><tr><td>3</td><td valign="top">Wenn das <strong>Attribut einer Benutzergruppe</strong> einen <strong>bestimmten Wert</strong> hat, soll eine <strong>spezielle Folgeaufgabe</strong> oder <strong>Benachrichtigung</strong> ausgelöst werden. <br><em>(Bsp.: Die Filiale hat in den Attributen den Wert "Sonntagsfiliale" hinterlegt und deshalb sind andere Folgeaufgaben nötig.)</em></td><td valign="top">Der Schlüssel aus Nr. 1 wird an der Stelle ebenfalls benutzt, nur wird dieser nicht für die Zuweisung einer Folgeaufgabe verwendet, sondern als Bedingung einer Aktion.  </td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.intratool.de/verwaltung/zusatzliche-attribute/systemvariablen.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
