Appearance
ERP-Integration
Die nahtlose Anbindung an microtech büro+ ist ein zentraler Bestandteil der Workflow-Engine. Die Kommunikation erfolgt über eine moderne GraphQL-Schnittstelle, die es ermöglicht, Daten präzise zu lesen und Statusänderungen in Echtzeit zurückzuschreiben.
Beteiligte Tabellen und Felder
Die Workflow-Engine interagiert primär mit der Tabelle tblTransactions (Vorgänge) innerhalb von microtech. Hierbei werden spezifische Felder genutzt, um den Prozess zu steuern und Rückmeldungen aus dem Workflow direkt im ERP sichtbar zu machen.
Steuerung des Workflow-Starts
Damit ein Vorgang in den Workflow gelangt, müssen bestimmte Felder belegt sein:
fldSel30312(Start-Trigger): Dieses Feld fungiert als Ampel. Steht es aufWorkflow angefordert, erkennt die Engine den Datensatz als neuen Task.fldSel30313(Workflow-Name): Hier wird hinterlegt, welcher spezifische Prozess (z.B. ein Freigabeverfahren) gestartet werden soll.fldInExtBeaInfo(Start-Notiz): Ein Textfeld für initiale Kommentare, die dem ersten Bearbeiter im Workflow angezeigt werden.fldDokGUID(Dokument-Referenz): Über diese GUID kann die Engine das verknüpfte Dokument (z.B. ein PDF) direkt aus dem ERP abrufen.
Rückmeldung und Status-Updates
Die Engine steuert den Prozess und den Zugriffsschutz über folgende Felder in tblTransactions:
- Status (
fldSel30312): Mapping der Prozesszustände (im Workflow,Workflow erfolgreich abgeschlossen,Workflow fachlich abgelehnt). - Historie & Protokoll (
fldGspInfo): Export der Workflow-Kommentare sowie des Abschluss-Ergebnisses (Datum Zeit, END, SYSTEM: <Status>) als Textblock mit Trennlinie (__________), vorangestellt vor eventuell bestehenden Notizen. - Sperr-Logik:
- Aktiv:
fldInExtBeaKz = true(Technischer Lock während der Laufzeit). - Abschluss:
fldGspKzbleibt unverändert. Der Datensatz wird durchfnUnlockFromExternalProcessingentsperrt (fldInExtBeaKz = false), undfldInExtBeaInfowird automatisch geleert.
- Aktiv:
Technischer Datenaustausch
| Zeitpunkt | Feld ERP | Richtung | Logik / Format |
|---|---|---|---|
| Start | fldInExtBeaInfo | ERP → Workflow | Import als InitialNote in die Historie. |
| Abschluss | fldInExtBeaInfo | Workflow → ERP | Automatische Bereinigung (auf leeren Wert gesetzt, wenn fldInExtBeaKz von true auf false wechselt). |
| Abschluss | fldGspInfo | Workflow → ERP | Prepend (neue Daten oben). Format: Datum Zeit, Schritt, Bearbeiter: Kommentar gefolgt vom Protokolleintrag Datum Zeit, END, SYSTEM: <Sel30312-Ergebnis> und Trennlinie __________ |
Sperr-Mechanismus (Locking)
Die Synchronisation erfolgt via GraphQL unter Nutzung des microtech Sperrsystems.
- Lock: Setzen von
fldInExtBeaKzbeim Workflow-Start. - Runtime: Datensatz ist in microtech für manuelle Änderungen gesperrt (Hinweis: "Workflow Engine").
- Unlock:
fnUnlockFromExternalProcessingwird vor dem finalen Schreibvorgang aufgerufen (fldInExtBeaKz = false). - Final Status: Abschlussstatus (
fldSel30312) und Protokolleintrag infldGspInfoschreiben (fldGspKzbleibt unverändert), sowiefldInExtBeaInfoleeren.