Die Zustandsregeln legen fest, welche Rolle einen Workflow-Datensatz von welchem Zustand in einen anderen bringen kann und wie die Aktion heisst (die Aktion bestimmt, wie der Button im Workflow später heisst).
Beispiel:
Wenn StatusWenn RolleAktionNeuer Status
(Neuer Datensatz) Beantragenbeantragt
beantragtVorstandZustimmenzugestimmt
beantragtVorstandAblehnenabgelehnt
Im Zustands-Diagramm (zu öffnen per Link "[Zustandsregeln]") haben Sie folgende Möglichkeiten:
FeldBeschreibung
Neue Regel hinzufügen
Backup erstellen
Backup wiedereinspielen
Legt eine neue Zustandsregel an, und ermöglicht einen Sicherheitsexport und -restore.
 Schließen
Schließt das Fenster
[Formular]Öffnet das mit diesem Zustand verbundene Formular (siehe "Formulare") zum Bearbeiten
[Zustandsregel-Box]Ein Klick auf die Box öffnet die Zustandsregel zum Bearbeiten, siehe nachfolgend
[+]Legt eine neue Statusmails (siehe "Workflow-Statusmails") an, die beim Erreichen des Statuswertes verschickt wird,
[Statusmail] Öffnet die Statusmail zum Berbeiten (siehe "Workflow-Statusmails")

Zustandsregel anlegen/bearbeiten/Löschen

Klicken Sie auf "Neue Regel hinzufügen", um eine neue Zustandsregel anzulegen, oder auf den Namen einer Zustandsregel, um diese zu bearbeiten oder zu löschen.
Hier haben Sie folgende Möglichkeiten:
BefehlBedeutung
Wenn Status gibt an, dass diese Zeile gilt, wenn der Workflow aktuell diesen Status hat
Wenn Bearbeiter ist in gibt an, dass die nachfolgenden Aktionen nur gelten, wenn der Benutzer ein Mitglied der ausgewählten Rolle/Gruppe/Gruppenleiter ist
und erfüllt folgende Bedingung hiermit kann eine zusätzliche Prüfung erfolgen, möglich sind (!... negiert):
  • IstGruppenleiter(FELDNAME)
  • IstMitglied(FELDNAME)
  • IstExtern
  • IstIntern
  • IstAntragsteller
  • PruefeMitglied(FELDNAME)
  • FELDNAME1=WERT | FELDNAME2=WERT & FELDNAME3=WERT (|=ODER, &=UND)
  • parameter:XXX=WERT (dies ist ein Url-Parameter ..&abc=1 : "parameter:abc=1")
