Workflow Beispiele
Beispiel-Workflows für typische Automatisierungen in Belegen, Projekten und Angeboten.
Versandlieferscheine übernehmen
Mit diesem Workflow werden Versandlieferscheine beim Speichern automatisch in den Status “Übernommen” versetzt – somit können diese nicht mehr in eine Rechnung übernommen werden. Dies kann nützlich sein, um eine individuell angelegte Belegarten wie den “Versandauftrag” und den “Versandlieferschein” beispielsweise für kostenlose Mustersendungen zu verwenden.
Alle anderen Belegarten der Belegkategorie “Lieferschein” werden trotzdem weiterhin wie gewohnt erst bei der Übernahme in den Folgebeleg in den Status “Übernommen” gesetzt.
Voraussetzungen:
Damit die entsprechenden Schritte im Workflow ausgeführt werden können, muss die Belegart Versandlieferschein im Bereich Einstellungen/Belege/Belegarten vorhanden sein.
Um diesen Workflow anzulegen, gehe wie folgt vor:
Lege einen Workflow an und wähle als Auslöser entweder “Vor dem Speichern von Belegen” oder “Übernahme von Belege“.
Füge dem Start-Element den Element “Benutzerskript” hinzu.
Wechsle in den Reiter “Skript” des Benutzerskript-Elements und ersetze den vorhandenen Inhalt durch folgendes Skript:
Skript des Benutzerskript-Elements
import workItem from ‘work_item_script’;
workItem.setAction((ctx) => {
var documentService = ctx.services.documentService;
var document = documentService.readById(ctx.parameters[‘documentId’]);
if (document.documentType === ‘Versandlieferschein’) { ctx.parameters[‘targetState’] = ‘ACCEPTED’;
}
});
Klicke auf “Speichern“, um das Benutzerskript-Element anzulegen.
Füge das Element “Abschließen” hinzu und verbinde die drei Elemente – Start, Benutzerskript und Abschließen – wie im folgenden Bild dargestellt.

Speichere und aktiviere den Workflow, damit er bei zukünftigen Belegen automatisch ausgeführt wird.
Der Workflow kann selbstverständlich beliebig erweitert und mit anderen Workflow-Pfaden und –Schritten kombiniert werden.
Belege beim Speichern in Folgebeleg übernehmen
In einem Workflow mit dem Auslöser “Nach dem Speichern von Belegen” kannst Du in einem Benutzerskript-Element folgendes Skript hinterlegen, um Belege einer bestimmten Belegart automatisch beim Speichern in den jeweiligen Folgebeleg übernehmen zu lassen – in diesem Beispiel ein Angebot in einen Auftrag. Der Aufbau des Workflows kann dabei an den Workflow “Versandlieferscheine übernehmen” angelehnt oder individuell erweitert und angepasst werden.
Skript für das Benutzerskript-Element
import workItem from “work_item_script”;
workItem.setAction( ctx => {
var documentService = ctx.services.documentService;
var document = documentService.readById(ctx.parameters[‘documentId’]);
if (document.documentType === ‘Angebot’) {
let documentTransferToTypeRequest = documentService.getDocumentTransferToTypeRequest(); documentTransferToTypeRequest.documentId = document.id;
documentTransferToTypeRequest.targetDocumentType = ‘Auftrag’; documentService.transferToType(documentTransferToTypeRequest);
ctx.parameters[‘skipTransitionToTargetState’] = true;
}
});Die in diesem Beispiel verwendeten Belegarten “Angebot” und “Auftrag” lassen sich durch beliebige, selbst angelegte Belegarten ersetzen, sofern diese in der Belegkette direkt aufeinanderfolgen.

VQL in Workflow-Skripten
Mit VQL kannst Du in einem Workflow-Skript auf bestimmte Daten zugreifen. Dazu steht Dir im Skript-Editor der vql-Service zur Verfügung. Du erreichst ihn dort ganz einfach über: ctx.services.vqlservice
Skript für das Benutzerskript-Element
In diesem Beispiel berechnen wir die Summe aller Nettobeträge der Belege einer Adresse und schreiben den Wert ins Log.
Im Element "Benutzerskript" kannst Du folgendes Beispiel-Skript mit VQL-Anteil einfügen:
Im Workflow-Log findest Du dann die mit dieser Beispiel-VQL errechnete Summe:

