Skripte
In diesem Menüpunkt kannst Du eigene Skripte für Deine Workflows anlegen und zentral verwalten. Diese Skripte lassen sich anschließend gezielt einzelnen Workflow-Elementen zuweisen, ohne dass sie für jedes Element neu erstellt werden müssen. Das sorgt für eine saubere Struktur und erleichtert die konsistente Verwendung von Skripten.
Skript-Gruppen
Im Bereich “Skript-Gruppen” kannst Du Gruppen anlegen, um Deine Skripte thematisch zu strukturieren. So behältst Du auch bei einer größeren Anzahl von Skripten den Überblick. Über den grünen Pfeil neben einer Gruppe kannst Du die darin enthaltene Skripte aufklappen und einsehen.
Mit dem Button “+Freies Skript” bzw. “+Vordefiniertes Skript” innerhalb einer geöffneten Gruppe legst Du direkt ein neues Skript an, das automatisch dieser Gruppe zugeordnet wird.

Sobald Du ein Skript einer Gruppe zuordnest, wird es nicht mehr im darunterliegenden Bereich “Skripte” angezeigt, sondern ausschließlich unter der jeweiligen Skript-Gruppe.
Freie Skripte
Im Bereich “Freie Skripte” werden ausschließlich die Skripte angezeigt, die keiner Skript-Gruppe zugeordnet sind.

Über die Buttons “+Freies Skript” und “+Vordefiniertes Skript” kannst Du ein neues Skript anlegen. Neben einer Bezeichnung und einer optionalen Beschreibung gibst Du im Feld “Domäne” den Bereich an, in dem das Skript verwenden werden soll.
Folgende Bereiche stehen Dir als Domäne zur Verfügung:
App: Skripte können im Zusammenhang von installierte Apps unter System/Apps im Reiter “Skripte” verwendet werden und stehen dort innerhalb der jeweiligen App-Funktionalität zur Verfügung.
Bibliothek: Skripte können mit dieser Domäne beispielsweise als Entwurf gespeichert werden, ohne dass sie in einem bestimmten Bereich auswählbar sind. Diese Domäne eignet sich zur Vorbereitung oder Archivierung von Skripten.
Import/Stapelverarbeitung: Skripte mit dieser Domäne können für vordefinierte und individuelle Stapel-Aktionen in verschiedenen Bereichen verwendet werden. Zusätzlich können sie für die manuelle Skriptverarbeitung unter System/Import eingesetzt werden.
Undefiniert: Skripte können auch mit dieser Domäne beispielsweise als Entwurf gespeichert werden, ohne in einem bestimmten Bereich auswählbar zu sein. Diese Domäne eignet sich ebenfalls zur Vorbereitung oder Archivierung von Skripten.
Workflow Intermediate-Event: Skripte können unter System/Workflows im Element “Warten (indirekt)” verwendet werden.
Workflow Split-Gateway: Skripte stehen unter System/Workflows im Element “Abfrage” zur Verfügung.
Workflow-Skript: Skripte können unter System/Workflows im Element “Benutzerskripte” eingebunden werden.
Freie und Vordefinierte Skripte
Freie und vordefinierte Skripte unterscheiden sich darin, wie nachträgliche Anpassungen an dem Skript gespeichert werden. Freie Skripte können jederzeit über den Button “Bearbeiten” beliebig bearbeitet und gespeichert werden.