Aktion (=Button-Beschriftung) Wenn der Nutzer in der Rolle und ggf. die zusätzliche Bedingung erfüllt ist, dann sieht der Benutzer einen Button mit dieser Beschriftung.
Spezialfälle:
  • Die Aktion "Auto()" wird sofort nach Zustandswechsel ausgeführt.
  • Die Aktion "Auto(24 Std)" automatisch nach 24 Std, nachdem seit x Stunden keine Aktion im Workflow erfolgt ist.
  • Die Aktion "Auto(1.9.)" wird am 1.9. ausgeführt.
  • Die Aktion "Auto(-14 Tage:36 Std)" wird relativ zu einem Veranstaltungsdatum (aus Feldname "veranstaltung") ausgeführt, nachdem seit x Stunden keine Aktion im Workflow erfolgt ist.
  • Die Aktion "Auto(-22 Tage:72 Std, -8 Tage:48 Std, 24 Std)" wird relativ zu einem Veranstaltungsdatum (aus Feldname "veranstaltung") ausgeführt, nachdem seit x Stunden keine Aktion im Workflow erfolgt ist.
  • Die Aktion "Auto(datumsfeldname:12 Std)" wird ab einem Datum im Feldnamen ausgeführt, nachdem seit x Stunden keine Aktion im Workflow erfolgt ist.
  • Die Aktion "Weiter()" schaltet direkt zum nächsten Workflow-Zustand weiter. Setzt ggf. die angemeldete Person als Antragsteller (z.B. beim externen Aufruf aus einer Mail mit dieser generischen Url: {#url#}?workflow=123{#usercode#}).
  • Die Aktion "popup:Buttonbeschriftung" öffnet den Dialog in einem Popup-Fenster, speichert aber keine Daten.
Pflichtfeldprüfung Legt fest, ob beim Speichern dieser Aktion eine Pflichtfeldprüfung stattfinden soll (=Standard) oder nicht.
Mehrfach-Stimmen Ermöglicht, dass ggf. mehrere Personen diese Aktion ausführen müssen, bevor sich der Zustand ändert. Auch die Spezialbefehle und der Mailversand findet erst beim Erreichen der Stimmenzahl statt.
Neuer Status Wenn der Nutzer auf den Aktion-Button klickt, dann bekommt der Workflow diesen neuen Status.
Spezialbefehle führt nach der Zustandsänderungen bestimmte Befehle aus, siehe nachfolgend.
 Speichern 
Speichert die Daten und schließt den Dialog
 Kopieren 
Kopiert die Regel (nur beim bearbeiten)
 Löschen 
Löscht die Regel (nur beim bearbeiten)
 Abbrechen 
Schließt den Dialog ohne die Daten zu speichern

Mögliche Spezial-Befehle:

BefehlBedeutung
MitgliedAnlegen(formularfeld1,mitgliedsfeld=formularfeld2,...)Legt ein Mitglied an
anrede,vorname,nachname,p_email=email,key_XXX=..,..
Erkennung (nachname UND geburtstag) ODER p_email/g_email. Wenn erkannt dann nur noch leere Felder füllen, zuordnen und keine Zugangsdaten versenden.
Standardwerte werden gesetzt.
ExternerKontaktAnlegen(formularfeld1,mitgliedsfeld=formularfeld2,...)Legt einen externen Kontakt an
anrede,vorname,nachname,p_email=email,key_XXX=..,...
Erkennung anhand p_email/g_email. Wenn erkannt dann nur noch leere Felder füllen, zuordnen.
Standardwerte werden gesetzt.
RolleSetzen(Mitglied [,feld] )Setzt bzw. entfernt (- vor Rolle) die gegebene Rolle.
Bei Angabe eines Mitgliederfeldes wird dieses Feld als Mitglied genutzt, andernfalls der Antragsteller.
GruppeSetzen(Fitness [,feld] )Setzt bzw. entfernt (- vor Gruppe) die gegebene Gruppe.
Bei Angabe eines Mitgliederfeldes wird dieses Feld als Mitglied genutzt, andernfalls der Antragsteller. Der 1. Parameter kann ein Gruppenname oder ein Feldname (auch Gruppen-mehrfach-Felder möglich) sein.
GruppeSetzenLeiter(Fitness [,feld] )Setzt bzw. entfernt (- vor Gruppe) die gegebene Gruppe als Leiter.
Bei Angabe eines Mitgliederfeldes wird dieses Feld als Mitglied genutzt, andernfalls der Antragsteller. Der 1. Parameter kann ein Gruppenname oder ein Feldname (auch Gruppen-mehrfach-Felder möglich) sein.
GruppeSetzenStvLeiter(Fitness [,feld] )Setzt bzw. entfernt (- vor Gruppe) die gegebene Gruppe als Stv. Leiter.
Bei Angabe eines Mitgliederfeldes wird dieses Feld als Mitglied genutzt, andernfalls der Antragsteller. Der 1. Parameter kann ein Gruppenname oder ein Feldname (auch Gruppen-mehrfach-Felder möglich) sein.
MitgliedWertSetzen(WORKFLOWFELDMITGLIED, aufnahmemitglied, WORKFLOWFELDWERT) Setzt im Mitgliederdatensatz (Workflow-Feld WORKFLOWFELDMITGLIED) das Feld (aufnahmemitglied o.ä.) mit dem Wert aus dem Workflow-Feld WORKFLOWFELDWERT
Auch möglich mit +-Verkettung, bei Mitgliedsnummer # erzeugt eine eindeutige ID: MitgliedWertSetzen(WORKFLOWFELDMITGLIED, mitgliedsnummer, WORKFLOWFELDWERT1+WORKFLOWFELDWERT2+#)
Auch Platzhalter und feste Texte sind möglich: MitgliedWertSetzen(WORKFLOWFELDMITGLIED, +bemerkung, {#HEUTE#}+"Vordefinierter Text"+WORKFLOWFELDWERT1+" / "+WORKFLOWFELDWERT2) ein "+" am Anfang des Feldes ergänzt den Text (bemerkung oder key_...-Feld): MitgliedWertSetzen(WORKFLOWFELDMITGLIED, +bemerkung, WORKFLOWFELDWERT)
MitgliedWertSetzen(_user, +attachments, dateien) verschiebt Dateien aus dem Workflow ins Mitgliederprofil (Typ "Datei" und "Dateien")
Nach dem Befehl werden die Auto-Gruppen aktualisiert.
ZugangsdatenSenden()
ZugangsdatenSenden(FELDNAME)
Sendet dem Mitglied eine Mail mit den Login-Zugangsdaten. Kein Parameter: Ersteller, mit Parameter: Feld in dem das Mitglied steht.
Anmelden(FeldVAID)Meldet den Antragsteller zu der angegebenen Veranstaltung an und sendet eine Mail an den Veranstaltungs-Kontakt
Loeschen()Löscht den Workflow
BeitragSetze(FELDUSER, BEITRAGSNAME [,FELDBETRAG, [START]]) Setzt dem im "FELDUSER" angebenen Mitglied den Beitrag BEITRAGSNAME (2. Parameter kann auch Feldname sein). Wenn als 3. Parameter ein Feld angegeben wird, dann wird diesem Feld der Betrag entnommen (ansonsten wird Anzahl=1 gesetzt). 3.Parameter -1 (oder ein leerer Inhalt im angegebenen Feld) löscht die Beitragszuordnung. Beim 3. Parameter ein + oder - davor addiert bzw. subtrahiert den Wert von der aktuellen Beitragszuordnung. 4. Parameter Beitragsstart: Y-m-01 oder Y-01-01 o.ä.
BeitragSetzeGruppe(FELDUSER, BEITRAGSGRUPPE [,FELDBETRAG]) Setzt dem im "FELDUSER" angebenen Mitglied die Beitragsgruppe BEITRAGSGRUPPE (2. Parameter kann auch Feldname sein). Wenn als 3. Parameter ein Feld angegeben wird, dann wird diesem Feld der Betrag entnommen (ansonsten wird Anzahl=1 gesetzt). 3.Parameter -1 löscht die Beitragszuordnung.
RechnungErstellen(FELDUSER, RECHNUNGSPOSITION, FELDBERAG [,BANKKONTO [,ERTRAGSKONTO [,FORDERUNGSSKONTO [, GRUPPENNAME]]]]) Erstellt eine Rechnung an den im "FELDUSER" angebenen Mitglied mit dem 2. Parameter "Text der Rechnungsposition" und dem 3. Parameter dem Feld mit dem Betrag. 4. Parameter optional: Das Bankkonto, 5. Parameter optional: Das Ertragskonto, 6. Parameter optional: Das Forderungkonto, 7. Parameter optional: Gruppenzuordnung.
GutschriftErstellen(FELDUSER, RECHNUNGSPOSITION, FELDBERAG [,BANKKONTO [,ERTRAGSKONTO [,FORDERUNGSSKONTO]]]) Erstellt eine Gutschrift an den im "FELDUSER" angebenen Mitglied mit dem 2. Parameter "Text der Rechnungsposition" und dem 3. Parameter dem Feld mit dem Betrag. 4. Parameter optional: Das Bankkonto, 5. Parameter optional: Das Ertragskonto, 6. Parameter optional: Das Forderungkonto.
ErstelleNummer(FELDNAME=JJ-{#region#}-####) Setzt das Feld FELDNAME mit dem Wert, JJ/JJJJ wird eesetzt durch das Jahr, {#region#} durch andere Felder (bzw. Unterfelder {#region:nr#} ), #### wird eine eindeutige Nummer., {#_dataid#}: die Datensatz-ID
ErstelleText(FELD=Text) Setzt das Feld FELDNAME mit dem Wert, es können beim Wert alle üblichen Platzhalter wie {#HEUTE#},{#FOLGEJAHR#},{#USER#},{#USERNAME#},{#USEREMAIL#},{#workflowfeldname#},{#_user.xxxx#} usw. genutzt werden.
ErstelleVeranstaltung Legt eine Veranstaltung an, z.B. ErstelleVeranstaltung(titel=name,datum=anreise1,kontaktemail=email,kontaktstrasse=strasse,kontaktort=ort,kontakttelefon=telefon)
VERANSTALUNGSFELD = FELDNAME
VERANSTALUNGSFELD = Wert
tage=DIFF(FELD1-FELD2) (setzt das Feld "Datum" aus einer Differenz aus zwei Datums-Feldern)
zeit=ZEIT:FELD1-FELD2 (setzt das Feld "Zeit" mit den Werten aus den angegebenen Feldern)
Dieser Befehl setzt das Extrafeld "veranstaltung" im Datensatz.
AktualisiereVeranstaltung Aktualisiert die Veranstaltung, z.B. AktualisiereVeranstaltung(titel=name,...).
Dieser Befehl nutzt das Extrafeld "veranstaltung" im Datensatz.
LoescheVeranstaltung() Löscht die Veranstaltung. Dieser Befehl nutzt das Extrafeld "veranstaltung" im Datensatz.
SetzeUser(FELDNAME) Falls in dem angegebenen Mitglieder-Feld ein Wert enthalten ist, setzt der Befehl dieses Mitglied als Workflow-Antragsteller.
SetzeUserExit(FELDNAME) Falls in dem angegebenen Mitglieder-Feld ein Wert enthalten ist, setzt der Befehl dieses Mitglied als Workflow-Antragsteller. Weitere folgende Spezialbefehle werden NICHT ausgeführt.
FormularNeueRechnung() Zeigt das Formular "Neue Rechnung" an. Der Ersteller wird dabei vorselektiert.
InkrementText(FELDNAME) Erhöht den Inhalt des Feldes um 1 (Zähler)
SetzeListenwert(LISTE, DATAID, FELDNAME, WERT) Setzt den Listenwert in fremder Flex.Liste.
1. Parameter: Listen-ID oder Listen-Name
2. Parameter: Datensatz-ID oder feldInListe={#feldInWorkflow#}
3. Parameter: Feldname in Liste
4. Parameter: fester Wert / {#feldInWorkflow#} / {#_dataid#} (=die Datensatz-ID) / CALC:{#...#}-1
ErstelleDatensatz(LISTENNAME) Legt in der angegebenen Liste einen neuen Datensatz an (identische Felder wie der Workflow).
ErstelleDatensatz(LISTENNAME, feldziel=feldworkflow, ...) Legt in der angegebenen Liste einen neuen Datensatz an (gemäß Mapping der Felder, statt feldworkflow auch #jetzt, #user, #dataid, #id und "text" möglich).
ErstelleDatensatz(ListenName,*,_workflow="123",_status="3") Legt in der angegebenen Liste einen neuen Datensatz an (* kopiert alle Felder, _workflow und _status setzt ggf. einen andere Workflows-ID/Status-ID).
LoescheDatensatz(ListenID-oder-Name, DataID)
LoescheDatensatz(ListenID-oder-Name, Feld="Wert")
LoescheDatensatz(ListenID-oder-Name, Feld=FeldWorkflow)
Löscht den angebenen Datensatz in der Flex.Liste
Platzbuchung(datumab=..., datumbis=..., wochentag=..., zeitab=..., zeitbis=..., platz=..., datumsausschluss=FELDNAME) Legte eine Platzbuchung an. "..." ist durch die eigenen Feldnamen zu ersetzen.
buchungstyp=.. (bzw: ,buchungstyp="Dauerbuchung") wählt zur Preisberechnung einen Eintrag aus der Flex.Liste aus, siehe "Weitere Felder bei der Buchung abfragen / unterschiedliche Kosten")
Bei "platz" können auch mehrere Platz-Felder angegeben werden: platz=feldplatz1/feldplatz2/..
PlatzbuchungMitRechnung(..) Wie zuvor, leitet vor der Buchung den Bezahlprozess ein. "ueberweisung=ja/nein" als Parameter bestimmt, ob die Bezahlart "Überweisung" möglich ist.
PlatzbuchungInfo Wie zuvor, zeigt aber nur die Kosten-Info an
BudgetErhoehen(GruppenID oder FeldGruppe, FeldBudget) Legt ein Budget an oder erhöht ein bestehendes Budget der angegebenen Gruppe
ErstellePDF(mitgliedetc1,_user) Erstellt das PDF (der Vorlage mitgliedetc1.txt) mit den Mitgliedsdaten aus "_user", keine weitere Abarbeitung weiterer Befehle
SpeichernPDF(mitgliedetc1, projekte/{#gruppe:gremium#}/Tätigkeitsberichte/Tätigkeitsbericht-{#yyyy#}.pdf) Speichert das PDF in einer Datenablage.
Es werden alle Felder {#..#} des Workflows ersetzt, {#gruppe:...#} macht aus dem Feldnamen eine Gruppen-ID, {#yyyy#} ist die aktuelle Jahreszahl
DatenablageSchreibschutz(projekte/{#gruppe:gremium#}/Tätigkeitsberichte, rolle:Geschäftsstelle) Erzeugt in der Datenablage einen Zugriffsschutz. rolle=XXX,gruppe=YYY,.. setzt erlaubte Rollen/Gruppen.
Weiter() Öffnet sofort erneut den Workflow (im nächsten Status)
Dieser Befehl muss am Ende aller Befehle stehen.
Nachricht(TEXT) Zeigt nach dem Speichern diesen Text an (anstelle "Vielen Dank für das Ausfüllen, Ihre Daten wurden gespeichert")
Dieser Befehl muss am Ende stehen aller Befehle stehen.
Url(https://.../) Wechselt nach der Aktionsausführung zu der angegebenen Webseite.
Feldnamen {#..#} werden ersetzt: Url(https://..../..{#feld1}..{#feld2#}..)
Url-Parameter &feldXXX=... können hiermit weitergegeben werden: {#parameter:XXX#}
Dieser Befehl muss am Ende stehen aller Befehle stehen.
KeineMail() Sendet nach dem Abschicken der Statusänderung keine Mails. Der Befehl muss am Ende der Befehlsliste stehen.
Dieser Befehl muss am Ende stehen aller Befehle stehen.