Fehlermeldungen in Workflows
In bestimmten Fällen ist es sinnvoll, einen Workflow gezielt in einen Fehler laufen zu lassen – beispielsweise, wenn ein bestimmtes Feld nicht ausgefüllt wurde oder bestimmte Bedingungen nicht erfüllt sind. Im Skript des betroffenen Elements (z. B. Benutzerskript) kann dazu eine individuelle Fehlermeldung hinterlegt werden, die dem Benutzer beim Ausführen des Workflow-Schritts angezeigt wird.
Beispiel: Fehler beim Speichern eines Belegs
In diesem Beispiel wird ein Fehler innerhalb eines Workflows mit dem Auslöser “Vor dem Speichern von Belegen” integriert.
Im Benutzerskript wird dazu mit throw eine Fehlermeldung beim Speichern des Belegs ausgegeben, um die Speicherung aktiv zu verhindern.
Mit ctx.services.logger.info(...) kann zusätzlich eine Log-Info im Workflow-Protokoll und Element-Log erzeugt werden, um den Grund der Unterbrechung nachvollziehbar zu dokumentieren.

Beim Speichern des Belegs erscheint eine Hinweismeldung mit dem definierten Fehlertext.

Sowohl der Inhalt der Meldung als auch die Log-Info sind im Log des Benutzerskript-Elements und im Gesamtprotokoll des Workflows einsehbar.

Zahlungs- und Lieferbedingungen für Angebote ohne Geschäftsbeziehungen
Mit diesem Workflow kannst Du die Erstellung von Angeboten für Interessenten vereinfachen, bei denen noch keine Geschäftsbeziehung hinterlegt ist.
Standardmäßig müssten in solchen Fällen die Zahlungs- und Lieferungsmodalitäten manuell im Angebot eingetragen werden. Mit diesem Workflow werden diese Angaben automatisch mit vordefinierten Standardwerten ausgefüllt, die im Workflow festgelegt wurden.
Voraussetzungen:
Damit die im Beispiel definierte Zahlungs- und Lieferungsmodalitäten eingetragen werden können, müssen diese im Vorfeld unter folgenden Bereichen angelegt sein:
Einstellungen/Finanzen/Zahlungsmodalitäten: Zahlungsart “UEB” und Zahlungsbedingung “SN”
Einstellungen/Lager/Lieferungsmodalitäten: Versandart “DL” und Lieferbedingung “FH”
Im Skript des Benutzerskript-Elements kannst Du die entsprechenden Werte an Deine eigenen Zahlungs- und Lieferungsmodalitäten anpassen.
Um diesen Workflow anzulegen, gehe wie folgt vor:
Lege einen Workflow an und wähle den Auslöser “Bei Erstellung von Belege”.
Füge dem Start-Element den Element “Abfrage” hinzu.
Füge im Reiter “Abzweigungen” die Abzweigungen CUSTOMER_OFFER und UNKNOWN hinzu.

Klicke auf “Speichern“, um das Abfrage-Element anzulegen.
Füge anschließend das Benutzerskript-Element hinzu und im Reiter “Skript” des Elements das folgende Skript:
Anpassung der Zahlungs- und Lieferungsmodalitäten
Die im Benutzerskript angegebenen Zahlungs- und Lieferungsmodalitäten können bei Bedarf individuell angepasst werden. Dazu musst Du lediglich folgende Angaben im Skript des Benutzerskript-Elements ändern:
const DELIVERY_METHOD = ‘DL‘; – statt DL kannst Du hier die Bezeichnung der gewünschten Versandart eintragen &#xNAN;const DELIVERY_TERM = ‘FH‘; – statt FH kannst Du hier die Bezeichnung der gewünschten Lieferbedingung eintragen &#xNAN;const PAYMENT_METHOD = ‘UEB‘; – statt UEB kannst Du hier die Bezeichnung der gewünschten Zahlungsart eintragen &#xNAN;const PAYMENT_TERM = ‘SN‘; – statt UEB kannst Du hier die Bezeichnung der gewünschten Zahlungsbedingung eintragen
Füge die Elemente “Warten (eins)” und “Abschließen” hinzu.
Verbinde die Elemente Start, Abfrage, Benutzerskript, Warten und Abschließen miteinander sowie die Elemente Abfrage und Warten (eins), so dass eine Darstellung wie im Bild entsteht.

