# Einführung in das Skripting in Ninox

## **Was ist Ninox Skripting** <a href="#what-is-ninox-scripting" id="what-is-ninox-scripting"></a>

Ninox Skripting ist die integrierte Sprache, mit der du Ninox sagst, was es tun soll. Damit kann deine App berechnen, reagieren und automatisieren.

Du fügst kurze Skripte meist in ein Feld, einen Button oder eine Automatisierung ein.

Nutze Skripting, wenn du:

* Werte allgemein oder abhängig von mehreren Bedingungen berechnen willst
* Felder und Elemente abhängig von Bedingungen anzeigen willst
* andere Datensätze automatisch aktualisieren willst
* Aktionen ausführen willst, wenn sich etwas ändert
* Ninox mit einem anderen Dienst verbinden willst

Wenn Ninox für dein Ziel schon eine integrierte Einstellung bietet, nutze zuerst diese. Nutze Skripting, wenn du eigene Logik oder Automatisierung brauchst.

Schon ein kleines Skript kann nützlich sein:

```ninox
if total > 100 then "High" else "Normal" end
```

Dieses Skript prüft einen Wert und gibt ein Ergebnis zurück. Das ist die Grundidee vieler Ninox Skripte.

Skripte in Ninox helfen dir dabei:

* wiederkehrende Aufgaben zu automatisieren
* Werte dynamisch zu berechnen
* Eingaben zu validieren und Regeln durchzusetzen
* verknüpfte Datensätze zu aktualisieren
* automatisch auf Ereignisse zu reagieren
* Ninox mit externen Diensten zu verbinden

### **Wichtige Konzepte und Begriffe** <a href="#key-concepts-and-terminology" id="key-concepts-and-terminology"></a>

Für den Einstieg brauchst du nicht viele Begriffe. Diese siehst du am häufigsten:

* **Tabelle**: eine Gruppe gleichartiger Datensätze, zum Beispiel Rechnungen oder Kontakte.
* **Feld**: ein einzelner Wert in einem Datensatz, zum Beispiel ein Name, Datum oder Status.
* **Datensatz**: ein einzelner Eintrag in einer Tabelle.
* **Skript**: ein Block mit Ninox Logik, der Daten liest, einen Wert zurückgibt oder Daten ändert.
* **Anweisung**: eine einzelne Instruktion in einem Skript, zum Beispiel `if`, `select` oder `for`.
* **Variable**: ein benannter temporärer Wert innerhalb eines Skripts.
* **Datentyp**: die Art von Wert, mit der ein Skript arbeitet, zum Beispiel Text, Zahl, Datum, Datensatz oder Array. JSON ist eher ein *Format* als ein *Datentyp*. Der Datentyp ist Text mit einer bestimmten Struktur wie bei XML.
* **Operator**: ein Symbol oder Schlüsselwort, das Werte berechnet, vergleicht oder kombiniert, zum Beispiel `+`, `=`, `and` oder `:=`.
* **Funktion**: eine fertige Operation wie `sum()`, `date()` oder `text()`.
* **Auswahl**: eine Liste von Datensätzen, die eine Abfrage wie `select` zurückgibt.
* **Kontext**: der Ort, an dem das Skript läuft, zum Beispiel ein Feld, Button oder eine Automatisierung. Der Kontext bestimmt, welche Werte verfügbar sind.
* **Automatisierung**: Logik, die automatisch läuft, wenn ein definiertes Ereignis eintritt.
* **Logik-Editor**: der Editor, in dem du Skripte schreibst, formatierst und Fehler behebst.

{% hint style="info" %}
Wenn dir diese Begriffe noch abstrakt vorkommen, ist das normal. Sie werden klarer, sobald du sie in einem kurzen Skript siehst.
{% endhint %}

### **Wo du Skripte in Ninox einsetzen kannst** <a href="#where-you-can-use-scripts-in-ninox" id="where-you-can-use-scripts-in-ninox"></a>

Du kannst dieselbe Skriptsprache an verschiedenen Stellen nutzen:

* **Logikfelder**, um Werte automatisch zu berechnen
* **Buttons**, um Aktionen oder Logik per Klick auszuführen
* **Automatisierungen**, um Logik nach einem Ereignis automatisch auszuführen
* **Abfragen, Filter und Auswahlen**, um Datensätze zu finden und zu sortieren
* **Integrationen**, um Daten an andere Systeme zu senden oder von dort zu empfangen

Die Sprache bleibt gleich, aber der Kontext ändert sich. Ein Button führt Logik aus, wenn ein Nutzer das auslöst. Eine Automatisierung läuft, weil ein Ereignis eingetreten ist.

Typische Beispiele sind:

* einen Rabatt in einem Logikfeld berechnen
* eine Rechnung per Klick auf einen Button drucken und speichern
* einen Status mit einer Automatisierung setzen
* Daten an einen externen Dienst senden

Um die grundlegenden Sprachmuster zu lernen, lies [Zentrale Elemente des Skriptings kennenlernen](/ninox-scripting/de/automate-your-workflows/explore-core-scripting-elements.md). Um das Verhalten von Automatisierungen zu verstehen, lies [Automatisierungen](/ninox-scripting/de/automate-your-workflows/automations.md).

### **So startest du mit Skripting** <a href="#getting-started-with-scripting" id="getting-started-with-scripting"></a>

Starte mit einem kleinen, sichtbaren Ergebnis. So lernst du am schnellsten.

{% stepper %}
{% step %}

### Starte mit einem einfachen **Button**

Buttons lassen sich leicht testen. Du klickst einmal und siehst direkt, was passiert.
{% endstep %}

{% step %}

### Lerne die Grundbausteine

Lies [Zentrale Elemente des Skriptings kennenlernen](/ninox-scripting/de/automate-your-workflows/explore-core-scripting-elements.md), um Anweisungen, Variablen, Datentypen und Operatoren zu verstehen.
{% endstep %}

{% step %}

### Nutze den Editor, um schneller zu arbeiten

Lies [Funktionen des Logik-Editors](/ninox-scripting/de/automate-your-workflows/explore-core-scripting-elements/logic-editor-features.md), um zu lernen, wie Ninox dir beim Formatieren, Suchen, Beheben von Fehlern und mit Ninox AI hilft.
{% endstep %}

{% step %}

### Nutze mehr Funktionen

Lies [Mit Funktionen arbeiten](/ninox-scripting/de/automate-your-workflows/work-with-functions.md), wenn du Datumswerte, Textverarbeitung, Berechnungen, Auswahlen oder Integrationen brauchst.
{% endstep %}

{% step %}

### Automatisiere erst, wenn die manuelle Version funktioniert

Wechsle zu [Automatisierungen](/ninox-scripting/de/automate-your-workflows/automations.md), sobald deine Logik in einem **Button** oder Feld zuverlässig funktioniert.
{% endstep %}
{% endstepper %}


---

# 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.ninox.com/ninox-scripting/de/automate-your-workflows/einfuhrung-in-das-skripting-in-ninox.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.
