Configurar a seção Disponível em breve na página principal

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 4 min. de leitura
  • Configure os dados exibidos na seção Disponível em breve.

    Antes de Iniciar

    Função necessária: administrador

    Por Que e Quando Desempenhar Esta Tarefa

    Usando um ponto de extensão, você pode chamar os scripts personalizados para estender a funcionalidade da seção A seguir e também integrar facilmente as personalizações sem precisar alterar o código base. Para obter informações sobre pontos de extensão, consulte Como criar e adicionar um ponto de extensão com script.
    Tabela 1. Pontos de extensão com script para a seção A seguir no sistema de base
    Ponto de extensão Descrição
    sn_sow.UpcomingLinkProvider Obtém uma lista de registros de tarefas futuras (mudanças, incidentes, solicitações e tarefas atrasadas) para o mesmo dia e o dia seguinte.

    Procedimento

    1. Navegue até "Todos" > "Pontos de extensão do sistema" > "Pontos de extensão com script".
    2. Na lista Pontos de extensão, selecione sn_sow.UpcomingLinkProvider.
    3. Crie uma implementação usando o link relacionado Criar implementação ou edite uma implementação na lista relacionada Implementações.
      Confira a seguir um exemplo de como adicionar um novo tipo de anúncio para tarefas de mudança.
      • Nome: 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. Selecione Atualizar e salve o registro de inclusão do script.
    5. Crie uma tarefa para verificar se ela é exibida como tarefa futura.
      Por exemplo, crie uma tarefa de mudança.
      1. No menu Todas, navegue até change_task.list.
      2. Selecione Novo.
      3. Especifique as informações necessárias.
        • Descrição resumida
        • Descrição
        • Data de início planejada. Você pode especificar a data atual.
        • Atribuído a. Especifique o usuário para quem a próxima tarefa deve aparecer.
      4. Selecione Enviar.
      5. Verifique se a tarefa aparece na seção Disponível em breve da página principal do Espaço de operações de serviços do usuário selecionado.