Abschnitt „Bevorstehend“ auf der Zielseite konfigurieren

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 4 Minuten Lesedauer
  • Konfigurieren Sie die im Abschnitt Bevorstehend angezeigten Daten.

    Vorbereitungen

    Erforderliche Rolle: admin

    Warum und wann dieser Vorgang ausgeführt wird

    Mit einem Erweiterungspunkt können Sie die anwenderdefinierten Skripts aufrufen, um die Funktionalität des Abschnitts Bevorstehend zu erweitern und Anpassungen einfach zu integrieren, ohne den Basiscode ändern zu müssen. Informationen zu Erweiterungspunkten finden Sie unter Skriptbasierte Erweiterungspunkte erstellen und hinzufügen.
    Tabelle : 1. Skriptbasierte Erweiterungspunkte für den Abschnitt „Bevorstehend“ im Basissystem
    Erweiterungspunkt Beschreibung
    sn_sow.UpcomingLinkProvider Ruft eine Liste der Datensätze für bevorstehende Aufgaben (Changes, Incidents, Anforderungen und überfällige Aufgaben) für den heutigen und morgigen Tag ab.

    Prozedur

    1. Navigieren Sie zu Alle > Systemerweiterungspunkte > Skriptbasierte Erweiterungspunkte.
    2. Wählen Sie in der Liste „Erweiterungspunkte“ den Eintrag sn_sow.UpcomingLinkProvider aus.
    3. Erstellen Sie eine Implementierung über den zugehörigen Link Implementierung erstellen oder bearbeiten Sie eine Implementierung aus der zugehörigen Liste „Implementierungen“.
      Im Folgenden finden Sie ein Beispiel für das Hinzufügen eines neuen Ankündigungstyps für Change-Aufgaben.
      • Name: MyCustomUpcomingLinkProvider_ChangeTask
      • Skript:
         var PREFIX_QUERY = 'active=true^' + assignToQuery; 
        
                var TODAY_QUERY = '^planned_start_dateONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()'; 
        
                var TOMORROW_QUERY = '^splanned_start_dateONTomorrow@javascript:gs.beginningOfTomorrow()@javascript:gs.endOfTomorrow()'; 
        
                var encodedQuery = null; 
        
                var listTitle = gs.getMessage("Change_Task"); 
        
                if ('beginningOfToday' == request.from && 'endOfToday' == request.to) { 
        
                    encodedQuery = PREFIX_QUERY + TODAY_QUERY; 
        
                } else if ('beginningOfTomorrow' == request.from && 'endOfTomorrow' == request.to) { 
        
                    encodedQuery = PREFIX_QUERY + TOMORROW_QUERY; 
        
                } else { 
        
                    throw gs.getMessage("Unsupported date range"); 
        
                } 
        
                var LIMIT = 10; 
        
                var changeTaskGr = new GlideRecordSecure('change_task'); 
        
                changeTaskGr.addEncodedQuery(encodedQuery); 
        
                changeTaskGr.setLimit(LIMIT + 1); 
        
                changeTaskGr.query(); 
        
                var count = changeTaskGr.next() ? changeTaskGr.getRowCount() : 0; 
        
                var items = []; 
        
                if (count > 0) { 
        
                    var msg = null; 
        
                    if (1 == count) { 
        
                        msg = gs.getMessage("{0} change task", [count]) + ""; 
        
                    } else { 
        
                        if (count > LIMIT) { 
        
                            msg = gs.getMessage("More than {0} change task(s)", [LIMIT.toString()]) + ""; 
        
                        } else { 
        
                            msg = gs.getMessage("{0} change task(s)", [count]) + ""; 
        
                        } 
        
                    } 
        
                    var route = { 
        
                        route: 'simplelist', 
        
                        fields: { 
        
                            table: changeTaskGr.getTableName() 
        
                        }, 
        
                        params: { 
        
                            listTitle: listTitle, 
        
                            query: changeTaskGr.getEncodedQuery() 
        
                        } 
        
                    }; 
        
                    if (1 == count) { 
        
                        route = { 
        
                            route: 'record', 
        
                            fields: { 
        
                                table: changeTaskGr.getTableName(), 
        
                                sysId: changeTaskGr.getUniqueValue() 
        
                            } 
        
                        }; 
        
                    } 
        
                    var item = { 
        
                        label: msg, 
        
                        type: 'route', 
        
                        value: route, 
        
                        "startsWith": { 
        
                            "icon": "change-outline", 
        
                            "align": "center" 
        
                        }, 
        
                        "opensWindow": false, 
        
                        "configAria": {}, 
        
                        "download": false 
        
                    }; 
        
                    items.push(item); 
        
                } 
        
                return items; 
    4. Wählen Sie Aktualisieren, und speichern Sie den Datensatz mit der Skripteinbindung.
    5. Erstellen Sie eine Aufgabe, um zu verifizieren, ob sie als bevorstehende Aufgabe angezeigt wird.
      Erstellen Sie beispielsweise eine Change-Aufgabe.
      1. Navigieren Sie im Menü Alle zu change_task.list.
      2. Wählen Sie Neu.
      3. Geben Sie die erforderlichen Informationen an.
        • Kurzbeschreibung
        • Beschreibung
        • Geplantes Startdatum. Sie können das heutige Datum angeben.
        • Zugewiesen an. Geben Sie den Anwender an, für den die bevorstehende Aufgabe angezeigt werden soll.
      4. Wählen Sie Absenden.
      5. Vergewissern Sie sich, dass die Aufgabe im Abschnitt Bevorstehend der Zielseite von Service Operations-Arbeitsbereich für den ausgewählten Anwender angezeigt wird.