Speichere und aktiviere den Workflow, damit er bei zukünftigen Angeboten automatisch ausgeführt wird.
Zuweisung des Projektleiters in Aufgaben des Projekts
Mit diesem Workflow wird beim Wechsel eines bestimmten Projektstatus, in unserem Beispiel vom Status “00 – Angelegt” in den Status “05 – in Vorbereitung für Kick-Off”, der im Projekt hinterlegte Projektmanager (intern) als zugeordneter Benutzer in den verknüpften Aufgaben eingetragen. Zusätzlich wird der Status der betroffenen Aufgaben auf einen vordefinierten Status gesetzt, bspw. “Zugeordnet“.
Voraussetzungen:
Damit die entsprechenden Schritte im Workflow korrekt ausgeführt werden können, müssen folgende Projekt- und Aufgabenstatus zuvor unter folgenden Bereichen in der VARIO Cloud angelegt sein:
Einstellungen/CRM/Aufgaben: Aufgabenstatus “Zugeordnet”
Einstellungen/CRM/Projekte: Projektstatus “00 – Angelegt” und “05 – in Vorbereitung für Kick-Off”
Im Skript des Benutzerskript-Elements kannst Du die entsprechenden Werte an deine eigenen Statusbezeichnungen anpassen.
Zusätzlich wird eine Selektion aus der Adressverwaltung mit den folgenden Einstellungen benötigt:
Die Bezeichnung “Eigene Adresse”
Der Toggle “Für Workflow” im Reiter “Allgemein” muss aktiviert sein
Die Spalte “ID“
Ein Filter mit dem Feld “Geschäftsbeziehung”, der Operation “Ist gleich” und dem Wert “Eigene Firma” als fester Wert
Weitere Informationen zur Konfiguration von Selektionen findest Du hier.
Lege einen Workflow an und wähle den Auslöser “Nach dem Speichern von Projekten” aus.
Füge dem Start-Element den Element “Benutzerskript” hinzu.
Wechsle in den Reiter “Skript” des Benutzerskript-Elements und ersetze den vorhandenen Inhalt durch folgendes Skript:
Anpassung der Projekt- und Aufgabenstatus
Die im Benutzerskript angegebenen Projekt- und Aufgabenstatus können bei Bedarf individuell angepasst werden. Dazu musst Du lediglich folgende Angaben im Skript des Benutzerskript-Elements ändern:
const PROJEKT_STATUS_ANGELEGT = ‘00 – Angelegt‘; – statt “00 – Angelegt” kannst Du hier die Bezeichnung des ersten gewünschten Projektstatus eintragen &#xNAN;const PROJEKT_STATUS_VORBEREITUNG = ‘05 – in Vorbereitung für Kick-Off’’; – statt “05 – in Vorbereitung für Kick-Off” kannst Du hier die Bezeichnung des zweiten gewünschten Projektstatus eintragen &#xNAN;onst AUFGABE_STATUS_ZUGEORDNET = ‘Zugeordnet‘; – statt Zugeordnet kannst Du hier die Bezeichnung des gewünschten Aufgabenstatus eintragen
Klicke im Reiter “Parameter” auf den Button
, um einen Parameter auf Basis einer Selektion anzulegen.
Füge einen neuen Parameter mit den folgenden Angaben hinzu und wähle die im Voraus angelegte Selektion aus.

Klicke auf “Speichern“, um das Benutzerskript-Element anzulegen.
Füge das Element “Abschließen” hinzu und verbinde die drei Elemente – Start, Benutzerskript und Abschließen – wie im folgenden Bild dargestellt.

Speichere und aktiviere den Workflow, damit er bei zukünftigen Belegen automatisch ausgeführt wird.
Geschenk-Artikel zu Angeboten hinzufügen
Mit diesem Workflow kann ein beliebiger Artikel als Genschenk-Artikel automatisch mit einem vorgegebenen Rabatt zu einem Angebot hinzugefügt werden, beispielsweise für bestimmte Adressen, bei denen z. B. einen vordefinierten Umsatz erreicht wurde. Dabei kann frei definiert werden welcher Umsatz als Variable gesetzt wird und welcher Rabatt der Artikel erhalten soll.
In unserem Beispiel wird der Artikel “ACC-1083” mit einem Rabatt von 100% in Angebote für Adressen hinzugefügt, die einen Umsatz von mindestens 10.000 erreicht haben.
Voraussetzungen
Der im Workflow angegebene Artikel muss mit den entsprechenden Angaben angelegt werden (als Verkaufsartikel, rabattierbar, mit Verkaufspreis usw.)
Lege einen Workflow an und wähle den Auslöser “Vor dem Speichern von Belegen” aus.
Füge dem Start-Element das Element “Abfrage” hinzu.
Füge im Reiter “Abzweigungen” die Abzweigungen SHOW_USER_DECISION und DO_NOTHING hinzu.
Klicke auf “Speichern“, um das Abfrage-Element anzulegen.
Füge anschließend das Benutzeraktion-Element hinzu und aktiviere den Toggle “Verantwortlicher Benutzer ist ausführender Benutzer“.
Stelle die folgenden Einstellungen im Reiter “Benutzeraktion” ein:

Nach dem Speichern des Elements “Benutzeraktion” füge ein Benutzerskript-Element hinzu.
Füge zwei Abschließen–Elemente hinzu und verbinde die Elemente untereinander, wie im folgenden Bild dargestellt. Die einzelnen Elemente sind anhand der entsprechenden Icons zu erkennen.

Speichere den Workflow. Nach Aktivierung des Workflows wird dieser nach dem Speichern von zukünftigen Belegen ausgeführt.
Zuletzt aktualisiert
War das hilfreich?