Bei vordefinierten Skripten stehen Dir zwei unterschiedliche Bearbeitungsoptionen zur Verfügung:
Bearbeiten: Hierüber kannst Du Änderungen oder Ergänzungen vornehmen. Es lassen sich jedoch nur solche Anpassungen bearbeiten oder löschen, die über diesen Button erstellt wurden.
Vorgabedaten ändern: Über diese Option bearbeitest Du das Ursprungsskript sowie alle Änderungen, die ebenfalls über “Vorgabedaten ändern” vorgenommen wurden. Änderungen über den Button “Bearbeiten” sind in dieser Ansicht nicht sichtbar.
Mit dem Button “Vorgabedaten zurücksetzen” entfernst Du alle Anpassungen, die über “Bearbeiten” vorgenommen wurden. Das Skript wird dabei auf das Ursprungsskript bzw. auf den letzten Stand zurückgesetzt, der über “Vorgabedaten ändern” gespeichert wurde.
Skript über “Vorgabedaten ändern” anpassen
Wenn Du ein Skript über den Button “Vorgabedaten ändern” bearbeitest, können nur das Ursprungsskript sowie Änderungen, die ebenfalls über “Vorgabedaten ändern” vorgenommen wurden, angepasst werden. Anpassungen, die über den Button “Bearbeiten” durchgeführt wurden, sind in dieser Ansicht nicht sichtbar und werden beim Speichern überschrieben.
Verfassung des Skripts
Im Bereich “Skript” kannst Du dann Deinen Skript zusammensetzen. Dieser kann bei der Auswahl des Skripts in einem Element beliebig angepasst und erweitert werden. Aus diesem Grund sind diese Skripte besonders nützlich, um Skriptbestandteile zu speichern, die in mehreren Elementen benötigt werden.
JavaScript-Kenntnisse erforderlich
Für das Erstellen und Bearbeiten von Workflows sind Kenntnisse in der Programmiersprache JavaScript erforderlich. Die Workflows greifen direkt in die Abläufe von VARIO Cloud ein – fehlerhafte Workflows können daher zu unerwünschtem Verhalten oder Störungen im System führen. Prüfe Deine Workflows daher sorgfältig, bevor Du sie aktivierst.
Mithilfe der integrierten Protokolle und Logs zu den Workflows lassen sich solche Fehler zwar nachvollziehen, dennoch ist technisches Verständnis erforderlich, um sie gezielt zu beheben.
Über “+ Workflow” kannst Du einen neuen Workflow anlegen. Bestehende Workflows lassen sich über das Aktionsmenü auch als JSON-Datei importieren.

Für die Verfassung des Skripts stehen Dir innerhalb des Skripts verschiedene Tools zur Verfügung.
Detaillierte Informationen zum Scripting stehen dir in unseren Developer Docs zur Verfügung.
Im Skript eines Benutzerskript-Elements stehen Dir verschiedene Funktionen und Objekte zur Verfügung, mit denen Du den Ablauf des Workflows gezielt steuern kannst. Hier ein Überblick über die wichtigsten Begriffe:
_setGuard_ (optional)
Definiert eine Bedingung, unter der der Workflow ausgeführt werden soll. Beispiel: nur bei bestimmtem Ländercode.
_return true_
Gibt innerhalb der _setGuard_ an, dass die definierte Aktion immer ausgeführt wird.
_return false_
Gibt innerhalb der _setGuard_ an, dass die definierte Aktion nie ausgeführt wird.
_setPrepare_ (optional)
Hier können Variablen mit Parametern befüllt werden, die später in _setAction_ verwendet werden.
_setAction_
Definiert die eigentliche Aktion, die im Workflow ausgeführt werden soll.
_ctx_
Bietet Zugriff auf verschiedene Kontextinformationen, die sich je nach Workflow-Auslöser unterscheiden können.
_ctx.availableInput_
Zugriff auf die für den Workflow verfügbaren Parameter, je nach Auslöser (z. B. die Aufgaben-ID bei einem Workflow mit dem Auslöser “Nach dem Speichern einer Aufgabe”).
_ctx.instanceDetails_
Zugriff auf Informationen zur aktuellen Workflow-Instanz.
_ctx.parameters_
Zugriff auf vordefinierte Parameter, z. B. Vorgängerbeleg oder vorherige Datensatzversion. Anders als bei _availableinput_ können diese erweitert werden, z. B. durch C-Units.
_ctx.parameters['previousDocument']_
Zugriff auf die vorherige Version des Beleges für Workflows mit den Auslösern “Vor dem Speichern”, “Nach dem Speichern”, “Bei Beginn der Bearbeitung” und “Bei Synchronisierung” von Belegen.
_ctx.parameters['sourceDocumentId']_
Zugriff auf die ID des Ursprungsbelegs für einen Workflow mit dem Auslöser Übernahme von Belegen.
_ctx.services_
Zugriff auf die für den Workflow zur Verfügung stehenden Verarbeitungsmethoden, mit denen wiederum auf die Geschäftsobjekte in der VARIO Cloud, z. B. Adressen oder Artikel, zugegriffen werden kann.
Beispiel: _ctx.services.accountService.create_ = Adresse anlegen
_ctx.services.logger.info(...)_
Fügt einen selbst definierten Hinweis zum Log des Elements hinzu.
_ctx.services.vqlService_
Ausführung einer VQL-Abfrage, um im Workflow auf das Ergebnis dieser zugreifen zu können.
Tipps zur Verfassung des Skripts
Im JavaScript-Editor im Reiter “Skript” steht Dir eine Autovervollständigung zur Verfügung, die Dir alle verfügbaren Kontextobjekte (
ctx.) und JavaScript-Methoden auflistet.Beim Navigieren durch die Vorschläge mit den Pfeiltasten wird jeweils ein Tooltip mit einer Kurzbeschreibung des gewählten Objekts oder Befehls eingeblendet.

