Criar filtros com script

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 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, poderá 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é Tudo > 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 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 seja Ativo e. Cliente chamável .
    3. Chame a função JavaScript do Construtor de condições.
      Para obter mais informações, consulte GlideRecord consultas e. Inclusões de script .
      Nota:
      Listas agrupadas com uma inclusão de script no filtro podem causar lentidão.

    Exemplo

    Uma empresa fornece cuidados intensivos para um grupo de clientes. Para rastrear esses serviços, o gerente de serviço precisa de um registro de alto nível e links para todos os incidentes que os clientes levantam.

    A empresa cria uma aplicação, Intensive Care 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 em cuidados intensivos.

    A solução é gravar uma função JavaScript que usa uma consulta GlideRecord para criar uma matriz de sys_ids do 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 ( [Chamador] [is] [javascript:myFunction()] ).
    function myFunction(){ 
        var arrUsers = [];
        var gr = new GlideRecord('u_intensive_care');
        gr.query(); 
        while(gr.next()){
            arrUsers.push(gr.u_customer.toString()); 
        }
        return arrUsers;
    }