Genehmigung: Gruppen-Workflow-Aktivität

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 8 Minuten Lesedauer
  • Die Genehmigung: Gruppe Aktivität erstellt Genehmigungsdatensätze für jedes Mitglied einer angegebenen Gruppe.

    Hinweis:
    Diese Aktivität ist nur verfügbar, wenn der Workflow für eine Tabelle ausgeführt wird, die die Aufgabe erweitert.

    Die Gruppengenehmigung wird basierend auf den Anwendergenehmigungen gemäß der in angegebenen Logik genehmigt oder abgelehnt Warten Sie Auf Feld.

    Ergebnisse

    Der Workflow-Designer kann einen Ergebniswert mithilfe von „activity.result“ aus einem Skriptfeld der Aktivität zuweisen. Standardmäßig ist der Ergebniswert die endgültige Genehmigungsdisposition. Diese Disposition hängt von den Genehmigungsaktionen der Genehmiger und den in angegebenen Genehmigungsbedingungen ab Warten Sie auf Oder Wenn Jemand Ablehnt Felder. Mögliche Ergebniswerte sind:
    • Genehmigt
    • Abgelehnt
    • Gelöscht
    • Abgebrochen

    Eingabevariablen

    Eingabevariablen bestimmen das anfängliche Verhalten der Aktivität.

    Tabelle : 1. Genehmigung: Eingabevariablen für Gruppenaktivität
    Feld Beschreibung
    Genehmigung: Gruppe, Wenn

    Geben Sie an, wann diese Aktivität einen Gruppengenehmigungsdatensatz generiert.

    Bedingung Bedingungen, die, wenn sie erfüllt sind, zur Generierung der Gruppengenehmigung führen. Wenn die Bedingungen nicht erfüllt sind, wird die Genehmigung übersprungen.
    Genehmigung: Gruppengenehmiger

    Geben Sie die Gruppen an, deren Genehmigung angefordert wird.

    Gruppen Die Gruppen, deren Genehmigung angefordert wird.

    Klicken Sie auf das Schlosssymbol, um dieses Feld zu bearbeiten. Verwenden Sie die Suchliste, um bestimmte Gruppen nach Namen auszuwählen. Um Gruppen aus Feldwerten im aktuellen Datensatz zur Laufzeit auszuwählen, klicken Sie auf das Struktursymbol.

    Jedem Mitglied der Gruppe wird ein individueller Genehmigungsdatensatz zugewiesen.

    Wenn keine Gruppe ausgewählt ist, legt die Aktivität die Genehmigung automatisch auf fest Genehmigt .

    Genehmigung: Gruppenbedingung

    Legen Sie fest, wie die Aktivität basierend auf den Antworten einzelner Gruppenmitglieder entscheidet, ob die Gruppenfreigabe genehmigt oder abgelehnt wird.

    Warten auf
    Eine Auswahl zwischen verschiedenen Genehmigungslogiken zum Bestimmen, welche individuellen Genehmigungen oder Ablehnungen zu einer Genehmigung oder Ablehnung der Genehmigung der Aktivität führen Die Optionen sind:
    • Eine Genehmigung von jeder Gruppe: Jeder Anwender aus jeder Gruppe kann genehmigen, und die erste Genehmigung jeder Gruppe führt dazu, dass die Aktivität mit einem Ergebnis von abgeschlossen wird Genehmigt (Siehe unten, wie eine Ablehnung behandelt wird).
    • Eine Genehmigung von einer beliebigen Gruppe: Jeder Anwender aus einer beliebigen Gruppe kann genehmigen, und die erste Genehmigung einer beliebigen Gruppe führt dazu, dass die Aktivität mit einem Ergebnis von abgeschlossen wird Genehmigt .
    • Eine Genehmigung von allen aus allen Gruppen: Alle Anwender aus allen Gruppen müssen genehmigen, damit die Aktivität mit einem Ergebnis von abgeschlossen wird Genehmigt (Siehe unten, wie eine Ablehnung behandelt wird).
    • Erste Antwort jeder Gruppe: Die erste Genehmigung oder Ablehnung eines Anwenders in jeder Gruppe wird verwendet, um den Status der Gruppengenehmigung anzugeben (siehe unten, wie eine Ablehnung behandelt wird).

      Geben Sie an, was passiert, wenn ein Anwender die Freigabeanforderung ablehnt. Die Optionen sind:

    • Genehmigung ablehnen: Schließen Sie die Aktivität sofort mit einem Ergebnis von ab Abgelehnt .
    • Erste Antwort einer beliebigen Gruppe: Die erste Genehmigung oder Ablehnung eines Anwenders in einer Gruppe führt dazu, dass die Aktivität mit einem Ergebnis von abgeschlossen wird Genehmigt Oder Abgelehnt .
    • Bedingung basierend auf Skript: Jedes Mal, wenn ein Anwender genehmigt oder ablehnt Genehmigungsskript Wird aufgerufen, um zu bestimmen, ob die Aktivität abgeschlossen werden soll.
    Freigabeskript

    Wird nur angezeigt, wenn Warten Sie auf Ist auf festgelegt Bedingung basierend auf Skript .

    Wenn Warten Sie auf Variable ist auf festgelegt Bedingung basierend auf Skript Dieses Skript wird aufgerufen, um zu bestimmen, wie eine Genehmigung oder Ablehnung verarbeitet werden soll. Das Skript muss die Variable festlegen Antwort „Genehmigt“ oder „abgelehnt“, um den Gesamtstatus für diese Genehmigung anzugeben.

    Dieses Skript ist dafür verantwortlich, den Genehmigungsstatus für jede Gruppe festzulegen, die Teil dieser Genehmigungsaktivität ist, bevor der allgemeine Genehmigungsstatus für alle Gruppen zurückgegeben wird.

    Wenn aufgerufen, sind die folgenden Variablen für das Skript für alle Gruppen verfügbar, die Teil dieser Genehmigungsaktivität sind:

    counts.total = total number of groups that are part of this approval
                      counts.approved = # of groups that approved so far
                      counts.rejected = # of groups that rejected so far
                      counts.requested = # of groups that are pending approval
                      counts.not_requested = # of groups that are not pending approval
                      counts.not_required = # of groups that approval is not required
    Und für jede Gruppe:
    groups[group_id].total = total number of users that are part of this group's approval
                        groups[group_id].approved = # of users that approved so far
                        groups[group_id].rejected = # of users that rejected so far
                        groups[group_id].requested = # of users that are pending approval
                        groups[group_id].not_requested = # of users that are not pending approval
                        groups[group_id].not_required = # of users that approval is not required
                        groups[group_id].approvalIDs[state] = array of user ids that are at the specified approval state
    Hinweis: Iterieren Sie die Gruppen mit:
    for (var id in groups) {
                        var group = groups[id];
                        ... group.total ...
                        }
    Hinweis: Ruft das Gruppenobjekt mit dem folgenden Code ab (um Dinge wie den Gruppennamen abzurufen, auf dem iteriert wird):
    var objGroup = fncGetGroupObj(id);
                        var strGroupName = objGroup.name;
                        
                        function fncGetGroupObj(sidGroupApproval)
                        {
                        var objGroupApproval = new GlideRecord('sysapproval_group');
                        objGroupApproval.get(sidGroupApproval);
                        
                        var objGroup = new GlideRecord('sys_user_group');
                        objGroup.get(objGroupApproval.assignment_group.sys_id);
                        
                        return objGroup;
                        }
    Genehmigungsskripts lassen auch Berechnungen zu. Wenn beispielsweise nur die Hälfte der Genehmigungen erforderlich ist:
    if (counts.approved/counts.total > .49) {
                        answer = 'approved';
                        }
                        else if (counts.rejected/counts.total > .50) {
                        answer = 'rejected';
                        }
    Wenn jemand ablehnt
    Eine Auswahl zwischen verschiedenen Freigabelogiken zum Bestimmen, welche individuellen Ablehnungen zu einer Ablehnung der Genehmigung der Aktivität führen Die Optionen sind:
    • Genehmigung ablehnen: Schließen Sie die Aktivität sofort mit einem Ergebnis von ab Abgelehnt .
    • Warten Sie auf andere Antworten, bevor Sie entscheiden: Warten Sie, bis wir andere Antworten erhalten, bevor Sie eine Genehmigungs- oder Ablehnungsentscheidung treffen. Dadurch können Anwender ihre Meinung ändern, bis eine Entscheidung getroffen wurde.
    Hinweis:
    Wenn Warten Sie auf Ist auf festgelegt Beliebiger Genehmiger , Führt dann eine einzelne Genehmigung dazu, dass die Aktivität mit einem Ergebnis von abgeschlossen wird Genehmigt , Auch wenn ein oder mehrere Anwender ablehnen.
    Genehmigung: Gruppenzeitplan

    Geben Sie an, wie der Workflow das erwartete Startdatum und das Fälligkeitsdatum des Genehmigungsdatensatzes berechnet. Sobald Sie eine Auswahl für „Fälligkeitsdatum basierend auf“ und „Zeitplan basierend auf“ getroffen haben, werden die entsprechenden Felder angezeigt.

    Fälligkeitsdatum basiert auf Wählen Sie aus, wie der Workflow die Dauer, das Fälligkeitsdatum und den Zeitplan der Aufgabe bestimmt.
    • Eine vom Anwender angegebene Dauer: Die Dauer basiert auf einem vom Anwender angegebenen Wert.
    • Eine relative Dauer: Die Dauer wird aus einer relativen Dauer berechnet (z. B. Ende des nächsten Geschäftstags).
    • Ein Feld für Datum/Uhrzeit oder Dauer: Die Dauer basiert auf dem Wert eines Felds im aktuellen Datensatz.
    • Skript: Die Dauer wird von einem Skript zurückgegeben.
    Dauer

    Wird nur angezeigt, wenn Fälligkeitsdatum basiert auf Ist auf festgelegt Eine vom Anwender angegebene Dauer

    Die spezifische Anzahl von Tagen und Stunden.
    Relative Dauer

    Wird nur angezeigt, wenn Fälligkeitsdatum basiert auf Ist auf festgelegt Eine relative Dauer

    Die allgemeine Anzahl und Länge der Geschäftstage.
    Feld für Fälligkeitsdatum

    Wird nur angezeigt, wenn Fälligkeitsdatum basiert auf Ist auf festgelegt Ein Feld für Datum/Uhrzeit oder Dauer

    Das Feld „Datum/Uhrzeit“ oder „Dauer“.
    Skript für Fälligkeitsdatum

    Wird nur angezeigt, wenn Fälligkeitsdatum basiert auf Ist auf festgelegt Skript

    Das Skript, das 'Antwort' auf die Anzahl der Sekunden für die Dauer setzt
    Zeitplan basierend auf Der Standardzeitplan, den der Timer zum Zählen der Arbeitsstunden verwendet. Wenn ein Zeitplan angegeben ist, wird die Dauer nur für Zeiten berücksichtigt, die im Zeitplan angegeben sind. Beispiel: Wenn die Dauer 2 Stunden beträgt und der Workflow um 16:00 Uhr an einem Zeitplan beginnt, der von 8:00 bis 17:00 Uhr ist, endet er am nächsten Tag um 9:00 Uhr. Die Optionen sind:
    • Zeitplan dieses Workflows: Der Zeitplan verwendet Workflow-Kontextdatum, -Uhrzeit und optional Zeitzone basierend auf Wert.
    • Ein bestimmter Zeitplan: Der Zeitplan verwendet eine vordefinierte Zeitplan Und optional Zeitzone basierend auf Wert.
    • Ein Zeitplanfeld: Der Zeitplan verwendet einen Wert aus einer Tabelle und einen optionalen Zeitzone basierend auf Wert.
    Zeitplan

    Wird nur angezeigt, wenn Zeitplan basierend auf Ist auf festgelegt Ein bestimmter Zeitplan

    Vordefiniert Zeitplan Aus einer Liste.
    Zeitplanfeld

    Wird nur angezeigt, wenn Zeitplan basierend auf Ist auf festgelegt Ein Zeitplanfeld .

    Ein Feld für Datum und Uhrzeit oder Dauer für den Zeitplan, das der Tabelle zugeordnet ist. Gültige Felder werden im Dialogfeld „Element aus Struktur auswählen“ blau angezeigt.
    Zeitzone basiert auf Die Zeitzone für die Berechnung der Dauer. Die Zeitzone kann basieren auf:
    • Keine Zeitzone: Standard. Workflow verwendet die GMT-Zeitzone.
    • Eine bestimmte Zeitzone: Ein bestimmter Zeitzone Die Sie aus einer Auswahlliste auswählen.
    • Ein Zeitzonenfeld: A Zeitzonenfeld Dient zum Nachverfolgen der Zeitdauer aus einem Feld im Formular.
    Zeitzone

    Wird nur angezeigt, wenn Zeitzone basierend auf Ist auf festgelegt Eine bestimmte Zeitzone

    an.
    Wählen Sie die gewünschte Zeitzone aus der Auswahlliste aus.
    Zeitzonenfeld

    Wird nur angezeigt, wenn Zeitzone basierend auf Ist auf festgelegt Ein Zeitzonenfeld.

    Ein Feld für Datum und Uhrzeit oder Dauer für den Zeitplan, das der Tabelle zugeordnet ist. Gültige Felder werden im Dialogfeld „Element aus Struktur auswählen“ blau angezeigt.
    Genehmigung: Erweitert

    Schreiben Sie bei Bedarf ein Skript, um zusätzliche Anwender zu bestimmen, von denen Genehmigungen angefordert werden sollen.

    Erweitert Aktivieren Sie dieses Kontrollkästchen, um ein Skript zur Bestimmung zusätzlicher Anwender zu schreiben, von denen Genehmigungen angefordert werden sollen. Verwenden Sie Skript für zusätzliche Gruppen Zum Anpassen von Gruppengenehmigungen.
    Zusätzliches Gruppenskript
    Wenn Erweitert Ist aktiviert, wird dieses Skript aufgerufen, um zusätzliche Gruppengenehmigungen zu bestimmen, die erstellt werden sollen. Das Skript muss die Variable festlegen Antwort Zu einer kommagetrennten Liste von Gruppen-IDs oder einem Array von Gruppen-IDs, die als Genehmigergruppen hinzugefügt werden sollen. Zum Beispiel:
    answer = [];
           answer.push('id1');
           answer.push('id2');

    Bedingungen

    Die folgenden Bedingungen bestimmen, welcher Übergang nach dieser Aktivität ausgeführt wird.
    Hinweis:
    Genehmigungsaktivitäten werden als Anwender ausgeführt, dessen Aktionen den Genehmigungs- oder Ablehnungsbedingungen entsprechen, auf die der Workflow gewartet hat, und führen den Workflow weiter.
    Tabelle : 2. Genehmigung: Gruppenaktivitätsbedingungen
    Bedingung Beschreibung
    Genehmigt Die Anwender aus den Gruppen haben die Anforderung basierend auf genehmigt Warten Sie auf Regeln.
    Abgelehnt Die Anwender aus den Gruppen haben die Anforderung basierend auf abgelehnt Warten Sie auf Regeln.
    Fehler Das Event oder die Bedingung, das bzw. die einen Fehler generiert.
    Übersprungen Das Ereignis oder die Bedingung, das eine übersprungene Genehmigung zulässt.

    Status

    Der Aktivitätsstatus teilt der Workflow-Engine mit, was mit der Aktivität zu tun ist.
    Tabelle : 3. Genehmigung: gruppenaktivitätsstatus
    Status Beschreibung
    Wird ausgeführt Die Workflow-Engine startet die Funktion execute der Aktivität.
    Warten Die Workflow-Engine ignoriert die Aktivität, bis ein bestimmtes Event zum Neustarten der Aktivität ausgelöst wird.
    Fertig Die Ausführung der Aktivität ist abgeschlossen. Der Ergebniswert gibt das Ergebnis der Aktivität an.
    Abgebrochen Diese Aktivität oder der Workflow, der diese Aktivität enthält, wurde abgebrochen.
    Fehler Ein JavaScript-Fehler ist aufgetreten. Überprüfen Sie die Protokolle auf Fehlerdetails.