===== Beschreibung ===== In vielen Prozessen wird eine Freigabe von mehreren Personen im Unternehmen verlangt. Auf dieser Seite finden Sie hilfreiche Tipps und Tricks, wie diese Freigaben gestaltet werden können, die von einer bis drei Personen freigegeben werden müssen. ---- ===== Entscheidung der parallelen Freigabe über Popup ====== Der Grundaufbau sollte so gestaltet sein, dass jeder Benutzer ein Popup erhält, in dem dieser Auswählen kann, ob dieser zustimmt oder ablehnt. Wenn nach der Auswahl aller Benutzer einer abgelehnt hat, soll der Prozess eine andere Richtung einschlagen, als wenn alle User zugestimmt haben. Hierzu sollte das Modell in etwa wie folgt aussehen: {{ :software:component:basic_parallel_approval.png?800 |}} === Erklärung der Elemente ==== ^ Nummer ^ Beschreibung ^ ^ 1 | Da im Normalfall die Personen wechseln, die eine Freigabe erteilen müssen kann in diesem Schritt in der [[software:tim:Smartform]] ausgewählt werden, wer eine Freigabe erteilen muss. In Kombination mit dem [[software:tim:smartform:selectusersbygroupbyclass|selectusersbygroupbyclass]] Aufruf, lassen sich also zum Beispiel 3 Dropdowns gestalten, in denen 1-3 Mitarbeiter zum Freigeben ausgewählt werden können. | ^ 2 | Um den ausgewählten Personen der entsprechenden [[software:tim:Swimlanes]] zuzuweisen, muss der [[software:tim:actionhandler:VariableAssignmentActionHandler]] eingesetzt werden. Dies kann auf dieser Scriptnode für alle 3 Swimlanes "Approval User 1-3" gemacht werden. | ^ 3 | Hier muss überprüft werden, ob ein User überhaupt freigeben muss. Sollten nur zwei Personen Freigeben müssen, würde die [[software:tim:Swimlanes|Swimlane]] **Approval User 3** nicht benötigt werden. Um diese variable Zahl an Personen zu gewährleisten, kann auf dem Exclusive Gateway der [[software:tim:actionhandler:VariableExistsDecisionHandler]] eingesetzt werden. Sollte also keine Auswahl im Dropdown getätigt sein, wird die Aufgabe in dieser Swimlane nicht ausgelöst. | ^ 4 | Auf der Scriptnode kann der [[software:tim:actionhandler:ProcessVariableSetter]] eingesetzt werden, der eine [[software:tim:process_variables|Prozessvariable]] schreibt, die zB den Wert "**abgelehnt**" hat. Diese wird bei Element **6** wieder benötigt. | ^ 5 | Auf dieser Node muss kein Actionhandler eingesetzt werden, kann aber zB mit dem [[software:tim:actionhandler:GenerateIdentityProcessVariablesHandler]] kombiniert werden um Daten des Bearbeiters wegzuschreiben und am Ende als [[software:tim:actionhandler:wordtemplatehandler|PDF ((WordTemplateHandler)]] versendet zu werden. | ^ 6 | Auf diesem Exclusive Gateway kann mit dem [[software:tim:actionhandler:VariableExistsDecisionHandler]] überprüft werden, ob die [[software:tim:process_variables|Prozessvariable]] aus Schritt 4 gesetzt wurde. Falls dies der Fall sein sollte, beschreitet der Prozess den "true"-Weg. | ^ 7 | Hier kann der Prozess beliebig erweitert oder verändert werden, falls dies gewünscht ist. | ----- ===== Ablehnen über die Smartform mit einer Begründung ===== Sollte zB ein Grund für die Ablehnung Pflicht sein, so kann dies über die [[software:tim:Smartform]] ermöglicht werden. Hierzu muss die [[software:tim:Smartform]] um einen [[software:tim:smartform_basics#auswahlbox_radiobuttons|Radiobutton]], [[software:tim:smartform_basics#auswahlbox_checkboxes|Checkbox]] oder [[software:tim:smartform_basics#auswahlfeld_selectbox|Dropdown]] erweitert werden. Des weiteren werden noch [[software:tim:smartform_basics#eingabefelder|Textareas]] für die Begründung benötigt. \\ \\ Um zu gewährleisten, dass eine Auswahl getroffen wurde und eine Begründung angeben wurde, müssen die neuen HTML Elemente als [[software:tim:smartform_basics#pflichtfelder_beim_instanzstart|Pflichtfelder]] gesetzt werden. Hierzu muss lediglich das HTML-Attribut **required="true"** ergänzt werden.\\ Der Prozess gestaltet sich dann wie folgt: {{ :software:component:basic_parallel_approval_decline_via_sf.png?800 |}} Im rot markierten Bereich, wird überprüft, ob in der [[software:tim:Smartform]] eines der Elemente auf "Abgelehnt" steht, sollte dies der Fall sein, kann der Prozess entsprechend Verarbeitet werden. Die Überprüfung der [[software:tim:process_variables|Prozessvariablen]] geschieht mittels [[software:tim:actionhandler:VariableDecisionHandler]] (ehemals SmartFormDecisionHandler).