Visio Workflow
Der Invoice-Mappentyp wird zusammen mit dem Workflow "WorkflowRules" ausgeliefert, welcher über das Visio-Plugin erstellt wurde. Der Workflow enthält keine Sub-Workflows. Der Workflow startet oben mittig und verläuft entgegen dem Uhrzeigersinn immer im Kreis. Der Verlauf kann zum einen über die Workflow-Konfiguration bestimmt werden. Zum anderen bieten die im Workflow hinterlegten Skripte User-Exits, um Feldwerte an der Mappe zu manipulieren.
Initiales Skript
Der Workflow startet mit einem initialen Skript-Aufruf. In dem Skript werden die initialen Berechtigungen gesetzt und falls es noch keine Rechnungsposition gibt wird eine initiale Rechnungsposition erstellt. Über die User-Exit Funktion "ue_Initialization()" kann beliebiger weiter Code ausgeführt werden. Das initiale Skript wird nur einmalig ausgeführt. Alle folgenden Abschnitte werden bis zum Workflow-Ende in jedem Durchlauf immer wieder ausgeführt.
Workflow-ID und Workflow-Aktion ermitteln
Zunächst wird eine eindeutige Workflow-ID ermittelt. Pro Workflow-ID können völlig unterschiedliche Abläufe definiert werden. Im Anschluss wird die Folge-Aktion zur bisherigen Aktion ermittelt. Die Workflow-Aktionen werden sequentiell abgearbeitet. Wenn noch keine Workflow-Aktion definiert ist wird die initiale Workflow-Aktion zur Workflow-ID ermittelt.
Die zugeordnete Workflow-ID kann im Laufe des Workflows wechseln. Wenn die Workflow-ID wechselt, dann wird geprüft ob die bisherige Workflow-Aktion auch im neuen Workflow vorkommt. Falls dem so ist startet der neue Workflow mit der Folge-Aktion zur alten Aktion und andernfalls startet der neue Workflow mit der ersten Aktion.
Einige für die Workflow-Steuerung relevanten Angaben werden direkt an der Aktion gehalten. Alle Informationen werden als JSON-String in das Feld "ActionInfoJSON" geschrieben, um Datenbankzugriffe zu vermeiden. Der Nachteil ist, dass sich Anpassungen bei der Workflow-Aktions-Konfiguration nicht direkt auswirken können.
Bei den Workflow-Aktionen wird zwischen technischen Aktionen und Aktionen, bei denen ein Benutzer oder eine Gruppe aktiv etwas bearbeiten muss. Rein technische Aktionen sind zum Beispiel die Archivierung oder die Buchungsschnittstelle.
Bei der Ermittlung der Aktion wird kein User-Exit angeboten.
Workflow-Regeln ermitteln
Über die Workflow-Regeln werden Benutzer oder Gruppen der Workflow-Aktion zugeordnet. Für technische Aktionen müssen keine Workflow-Regeln gepflegt werden. Nach der Benutzer-Ermittlung wird das User-Exit "ue_CheckWorkflowRules()" aufgerufen. Über diese Funktion können die Worfklow-Regel-Ergebnisse nachträglich manipuliert werden.
Technische Aktion
