Criar filtros com script

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 1 min. de leitura
  • O construtor de condições sozinho não pode criar alguns filtros, como exibir um conjunto de registros que depende de uma tabela não relacionada. Se você conhece JavaScript, pode criar funções JavaScript para uso em filtros avançados.

    Antes de Iniciar

    Função necessária: administrador

    Procedimento

    1. Crie uma nova inclusão de script.
      1. Navegar até Definição do Sistema > Inclusões de script.
      2. Clique em Nova.
      3. Preencha o formulário e selecione Enviar.
    2. Abra a inclusão de script e, no campo Script, crie uma função JavaScript que retorna uma matriz de sys_ids.
      • Certifique-se de que a função use o mesmo nome da inclusão de script.
      • Certifique-se de que a inclusão de script esteja Ativa e Cliente chamável.
    3. Chame a função JavaScript do construtor de condições.
      Para obter mais informações, consulte Consultas GlideRecord e Inclusões de script.

    Exemplo

    Uma empresa fornece cuidados intensivos para um grupo de clientes. Para rastrear esses serviços, o gerente de serviço precisa de um diário de alto nível e links para todos os incidentes levantados pelos clientes.

    A empresa cria uma aplicação, Cuidados intensivos, e uma tabela, [u_intensive_care]. Embora a tabela contenha um campo de referência para o nome do cliente, não há link direto para a tabela do usuário. Portanto, o gerente não pode configurar um filtro de lista de incidentes usando o construtor de condições para clientes que estão sob cuidados intensivos.

    A solução é gravar uma função JavaScript que usa uma consulta GlideRecord para criar uma matriz de sys_ids de usuário na tabela [u_intensive_care], conforme mostrado no código de exemplo abaixo. Chame a função do construtor de condições na tabela Incidente ([Caller] [is] [javascript:myFunction()]).
    function myFunction ( ) { 
        var arrUsers  = [ ];
        gr  = new GlideRecord ( 'u_intensive_care' );
        now_GR. query ( ); 
        while (now_GR. next ( ) ) {
            arrUsers. push (now_GR. u_customer. toString ( ) ); 
        }
        return arrUsers;
    }