Du kannst eigene Funktionen außerhalb von
setActiondefinieren und anschließend innerhalb vonsetActionverwenden.Zudem kannst Du Konstanten definieren, um z. B. Feldnamen eindeutig zu benennen.
Mit der Tastenkombination Strg+F kann die Suchfunktion im Skript geöffnet werden, um nach einem Wert im Skript zu suchen.
In den C-Units verschiedener Bereiche gibt die Spalte “Version” an, wie oft ein Datensatz bereits bearbeitet wurde. Diese Information kann in Workflows genutzt werden, um bestimmte Schritte abhängig von der Bearbeitungsversion auszuführen. Wenn z. B. Zusatzfelder nicht direkt beim Anlegen eines Datensatzes ausgefüllt werden, kannst Du Workflow-Schritte so steuern, dass sie erst ab einer bestimmten Versionsnummer greifen – also z. B. erst, wenn der Datensatz ein zweites Mal gespeichert wurde. Weitere Informationen dazu findest Du hier.
ERP-Berechtigungen
Über die ERP-Berechtigungen kannst Du sowie bei Dashboards und Selektionen festlegen, wer auf die Skripte zugreifen und diese bearbeiten kann. Dir stehen dabei folgende Optionen zur Verfügung:
Lesen und Bearbeiten – Alle Benutzer können auf das Skript zugreifen und es bearbeiten.
Nur Lesen – Alle Benutzer können das Skript einsehen, aber nicht bearbeiten. Über die Felder “Benutzer (Lesen und Bearbeiten)” und “Benutzergruppe (Lesen und Bearbeiten)” kannst Du einzelnen Benutzern und Benutzergruppen zusätzliche Bearbeitungsrechte zuweisen.
Individuell – Mit dieser Option kannst Du gezielt festlegen, welche Benutzer und Benutzergruppen ein Skript nur einsehen dürfen und welche zusätzlich Bearbeitungsrechte erhalten. Wenn Du z. B. im Feld “Benutzer (Lesen und Bearbeiten)” ausschließlich Deinen eigenen Benutzernamen auswählst, ist das Skript nur für Dich sichtbar und bearbeitbar. Benutzer ohne zugewiesene Zugriffsrechte haben keinen Zugriff auf das Skript – sie können es weder einsehen noch bearbeiten.
Angelegte Skripte verwenden
Wenn Du im Menüpunkt “Workflows” ein Element hinzufügst, bei dem ein Skript verwendet werden kann, z. B. Abfrage- oder Benutzerskript-Element, kannst Du im Reiter “Skript” im Feld “Skript-Modul” ein vorhandenes Skript auswählen. Je nach Bedarf können diese dann weiter angepasst und erweitert werden. Weitere Informationen zu den Workflows findest Du auf der Handbuchseite “Workflows”.

HTTP-Whitelist
Mit dieser Funktion steht Dir eine neue Verwaltungsoberfläche für die HTTP-Whitelist des SecureHttpClients zur Verfügung. Über diese Whitelist steuerst Du gezielt, zu welchen externen Zielen HTTP-Anfragen (z. B. aus Skripten) erlaubt sind. Nur Adressen, die hier hinterlegt sind, können vom System angesprochen werden. Das erhöht die Sicherheit deutlich, da unerlaubte oder unbekannte Zieladressen automatisch blockiert werden.
Du kannst Whitelist-Einträge flexibel anlegen, bearbeiten, deaktivieren und löschen. Dabei werden drei Typen unterstützt: Domain (z. B. api.example.com), um alle Anfragen an eine Domain zu erlauben, URL für exakt definierte Zieladressen sowie URL-Pattern, mit denen Du mithilfe von Mustern (engl. Pattern) und Platzhalterzeichen (engl. Wildcards) ganze URL-Bereiche freigeben kannst.

Wichtiger Hinweis
Die Funktion steht Dir nur zur Verfügung, wenn Du über die Berechtigung “Skriptverwaltung” verfügst. Diese Berechtigung sollte ausschließlich an Personen mit entsprechenden Kenntnissen vergeben werden, da hier aktiv in die Prozesslogik eingegriffen wird.
Zuletzt aktualisiert
War das hilfreich?
