Automatisierungen - Hinweise und Tipps
Paket: BASIS
1. Hinweise und Tipps zu Automatisierungen
In unserem YouTube-Kanal stehen im Video zum Thema Automatisierungen ein Praxisbeispiel zur Zyklusvermeidung (Minute 30:36) sowie weiterführende Erläuterungen zu komplexen Strängen und Verknüpfungen (Minute 39:50) zur Verfügung.
1.1. Hinweise
Automatisierungen können an bestimmte Mandanten gebunden werden:
- Mailscanner die an Mandanten gebunden sind, werden ausgeführt, wenn einer davon für den Benutzer, dessen Postfach gescannt wird, erlaubt ist.
- Der Mandant für die Datensatzanlage wird automatisch über den Ausgangsdatensatz ermittelt. In Modulen ohne explizite Mandantenauswahl greift die Zuständigkeit bzw. der eingeloggte Benutzer.
Änderungen, die von Automatisierungen vorgenommen werden, werden entsprechend in der Änderungsverfolgung protokolliert.
Im Standard werden Auslöser ausschließlich durch manuelle Aktionen in der Benutzeroberfläche ausgelöst. Soll ein Auslöser auch bei Änderungen greifen, die über die API oder einen CSV-Import/Update erfolgen, muss dies im Auslöser über das Feld “Auch für Änderungen über” explizit aktiviert werden.
Dies ist insbesondere dann zu beachten, wenn externe Dienste über die API Prozesse in brainX anstoßen - etwa Push-Benachrichtigungen von DocuSeal nach erfolgter Unterschrift. In solchen Fällen muss bei allen beteiligten Auslösern eines Automatisierungsstrangs - einschließlich verketteter Folgeauslöser - der Wert “API” aktiviert sein.
In einer Aktion einer Automatisierung kann eine Zeitverzögerung konfiguriert werden.
Dies bedeutet, dass z.B. ein E-Mail-Versand so konfiguriert werden kann, dass die E-Mail erst nach Ablauf einer frei definierbaren Zeitverzögerung nach dem Speichervorgang versendet wird.
Alle Aktionen mit konfigurierter Zeitverzögerung werden im Modul Geplante Aktionen aufgelistet und können dort nochmals kontrolliert und bei Bedarf gelöscht werden.
Mahngebühren u. Verzugszinsen in Automatisierungen sind nur für das Modul Rechnungen möglich.
Aktionen erlauben Zugriff auf sekundäre Daten des Auslösers, wenn passend. Dazu zählen z.B. Positionsfelder aus Faktura-Datensätzen.
Sollten bei einer Automatisierung Fehler auftreten, werden diese in den Logdateien protokolliert.
Um die auslösenden Knoten leichter identifizieren zu können, stehen in den Knoten Nummern, welche in den Logdateien entsprechend angezeigt werden.
In einer Automatisierung beziehen sich "Zyklen" auf wiederholte Abläufe oder Prozesse, die in einer Schleife ausgeführt werden. Diese Zyklen können in verschiedenen Kontexten auftreten, wie zum Beispiel bei der Verarbeitung von Daten, der Ausführung von Aufgaben oder der Interaktion mit Benutzern.
Zyklen können problematisch sein, wenn:
- Endlosschleifen entstehen: Wenn ein Prozess so konzipiert ist, dass er sich selbst immer wieder ausführt, ohne eine Bedingung zu haben, die ihn stoppt, kann dies zu einer Überlastung des Systems führen.
- Ressourcenverschwendung: Zyklen können unnötige Ressourcen beanspruchen, was die Effizienz der Software beeinträchtigt.
- Fehleranfälligkeit: Komplexe Zyklen können schwer zu debuggen sein und zu unerwarteten Fehlern führen.
Um Zyklen zu vermeiden, können folgende Strategien angewendet werden:
- Bedingungen festlegen: Sicherstellen, dass jeder Zyklus eine klare Abbruchbedingung hat, die erfüllt sein muss, damit der Prozess endet.
- Eingabekontrollen: Eingaben und Bedingungen überprüfen, um sicherzustellen, dass sie nicht zu unerwarteten Zyklen führen.
- Testen und Validieren: Umfassende Tests durchführen, um sicherzustellen, dass die Automatisierungsprozesse wie gewünscht funktionieren und keine Zyklen erzeugen.
Durch diese Maßnahmen kann die Wahrscheinlichkeit von Zyklen in einer Automatisierung reduziert und die Effizienz und Stabilität der Prozesse verbessert werden.
Löst eine Automatisierung einen Zyklus aus, wird nur eine einzelne Meldung ausgegeben. Die betroffene Automatisierung wird anschließend mit einer Markierung versehen, die darauf hinweist, dass seit der letzten Speicherung ein Zyklus aufgetreten ist. Die Markierung wird aufgehoben, sobald die Automatisierung erneut bearbeitet und gespeichert wird.
Alle aufgetretenen Zyklen werden weiterhin in einer separaten Log-Datei protokolliert, um eine nachträgliche Analyse zu ermöglichen. Zyklen sollten generell vermieden werden, da sie zu unnötiger Systemlast führen.
1.2. Tipps
Aufgrund ihres Funktionsumfangs und der Vielzahl möglicher Auslöser, Bedingungen und Aktionen sind Automatisierungen ein sehr “mächtiges“ Instrument.
Bei der Erstellung - gerade bei etwas komplexeren Automatisierungen - wird empfohlen, sensible Aktionen (z. B. der E-Mail-Versand von Rechnungen, Mahnungen etc.) die erste Zeit mit Zeitverzögerung auszuführen. Die E-Mails können dann vor dem Versand im Modul Geplante Aktionen nochmals kontrolliert werden.
Liefern die Aktionen das gewünschte Ergebnis, kann die Zeitverzögerung reduziert oder entfernt werden.
Bei der Erstellung von Auslösern, Bedingungen und Aktionen sollten stets “sprechende”, also aussagekräftige, Namen gewählt werden.
Sprechende Namen sind aus mehreren wichtigen Gründen sinnvoll:
- Klar benannte Auslöser, Bedingungen und Aktionen machen die Automatisierung verständlicher. Wer die komplette Automatisierung betrachtet, erkennt sofort den Zusammenhang und den Ablauf, ohne die Konfiguration der einzelnen Knoten ansehen zu müssen.
- Falls zu einem späteren Zeitpunkt Änderungen an der Automatisierung notwendig sind, erleichtern aussagekräftige Namen das Verständnis und die Anpassung der Automatisierung.
- Wenn mehrere Personen/Benutzer administrative Berechtigungen besitzen und entsprechend Automatisierungen bearbeiten dürfen, erleichtert dies die gemeinsame Bearbeitung.
Zur Berechnung von Werten in Bedingungen und Aktionen - z.B. vergangene Zeit zwischen zwei Datumswerten - werden manchmal Feldwerte benötigt, die in den Standardfeldern nicht zur Verfügung stehen.
Es bietet sich in solchen Fällen an, in der Modulverwaltung Felder anzulegen, und diese mit der Eigenschaft Zusätzliche Angabe zu kennzeichnen.
Wurde die Einstellung “Zusätzliche Angabe” aktiviert, steht das Feld nicht in der Hauptmaske zur Dateneingabe zur Verfügung, sondern wird in einer separaten Seitenleiste in der Detailansicht eines Datensatzes angezeigt.
Im brainX-System werden Änderungen in den Globalen Einstellungen grundsätzlich protokolliert (siehe Abschnitt Letzte Änderungen). Dabei werden jedoch nicht alle Details einer Änderung gespeichert.
Vor der Durchführung von Änderungen an einer Automatisierung kann diese durch duplizieren/kopieren als “Sicherungskopie” gespeichert werden. In dieser Kopie kann diese nochmals im Detail angesehen werden, nachdem in der ursprünglichen Automatisierung Änderungen durchgeführt wurden. Mittels Export kann eine Automatisierung auch separat gesichert werden.
Gerade bei komplexeren Automatisierungen sollten die Schritte von durchgeführte Änderungen eventuell auch durch den Administrator manuell protokolliert werden.