Veröffentlicht Fri, 17 Sep 2021 13:44:32 GMT von Oliver Acker Property Manager
Hallo zusammen,
nun habe ich ein Thema, für alle Logik-Freunde


Folgende Situation:

Ich habe 9 Mitarbeiter angelegt, die ihr individuelles Indexfeld besitzen (Status des Mitarbeiters). Hierfür habe ich 9 Datenbankfelder angelegt (z.B. Status-Müller, Status-Meier, Status-Sperling usw.).
Zudem habe ich ein 10tes Indexfeld erstellt, welches den Allgemeinstatus repräsentieren soll (Status-Allgemein).
Für diese Indexfelder sind folgende Werte zugelassen:
„neu“
„in Bearbeitung“
„abgeschlossen“
„leer“ (also ein leerer Eintrag ohne Zeichen/Ziffern. Ist z.B. dann der Fall, wenn das Dokument frisch abgelegt wurde).

Nun möchte ich folgendes umsetzen:

Sobald ein Mitarbeiter den Eintrag „neu“ oder „in Bearbeitung“ eingetragen hat, soll der Allgemein-Status auf „in Bearbeitung“ umgewandelt werden.
Das habe ich dank Workflows wunderbar umsetzen können, was einwandfrei funktioniert.

Und nun zu meinem Problem:

Der Allgemein-Status soll auf „abgeschlossen“ umgewandelt werden, sofern beispielsweise von einem oder zwei Mitarbeiter der jeweilige Mitarbeiter-Status auf „abgeschlossen“ gestellt wird, und alle anderen Mitarbeiter-Status LEER sind.
(in der Regel arbeiten nur ein oder zwei Personen an einem Dokument).
Ich habe mehrere iif-Bedingungen versucht, komme jedoch nicht ans Ziel.

Fallen Ihnen praktikable Lösungen ein, die ich im Workflow einbetten kann?

Über ein Feedback oder Lösungsvorschläge würde ich mich sehr freuen.


Mit freundlichen Grüßen,

Oliver Acker
 
Veröffentlicht Fri, 24 Sep 2021 13:44:32 GMT von Matthias Wieland DocuWare Europe GmbH Sr. Director Support EMEA
Guten Tag Oliver Acker! Leider sieht es so aus, dass die Community diese Frage nicht beantworten kann. Wir haben deshalb eine neue Supportanfrage mit der Nummer SR-160400-M1M7F für Sie eröffnet. Ein Software Support Specialist wird sich direkt bei Ihnen melden, um diese Anfrage zu beantworten. Wir werden die Lösung der Anfrage hier veröffentlichen, sobald diese abgeschlossen ist. Mit freundlichen Grüßen DocuWare Support Team
Veröffentlicht Thu, 07 Oct 2021 07:41:58 GMT von Tim Becker Leiter Digitalisierung

Hallo Herr Acker,

wir haben ein ähnliches (nicht gleiches) Szenario. Hier wird der Workflow erst beendet, wenn mehrere Aufgaben abgeschlossen wurden. Jedes Mal, nachdem ein Mitarbeiter seine Aufgabe aktualisiert hat, wird über eine "Bedingung" geprüft, ob (bei uns) alle Aufgaben erledigt wurden oder als nicht notwendig gekennzeichnet wurden. In diesem Fall wird das Dokument im Workflow weiter geschickt, ansonsten beginnt die Aufgabe "von Neuem".

So sieht die Bedingung bei uns aus: 
( GV_Aufgabe_1 = "erledigt" or GV_Aufgabe_1 = "nicht erforderlich"  ) and  ( GV_Aufgabe_2 = "erledigt"  or GV_Aufgabe_2 = "nicht erforderlich" )  and  ( GV_Aufgabe_3 = "erledigt"  or GV_Aufgabe_3 = "nicht erforderlich" ) 

Generell kann ich mir bei euch vorstellen, die Bedingung auf WAHR zu setzen, sofern EINER seine Aufgabe als Beendet. 
Wenn es wichtig ist, dass Alle ihre begonnene Aufgabe beenden, würde ich über einen Ausschluss gehen. Beispielsweise so:

 ( GV_Müller <> "NULL" or GV_Müller <> "abgeschlossen"  ) and  ( GV_Meyer <> "NULL" or GV_Meyer <> "abgeschlossen"  )...usw.
bei WAHR soll die Aufgabe von Neuem beginnen, bei FALSCH soll das Dokument weiter im Workflow.
Mit weiteren Variablen könnte man dann noch erreichen, dass bereits erledigte User die Aufgabe nicht erneut angezeigt bekommen.

Vielleicht eine generell elegantere und Nutzerfreundlichere Lösung wäre es, den Workflow VOR der Nutzerinteraktion mit einem Trigger enden/pausieren zu lassen und für jeden benötigten User einen neuen/parallelen Workflow beginnen zu lassen (z.B. über den Eintrag "START" im jeweiligen Indexfeld "Müller", "Meyer" usw.) So könnte jeder seine Aufgabe unabhängig von einander beginnen und beenden. Auch hätten die User die Möglichkeit den Auftrag abzulehnen (mann kann ja steuern, dass dies nur möglich ist, wenn weitere den Auftrag "angenommen" haben) und somit die eigene Aufgabenliste sauber zu halten.

Im ursprünglichen Workflow könnte man (sofern benötigt) mit einer "Warten auf Ereignis"-Aktivität dann darauf warten, dass eine Person über den parallelen Workflow das Dokument als abgeschlossen kennzeichnet.

Veröffentlicht Thu, 07 Oct 2021 09:17:32 GMT von Stefan Sorg
Ich würde eine Kaskade an Bedingungen/Zuweisungen (für jeden MA einen Block) hintereinanderschalten und darin Variablen ("abgeschlossenAnzahl", "nichtLeerUndNichtAbgeschlossen") hochzählen.

Am Ende die Variablen auswerten - nichtLeerUndNichtAbgeschlossen sollte 0 sein und abgeschlossenAnzahl>0
Veröffentlicht Mon, 18 Oct 2021 06:36:27 GMT von Oliver Acker Property Manager
Hallo zusammen,
die Lösung von Herrn Sorg ist anscheinend die richtige Vorgehensweise, die ich auch von einem Docuwaremitarbeiter erhalten habe.
Funktioniert einwandfrei.

Vielen Dank für Ihre Mithilfe.

MfG Oliver Acker

Sie müssen angemeldet sein um Beiträge in den Foren zu erstellen.