Configurer la section À venir sur la page de destination

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 4 minutes de lecture
  • Configurez les données qui s'affichent dans la section À venir.

    Avant de commencer

    Rôle requis : admin

    Pourquoi et quand exécuter cette tâche

    À l'aide d'un point d'extension, vous pouvez appeler les scripts personnalisés pour étendre les fonctionnalités de la section À venir et intégrer facilement les personnalisations sans avoir à modifier le code de base. Pour en savoir plus sur les points d'extension, consultez Créer et ajouter un point d'extension scripté.
    Tableau 1. Points d'extension scriptés pour la section À venir dans le système de base
    Point d'extension Description
    sn_sow.UpcomingLinkProvider Permet d'obtenir la liste des enregistrements de tâches à venir (changements, incident, demandes et tâches en retard) pour le jour même et le jour suivant.

    Procédure

    1. Accédez à la Tous > Points d'extension système > Points d'extension scriptés.
    2. Dans la liste Points d'extension, sélectionnez sn_sow.UpcomingLinkProvider.
    3. Créez une implémentation à l'aide du lien connexe Créer une implémentation ou modifiez une implémentation à partir de la liste connexe Implémentations.
      Voici un exemple de la façon d'ajouter un nouveau type d'annonce pour les tâches de changement.
      • Nom : MyCustomUpcomingLinkProvider_ChangeTask
      • Script :
         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. Sélectionnez Mettre à jour et sauvegardez l'enregistrement d'include de script.
    5. Créez une tâche pour vérifier si elle s'affiche comme tâche à venir.
      Par exemple, créez une tâche de changement.
      1. Dans le menu Tout, accédez à change_task.list.
      2. Sélectionnez Nouveau.
      3. Renseignez les champs requis.
        • Description brève
        • Description
        • Date de début prévue. Vous pouvez spécifier la date du jour.
        • Affecté à. Spécifiez l'utilisateur pour lequel la tâche à venir doit s'afficher.
      4. Sélectionnez Soumettre.
      5. Vérifiez que la tâche figure dans la section À venir de la page de destination de l'Espace de travail pour l'exploitation des services pour l'utilisateur sélectionné.