Abzubildender Prozess
Für das Erstellen eines Workflows (Prozesses) ist es hilfreich, wenn man sich Schritt für Schritt penibel mit den zu erwartenden Informationen und Zusammenhänge aufzeichnet und dann anfängt dies im Activity-Modul vom mySORBA.Workspace abzubilden.
- Offerte wird im DevisQuick ausgedruckt, nach Bestätigen des "Activity-Erstellungsdialogs" soll eine Aufgabe generiert werden -> weiter zu Schritt 2
- Es soll automatisch eine Aufgabe für den Verantwortlichen welcher im ProjektQuick auf dem Projekt im Feld "P_Verantw" hinterlegt ist zuordnen.
- Es soll dem zugeordneten Mitarbeiter eine Infomail an die E-Mailadresse im Feld Email vom Personal-Stamm machen.
- Der Verantwortliche soll nach der Kontrolle die Aufgabe an den Sachbearbeiter welcher im ProjektQuick auf dem Projekt im Feld "P_Sachb" hinterlegt ist zuordnen.
- Der Sachbearbeiter kann nun ab der Aufgabe ein Mail an die E-Mailadresse der Rechnungsadresse versenden mit der Offerte als PDF in den Anlagen.
Schritt 1 - Workflow (Prozess) erfassen
- Activity -> Stammdaten / Aktivitätstypen
- Start / Neuer Aktivitätstyp
-
Allgemeine Informationen erfassen:
Bezeichnung, Aktiviät, Icon, Symbol, Fällig am.
Verknüpfungen definieren
Wir benötigen Systemtechnisch Daten vom Projekt (ProjektQuick) -> z. B. Sachbearbeiter, Adresse (AdressQuick) -> z. B. E-Mailadresse der Rechnungsadresse vom Projekt, Personal (Personal-Stamm) -> z. B. E-Mailadresse vom Mitarbeiter.
- OK
- Start / Workflow bearbeiten -> wir zeichnen als erstes den gewünschten Ablauf auf:
- Auf dem Status "Offerte ausgedruckt" setzen wir die Option "Start setzen" (rechte Maustaste).
- Auf dem Status "Offerte versendet" setzen wir die Option "Ende setzen" (rechte Maustaste).
Schritt 2 - Übergänge konfigurieren
In den Übergängen definiert man, wie man von einem Status in den nächsten kommt und welche Informationen bezogen werden und weitergeleitet werden müssen.
Tipp für das Erarbeiten der Übergänge
Es ist hilfreich sich aufzuzeichnen woher das Programm welche Information Schritt für Schritt beziehen muss damit es wie gewünscht bis zum nächsten Schritt kommt.
Übergang 1 - Prozess Aufgabe an Projektverantwortlichen übergeben
Aktionen definieren, respektive was muss aktiv passieren, damit man zum nächsten Status kommt?
Übergang 1 -> Rechte Maustaste -> Bearbeiten -> Register Aktionen (die Konditionen lassen wir für dieses einfache Beispiel aus).
Folgende Aktionen sollen aufgrund unserer Definition vom Workflow ausgeführt werden:
- Aktion 1
Es soll eine Aufgabe für den mySORBA-Benutzer vom hinterlegten Mitarbeiter im Feld "P_verantw" auf dem Projekt erstellen. - Aktion 2
Es soll eine E-Mail an die E-Mail-Adresse vom mySORBA-Benutzer senden, welchen wir aus Aktion 1 übernommen haben.
Wie werden die Aktionen bestimmt?
Die zur Verfügung stehenden Aktionen werden fix vom Programm vorgegeben, man kann nur den Inhalt der bestimmten Aktionen festlegen. Sollten Möglichkeiten fehlen, müssen diese durch SORBA dem Programm hinterlegt werden.
Aktion 1 - Aufgabe erstellen definieren
- Aktion hinzufügen.
- Feldwert schreiben - Schreibt einen Wert in die Aufgabe oder...
- Auf der Aktion "Feldwert schreiben" definieren wir jetzt:
-
Schreibe in Feld, also welches Feld wird beschrieben.
Feld hinzufügen -> Verantwortlich
-> Dies ist vom Programm so definiert, es weiss, dass wir hiermit eine "Aufgabe" erstellen wollen und dass es da dann den Verantwortlichen für diese Aufgabe hiermit zuweisen muss. -
Wert, als was soll da als Wert dann stehen.
-> Wir wollen, dass da der mySORBA-Benutzer dann drinsteht, da es die Aufgabe ja am mySORBA-Benutzer zuweisen muss.
Um jetzt zu dem gesuchten mySORBA-Benutzer zu gelangen, müssen wir dem Programm jetzt genau mitteilen, was es wie suchen muss und von welcher bereits vorhandenen Information wir ausgehen können:
Wir eröffnen den Prozess aufgrund des Druckauftrages (Offerte drucken) aus dem DevisQuick, wir wissen also bestimmt welches Projekt wir haben.
Feld hinzufügen -> Projekt
->Der "PRJKEY" ist die eindeutige Bezeichnung vom aktuellen Projekt aus der Standard.pro, die Bezeichnung "{ID_Projekt}" ist vom Activity.
Woher kennt das Activity Informationen wie zum Beispiel das Projekt oder die Rechnungsadresse?
Diese Informationen werden anhand der definierten Verknüpfungen zur Verfügung gestellt.
Da wir Projekt, Adresse und Personal gesetzt haben, können wir nun auf diese Tabellen und Informationen zugreifen.
Jetzt wissen wir um welches Projekt es sich handelt, wir möchten jetzt aber den Mitarbeiter aus dem Feld "P_VERANTW" welcher im ProjektQuick auf dem offenen Projekt wissen um danach den mySORBA-Benutzer zu erhalten.
Suche hinzufügen -> Standard.pro
Tabelle = Standard.pro (Projekte)
Suchwerte = Feld "PRJKEY"; Wert "{ID_Projekt}"
Rückgabe-Feld = P_VERANTW
Variable = {P_VERANTW}
Erklärung der eingegebenen Werte:
Tabelle -> hier wählen wir die Standard.pro, weil in dieser Tabelle alle Projekte vom ProjektQuick drinstehen mit allen benötigten Projektinformationen.
Suchwerte -> Feld: in diesem Tabellenfeld der Standard.pro soll gesucht werden nach Wert: der Variable {ID_Projekt} dessen Inhalt dem Entspricht was wir vorher unter "Aufgabe" definiert haben (das Activity weiss welchen PRJKEY das aktuell offene Projekt hat).
Rückgabe-Feld -> Anhand der definierten Suche findet es eine eindeutige Zeile in der Standard.pro und von dieser Zeile nimmt es den Wert aus dem Tabellenfeld "P_VERANTW".
Variable -> Dies ist wieder eine automatisch generierte Variable für das Activity.
Jetzt wissen wir unterdessen, wer für das aktuell offene Projekt als Verantwortlicher im ProjektQuick hinterlegt wurde.
Wir wollen (müssen) die Aufgabe aber dem dazugehörigen mySORBA-Benutzer zuweisen (es können nur mySORBA-Benutzer eine Aufgabe erhalten).
Aus diesem Grund müssen wir noch eine Suche hinzufügen:
Suche hinzufügen -> QUsers.dbf
Tabelle = QUsers.dbf (Benutzer)
Suchwerte = Feld "SUCH_NAME"; Wert "{P_VERANTW}"
Rückgabe-Feld = MYSUSER
Variable = {MYSUSER}
Erklärung der eingegebenen Werte:
Tabelle -> Wir wählen hier die QUsers.dbf, weil in dieser Tabelle die mySORBA-Benutzer und dazugehörige Suchnamen hinterlegt sind.
Suchwerte -> Feld: in diesem Tabellenfeld der QUsers.dbf soll gesucht werden nach Wert: der Variable {P_VERANTW} dessen Inhalt dem Entspricht was wir vorher über die Tabelle Standard.pro in Erfahrung gebracht haben.
Rückgabe-Feld -> Aufgrund der Suche wurde ein eindeutiger Eintrag in der Tabelle QUsers.dbf gefunden aus dessen Tabellenfeld "MYSUSER" wir den Inhalt (eben den mySORBA-Benutzer) haben möchten.
Variable -> Dies ist wieder eine automatisch generierte Variable für das Activity.
-
Schreibe in Feld, also welches Feld wird beschrieben.
Hiermit ist die Aktion "Aufgabe erstellen" definiert. Es weist also automatisch dem mySORBA-Benutzer eine Aufgabe zu.
Aktion 2 - E-Mail-Versand definieren
- Aktion hinzufügen
- E-Mail senden (ohne Anhänge) - Sendet eine E-Mail ohne Anhang...
- Auf der Aktion "E-Mail senden (ohne Anhänge)" definieren wir jetzt
-
Empfänger -> An welche E-Mail-Adresse soll die E-Mail gehen.
Hier gehen wir ähnlich wie beim mySORBA-Benutzer aus Aktion 1 vor, mit dem Unterschied, dass wir eine E-Mail-Adresse benötigen.
Um jetzt zu der gesuchten E-Mail-Adresse zu gelangen, müssen wir dem Programm jetzt genau mitteilen, was es wie suchen muss und von welcher bereits vorhandenen Information wir ausgehen können:
Wir eröffnen den Prozess aufgrund des Druckauftrages (Offerte drucken) aus dem DevisQuick, wir wissen also bestimmt welches Projekt wir haben.
Feld hinzufügen -> Projekt
-> Wir wählen deshalb Projekt, weil wir im ProjektQuick auf dem Projekt aus dem Feld "P_VERANTW" den Wert (Suchnamen) benötigen.
Der "PRJKEY" ist die eindeutige Bezeichnung vom aktuellen Projekt aus der Standard.pro, die Bezeichnung "{ID_Projekt}" ist vom Activity.
Wir wissen jetzt also den Projektschlüssel vom Projekt um welches sich handelt.
Nun müssen wir im ProjektQuick danach suchen um den Suchnamen aus dem Feld "P_VERANTW" zu erhalten:
Suche hinzufügen -> Standard.pro
Tabelle = Standard.pro (Projekte)
Suchwerte = Feld "PRJKEY"; Wert "{ID_Projekt}"
Rückgabe-Feld = P_VERANTW
Variable = {P_VERANTW}
Erklärung der eingegebenen Werte:
Tabelle -> hier wählen wir die Standard.pro, weil in dieser Tabelle alle Projekte vom ProjektQuick drinstehen mit allen benötigten Projektinformationen.
Suchwerte -> Feld: in diesem Tabellenfeld der Standard.pro soll gesucht werden nach Wert: der Variable {ID_Projekt} dessen Inhalt dem Entspricht was wir vorher unter "Aufgabe" definiert haben (das Activity weiss welchen PRJKEY das aktuell offene Projekt hat).
Rückgabe-Feld -> Anhand der definierten Suche findet es eine eindeutige Zeile in der Standard.pro und von dieser Zeile nimmt es den Wert aus dem Tabellenfeld "P_VERANTW".
Variable -> Dies ist wieder eine automatisch generierte Variable für das Activity.
Jetzt wissen wir unterdessen, wer für das aktuell offene Projekt als Verantwortlicher im ProjektQuick hinterlegt wurde.
Wir müssen aber die E-Mail-Adresse vom Verantwortlichen herausfinden.
Aus diesem Grund müssen wir noch eine Suche hinzufügen:
Suche hinzufügen -> DOM_PERS.dbf
Tabelle = DOM_PERS.dbf (Personalstamm)
Suchwerte = Feld "SUCH_NAME"; Wert "{P_VERANTW}"
Rückgabe-Feld = EMAIL
Variable = {EMAIL}
Erklärung der eingegebenen Werte:
Tabelle -> Wir wählen hier die DOM_PERS.dbf, weil in dieser Tabelle die Personalinformationen wie eben die E-Mailadresse und dazugehörige Suchnamen hinterlegt sind.
Suchwerte -> Feld: in diesem Tabellenfeld der DOM_PERS.dbf soll gesucht werden nach Wert: der Variable {P_VERANTW} dessen Inhalt dem Entspricht was wir vorher über die Tabelle Standard.pro in Erfahrung gebracht haben.
Rückgabe-Feld -> Aufgrund der Suche wurde ein eindeutiger Eintrag in der Tabelle DOM_PERS.dbf gefunden aus dessen Tabellenfeld "EMAIL" wir den Inhalt (eben die E-Mail-Adresse) haben möchten.
Variable -> Dies ist wieder eine automatisch generierte Variable für das Activity.
- Betreff -> Welcher Betreff soll angegeben sein. Hier nehmen wir einen neutralen Text, Beim "Übergang 3" befassen wir uns mit einem dynamischeren Betreff.
-
Nachricht
Hier schreiben wir einen einfachen neutralen E-Mailtext. Beim "Übergang 3" befassen wir uns mit einem dynamischeren E-Mailtext.
-
Empfänger -> An welche E-Mail-Adresse soll die E-Mail gehen.
Hiermit ist die Aktion "E-Mail senden (ohne Anhänge)" definiert. Es bezieht die die E-Mail anhand dem hinterlegten Verantwortlichen über den Personal-Stamm und verschickt sie mit dem definierten Betreff und Nachricht:
Übergang 2 - Prozess Aufgabe an Offertersteller übergeben
Aktionen definieren, respektive was muss aktiv passieren, damit man zum nächsten Status kommt?
Übergang 2 -> Rechte Maustaste -> Bearbeiten -> Register Aktionen (die Konditionen lassen wir für dieses einfache Beispiel aus).
Folgende Aktionen sollen aufgrund unserer Definition vom Workflow ausgeführt werden:
- Aktion 1
Es soll eine Aufgabe für den mySORBA-Benutzer vom hinterlegten Mitarbeiter im Feld "P_sachb" auf dem Projekt erstellen.
-> Die selbe Aufgabenstellung wie bei Übergang 1, mit dem Unterschied dass wir den Sachbearbeiter benötigen. - Aktion 2
Es soll eine E-Mail an die E-Mail-Adresse vom mySORBA-Benutzer senden, welchen wir aus Aktion 1 übernommen haben.
-> Die selbe Aufgabenstellung wie bei Übergang 1, mit dem Unterschied dass wir den Sachbearbeiter benötigen.
Aktion 1 - Aufgabe erstellen definieren
Das Erstellen der Aufgabe wird detailiert im Punkt "Übergang 1" beschrieben und kann so übernommen werden, anders ist hier nur, dass wir anstatt "P_VERANTW" das Feld "P_SACHB" verwenden:
Aktion 2 - E-Mail-Versand definieren
Das Erstellen der Aufgabe wird detailiert im Punkt "Übergang 1" beschrieben und kann so übernommen werden, anders ist hier nur, dass wir anstatt "P_VERANTW" das Feld "P_SACHB" verwenden:
Übergang 3 - Prozess E-Mail an Kunde versenden
Aktionen definieren, respektive was muss aktiv passieren, damit man zum nächsten Status (hier Abschluss) kommt?
Übergang 2 -> Rechte Maustaste -> Bearbeiten -> Register Aktionen (die Konditionen lassen wir für dieses einfache Beispiel aus).
Folgende Aktion soll aufgrund unserer Definition vom Workflow ausgeführt werden:
- Aktion 1
Es soll eine E-Mail an die E-Mail-Adresse mit dem Offertausdruck als PDF versenden.
Aktion 1 - E-Mail senden (mit Anhänge) definieren
Aufgrund von der Art des Workflows weiss das Activity von sich aus um welche Rechnungsadresse es sich handelt. Ebenfalls hat es beim Drucken der Offerte automatisch das PDF mit dem da gewählten Format-Set abgelegt.
Wir müssen also nur noch festlegen welches die gewünschte E-Mail-Adresse ist und wie das E-Mail inhaltlich aussehen soll.
- Aktion hinzufügen
- E-Mail senden (mit Anhänge) - Sendet eine E-Mail mit den Dateien ...
- Auf der Aktion "E-Mail senden (mit Anhänge)" definieren wir jetzt
-
Empfänger -> An welche E-Mail-Adresse soll die E-Mail gehen.
Hier beziehen wir die E-Mail von der Rechnungsadresse des gemachten Ausdruckes.
Um jetzt zu der gesuchten E-Mail-Adresse zu gelangen, müssen wir dem Programm jetzt genau mitteilen, was es wie suchen muss und von welcher bereits vorhandenen Information wir ausgehen können:
Wir eröffnen den Prozess aufgrund des Druckauftrages (Offerte drucken) aus dem DevisQuick, das Programm weiss also genau um welche Adresse es sich handelt.
Feld hinzufügen -> Adresse
Nun weiss das Programm, dass wir mit der {ID_Adresse} nach etwas suchen möchten.
Wir möchten die E-Mail-Adresse dieser Adresse bekommen und diese steht in der Tabelle vom AdressQuick.
Suche hinzufügen -> QAdress.dbf
Tabelle = QAdress.dbf (Adressen)
Suchwerte = Feld "ADRNR"; Wert "{ID_Adresse}"
Rückgabe-Feld = EMAIL
Variable = {EMAIL}
Erklärung der eingegebenen Werte:
Tabelle -> Wir wählen hier die QAdress.dbf, weil in dieser Tabelle die Adressinformationen wie eben die E-Mailadresse und dazugehörige Adressnummer hinterlegt sind.
Suchwerte -> Feld: ADRNR, in diesem Tabellenfeld der QAdress.dbf soll gesucht werden nach Wert: der Variable {ID_Adresse} dessen Inhalt dem Entspricht was wir anhand dem vorher definierten Feld "ID_Adresse" in Erfahrung gebracht haben.
Rückgabe-Feld -> Aufgrund der Suche wurde ein eindeutiger Eintrag in der Tabelle QAdress.dbf gefunden aus dessen Tabellenfeld "EMAIL" wir den Inhalt (eben die E-Mail-Adresse) haben möchten.
Variable -> Dies ist wieder eine automatisch generierte Variable für das Activity. -
Betreff -> In dem E-Mail betreff möchten wir noch die Projektbeschreibung mitgeben, welche automatisch geladen werden soll (wir möchten ja nicht jedes Mal diese anpassen müssen).
-> Variable hinzufügen
Feld hinzufügen -> Projekt
Die hier erhaltene Variable {ID_Projekt} ist wieder die Ausgangslage um die Projektbeschreibung aus dem ProjektQuick zu erhalten.
Suche hinzufügen -> Standard.pro (Projekte)
Tabelle = Standard.pro (Projekte)
Suchwerte = Feld "PROJKEY"; Wert "{ID_Projekt}"
Rückgabe-Feld = PRJDESCR
Variable = {PRJDESCR}
Erklärung der eingegebenen Werte:
Tabelle -> Wir wählen hier die Standard.pro, weil in dieser Tabelle die Projektinformationen wie eben die Projektbeschreibung aus dem ProjektQuick hinterlegt sind.
Suchwerte -> Feld: PRJKEY, in diesem Tabellenfeld der Standard.pro soll gesucht werden nach Wert: der Variable {ID_Projekt} dessen Inhalt dem Entspricht was wir anhand dem vorher definierten Feld "ID_Projekt" (der Projektschlüssel, welchen das Activity kennt da wir ja aus dem DevisQick ausdrucken) in Erfahrung gebracht haben.
Rückgabe-Feld -> Aufgrund der Suche wurde ein eindeutiger Eintrag in der Tabelle Standard.pro gefunden aus dessen Tabellenfeld "PRJDESCR" wir den Inhalt (eben die E-Mail-Projektbeschreibung) haben möchten.
Variable -> Dies ist wieder eine automatisch generierte Variable für das Activity.
Tipp
Möchte man die Variable überarbeiten, macht man dies über die rechte Maustaste -> Definition bearbeiten.
-
Nachricht -> Hier definieren wir den E-Mailtext.
Bei "Nur Text" lassen sich keine Formatierungen vornehmen, bei "Rich-Text" können z. B. Teile markiert und hervorgehoben werden. - Optionale Informationen hinterlegen, z. B. Absender Anzeigename
-
Empfänger -> An welche E-Mail-Adresse soll die E-Mail gehen.
Automatischer Prozesstart festlegen
Wir möchten, dass sobald wir den Offert-Ausdruck im DevisQuick ausgeführt haben, die Aufgabe dann automatisch beim Verantwortlichen erscheint / zugewiesen ist.
Würden wir jetzt nichts mehr definieren, würde der Workflow zwar funktionieren, aber nach dem Erstellen der ersten Aufgabe "Offerte ausgedruckt" würde diese einfach beim ausdruckenden mySORBA-Benutzer liegen und auf Weiterleitung zum Projektverantwortlichen warten.
Dies können wir automatisieren:
- Unter "Stammdaten / Aktivitätstypen" -> Cursor auf den erstellten Aktivitätstyp -> "Start / Aktivitätstyp bearbeiten".
- "Start / Ereignis hinzufügen" -> DevisQuick - Offerte gedruckt (DevisQuick) - Ereignis passiert, wenn ...
- Darauf definieren wir unter "Auto. Übergang", dass der erste Übergang "Prozess Aufgabe an Projektverantwortlichen übergeben" automatisch ausgeführt werden soll.
So gesehen führt also das Programm für uns den ersten Übergang selbstständig aus.
Somit sind alle Übergänge definiert und der Workflow ist einsatzbereit.
Workflow durchspielen
- Projekt im DevisQuick öffnen
- Drucken / Offerte drucken -> Haken für "Activity eintr." setzen
- Format-Set wählen -> OK
Das hier gewählte Format-Set wird jetzt für das PDF an den Kunden gewählt. - Druckvorschau schliessen
- Ja
- Nachdem der Activity Eintrag erstellt wurde, ist der Workflow in Gang gesetzt.
- Sieht man die Aufgabe im Activity an, hat es wie gewünscht die Informationen hinterlegt.
Technisch passiert auf der Aktion das was wir definiert haben:
1. Vom Projekt wird der Wert vom Feld "Verantwortung" (P_VERANTW) gezogen.
2. Damit wird in der Benutzerverwaltung gesucht und der Wert mySORBA-User bezogen.
3. Dieser wird dann der Aufgabe zugewiesen.
E-Mail im Posteingang, Text und Betreff gemäss unserer Definition:
- Nachdem die Offerte kontrolliert wurde, kann es weiter gehen mit dem Ausführen des Übergangs.
Wir sehen, der Text für den nächsten Schritt wurde anhand vom Übergang übernommen:
- Danach wird das Mail wie definiert an den Sachbearbeiter generiert und die Aufgabe zugewiesen:
Technisch passiert auf der Aktion das was wir definiert haben:
1. Vom Projekt wird der Wert vom Feld "Sachbearbeiter (P_SACHB)" gezogen.
2. Damit wird in der Benutzerverwaltung gesucht und der Wert mySORBA-User bezogen.
3. Dieser wird dann der Aufgabe zugewiesen.
- Nachdem die Offerte kontrolliert wurde, kann es weiter gehen mit dem Ausführen des Übergangs.
Wir sehen, der Text für den nächsten Schritt wurde anhand vom Übergang übernommen:
Wie definiert ist die Aufgabe abgeschlossen:
Ebenfalls hat es die E-Mail gemäss unserer definierten Aktion generiert:
Technisch hat es wie von uns im Übergang definiert folgendes gemacht:
1. Für die Empfänger-E-Mail im AdressQuick nach der Rechnungsadresse gesucht und vom Feld "EMAIL" die E-Mail-Adresse bezogen.
2. Für den Betreff hat es im Projekt den Wert vom Feld "PRJDESCR" im ProjektQuick gezogen und eingesetzt.
- Der Prozess / Workflow wurde automatisch abgeschlossen, weil wir im Status "Offerte versendet" die Option "Ende setzen" hinterlegt haben.
Vorheriger Artikel: 11. Beispiele der Ereignisse / Aktionen
Nächster Artikel: 11.2. Aufgabenzuweisung über das ProjektQuick