GlideRecord - Cliente

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 9 min. de leitura
  • . GlideRecord A API fornece métodos que executam operações de banco de dados. Esta API permite o uso de algumas funcionalidades GlideRecord em scripts do lado do cliente, como scripts de cliente e scripts de política de IU.

    Um GlideRecord contém registros e campos. Consultas feitas com o lado do cliente GlideRecord os métodos são executados no servidor. Portanto, uma solicitação é feita do navegador do cliente para obter os dados do registro.

    Lado do cliente GlideRecord A API não é compatível com aplicações com escopo. Em vez disso, crie uma inclusão de script e use GlideAJAX Ou use REST APIs. Esta API aplica ACLs (Access Control Lists, listas de controle de acesso) com base nas credenciais do usuário que executa o script. Para executar o código no servidor sem ACLs, use GlideAjax API.

    Lado do cliente GlideRecord - GlideRecord (nome da tabela de cadeia de caracteres)

    Cria uma instância da classe GlideRecord para a tabela especificada.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    tableName Cadeia de caracteres A tabela a ser usada.
    var now_GR = new GlideRecord('incident');

    Lado do cliente GlideRecord - addOrderBy (coluna de cadeia de caracteres)

    Adiciona uma coluna para ordenar na consulta.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    coluna Cadeia de caracteres A coluna pela qual o conjunto de resultados será solicitado.
    Tabela 3. Retornos
    Tipo Descrição
    vazio

    Lado do cliente GlideRecord - addQuery (nome da cadeia de caracteres, valor do objeto)

    Adiciona uma consulta para retornar registros em que o nome do campo especificado é igual a um valor especificado (ou está em uma lista de valores).

    Se você estiver familiarizado com SQL, este método será semelhante à cláusula "WHERE". Você pode criar uma ou mais consultas para um único filtro chamando este método várias vezes; para este método, as consultas são AND'ed. Depois de definir todas as consultas desejadas, chame Lado do cliente GlideRecord - consulta (nome da cadeia de caracteres, função responseFunction, valor da cadeia de caracteres) para executar a cláusula de consulta especificada (filtro).

    Para executar uma operação diferente de E, use AddQuery (nome da cadeia de caracteres, operador do objeto, valor do objeto) ou SetEncodedQuery() método.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo a ser verificado.
    valor Objeto O valor ou a lista de valores na qual consultar.
    Tabela 5. Retornos
    Tipo Descrição
    vazio

    Exemplo que mostra várias consultas.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('priority', 4); // Priority is 4 – Low and,
    now_GR.addQuery('state', 3); // State is On Hold
    now_GR.query(response);
     
    function response(result) {
        while(result.next()) {
           // Print all INC with priority 4 – Low AND state is On Hold
            console.log(result.getValue('number')); 
        }
    }

    Exemplo que mostra como passar um objeto de cadeia de caracteres.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('short_description', new String('USB device not working')); // string object
    now_GR.addQuery('priority', 4); //number
    now_GR.query(response);
     
    function response(result) {
        while(result.next()) {
           // Print all INC with priority 4 – Low AND short description contains 'USB device not working'
            console.log(result.getValue('number')); 
        }
    }

    Lado do cliente GlideRecord - addQuery (nome da cadeia de caracteres, operador do objeto, valor do objeto)

    Adiciona um filtro para retornar registros em que o campo atende à condição especificada (campo, operador, valor).

    Se você estiver familiarizado com SQL, este método será semelhante à cláusula "WHERE". Você pode criar uma ou mais consultas para um único filtro chamando este método várias vezes. Depois de definir todas as consultas desejadas, chame Lado do cliente GlideRecord - consulta (nome da cadeia de caracteres, função responseFunction, valor da cadeia de caracteres) para executar a cláusula de consulta especificada (filtro).

    Para criar consultas mais complexas, use SetEncodedQuery() método.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo a ser verificado.
    operador Objeto Operador de consulta. Os valores disponíveis dependem do tipo de dados do valor parâmetro.
    Números:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Cadeias de caracteres (deve estar em maiúsculas):
    • =
    • !=
    • IN
    • NÃO ESTÁ EM
    • COMEÇA COM
    • ENDSWITH
    • CONTÉM
    • NÃO CONTÉM
    • INSTANCEOF
    Nota:
    Não use o operador LIKE. Em vez disso, use CONTÉM.
    valor Objeto Valor no qual consultar (não diferencia maiúsculas de minúsculas).
    Tabela 7. Retornos
    Tipo Descrição
    vazio

    Exemplo que mostra como adicionar várias consultas a um filtro.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('priority', '<=', 2); // Priority is 2 or higher and,
    now_GR.addQuery('short_description', 'CONTAINS', 'crash'); // Short description contains the word crash
    now_GR.query(response);
     
    function response(result) {
        while(result.next()) {
           // Print all INC with priority of 2 or higher AND short description contains "crash"
            console.log(result.getValue('number')); 
        }
    }

    Exemplo que mostra como passar uma matriz para verificar várias condições em uma única consulta.

    var priorities = [4,2]; 
    var now_GR = new GlideRecord('incident'); 
    now_GR.addQuery('priority', 'IN', priorities); 
    now_GR.query(response); 
    
    function response(result) {
      while(result.next()) {
        console.log(result.getValue('number')); 
      } 
    }

    Lado do cliente GlideRecord - deleteRecord(função responseFunction)

    Exclui o registro atual e chama a função de resposta especificada quando concluído.

    Tabela 8. Parâmetros
    Nome Tipo Descrição
    ResponseFunction Função Função de resposta para o retorno de chamada.
    Tabela 9. Retornos
    Tipo Descrição
    Nenhum(a)

    Este exemplo exclui um registro e chama a função de resposta resposta para registrar uma mensagem de alerta.

    var recordGR = new GlideRecord('incident');
    if (recordGR.get('99ebb4156fa831005be8883e6b3ee4b9')) {
      recordGR.deleteRecord(response);
    }
    
    function response(result) {
      alert('Deleted record sys_id: ' + result.getValue('sys_id'));
    }

    Saída:

    Deleted record sys_id: 99ebb4156fa831005be8883e6b3ee4b9

    Lado do cliente GlideRecord - Get (cadeia de caracteres sys_id)

    Executa uma consulta GlideRecord para um registro com o sys_id especificado. Este método deve ser usado para consultar registros únicos, portanto, uma próxima operação é realizada antes de retornar.

    Tabela 10. Parâmetros
    Nome Tipo Descrição
    sys_id Cadeia de caracteres O sys_id do registro a ser encontrado.
    Tabela 11. Retornos
    Tipo Descrição
    Booliano Verdadeiro se um ou mais registros correspondentes foram encontrados. Falso se nenhum registro foi encontrado.

    Lado do cliente GlideRecord - getEncodedQuery()

    Recupera a condição de consulta do conjunto de resultados atual como uma cadeia de caracteres de consulta codificada.

    Tabela 12. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 13. Retorna
    Tipo Descrição
    Cadeia de caracteres Uma cadeia de caracteres de consulta codificada que contém todas as condições que foram adicionadas à consulta.

    Lado do cliente GlideRecord - getLimit()

    Retorna o limite de registros a serem retornados pela consulta GlideRecord.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 15. Retorna
    Tipo Descrição
    Número O limite de registros a serem retornados pela consulta GlideRecord.

    Lado do cliente GlideRecord - getTableName()

    Recupera o nome da tabela associada a este GlideRecord.

    Tabela 16. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 17. Retorna
    Tipo Descrição
    Cadeia de caracteres O nome da tabela
    var item = new GlideRecord('sc_request'); 
    item.addQuery('sys_id', current.request); 
    item.query(itemResponse); 
     
    function itemResponse(item) {
       alert('The table is ' + item.getTableName());
    }

    Lado do cliente GlideRecord - hasNext()

    Determina se há mais registros no GlideRecord.

    Tabela 18. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 19. Retorna
    Tipo Descrição
    Booliano Verdadeiro se houver mais registros no conjunto de consultas.

    Lado do cliente GlideRecord - insert(function responseFunction)

    Insere um novo registro usando os valores de campo que foram definidos para o registro atual.

    Tabela 20. Parâmetros
    Nome Tipo Descrição
    ResponseFunction Função Função a ser executada depois que o registro for inserido.
    Tabela 21. Retornos
    Tipo Descrição
    Cadeia de caracteres Sys_id do registro inserido ou nulo se o registro não foi inserido.
    var now_GR = new GlideRecord('incident');
    now_GR.short_description = 'Learn about GlideRecord';
    var recResponse = now_GR.insert(handleResponse);
    
    function handleResponse(recResponse, answer) {
    // Answer will be the sys_id of the created record or null
    alert('Newly created sys_id is - ' + answer + ' exists');
    }

    Lado do cliente GlideRecord - next()

    Move para o próximo registro no GlideRecord.

    Tabela 22. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 23. Retorna
    Tipo Descrição
    Booliano Falso se não houver mais registros no conjunto de consultas.
    var rec = new GlideRecord('incident');
    rec.query(recResponse);
     
    function recResponse(rec) {
      while (rec.next()) { 
        alert(rec.number + ' exists');
      }
    }

    Lado do cliente GlideRecord - orderBy (coluna de cadeia de caracteres)

    Especifica uma coluna orderBy. Pode ser chamado mais de uma vez para ordenar por várias colunas.

    Tabela 24. Parâmetros
    Nome Tipo Descrição
    coluna Cadeia de caracteres O nome da coluna a ser usado para solicitar o conjunto de resultados.
    Tabela 25. Retornos
    Tipo Descrição
    vazio
    function UpdateProjectWBS(project) {
      var count = 0;
      var child = new GlideRecord('pm_project_task');
      child.addQuery('parent', project.sys_id);
      child.orderBy('order');
      child.orderBy('number');
      child.query(childResponse);
      g_form.addInfoMessage(count + ' Project Tasks updated');
    }
     
    function childResponse(child) {
      var len = child.getRowCount().toString().length;
      var seq = 0;
      while (child.next()) {
        count += UpdateProjectTaskWBS(child, 1, ++seq, len, '');
      }
    }

    Lado do cliente GlideRecord - consulta (nome da cadeia de caracteres, função responseFunction, valor da cadeia de caracteres)

    Executa a consulta ao servidor em relação à tabela com base no filtro addQuery(). Este método consulta a tabela GlideRecord, bem como todas as referências da tabela.

    Não faça chamadas de consulta síncrona. Executar uma consulta sem uma função de resposta torna a chamada síncrona, o que significa que a exibição aguardará a resposta da consulta antes de continuar.

    Tabela 26. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Opcional. O nome de um campo a ser consultado.
    ResponseFunction Função A função chamada quando os resultados da consulta estão disponíveis.
    valor Cadeia de caracteres Opcional. O valor do campo a ser consultado. Qualquer par de literais é considerado um par de consulta (campo : valor).
    Tabela 27. Retornos
    Tipo Descrição
    vazio

    A seguir está um exemplo básico com uma função de resposta.

    var rec = new GlideRecord('incident');
    rec.query(recResponse);
     
    function recResponse(rec) {
      while (rec.next()) { 
       alert(rec.number + ' exists');
      } 
    }

    O exemplo a seguir mostra a diferença entre a sintaxe synchronus e assíncrona, com um exemplo assíncrono.

    // synchronous call syntax (no response function): DO NOT USE
            query();
            
            // asynchronous call syntax
            // performs query with current conditions, calls responseFunction when done
            query(responseFunction)
            
            // synchronous call syntax (no response function): DO NOT USE
            // adds "category=hardware" to current query conditions and performs query
            query('category', 'hardware')
            
            // asynchronous call syntax
            // adds "category=hardware" to current query conditions, performs query, and calls responseFunction when done
            query('category', 'hardware', responseFunction)
            
            // asynchronous call example
            // adds "user_name=abel.tuter" to current query conditions, performs query, and calls defined response function when done
            function onLoad() {
            var now_GR = new GlideRecord("sys_user");
            now_GR.query("user_name", "abel.tuter", function(now_GR) {
            if (now_GR.next()) {
            alert("You can access fields by name from the client API, just like in the server API:\n now_GR.name = " + now_GR.name);
            alert("You can also access fields using getValue():\n now_GR.getValue(\"email\") = " + now_GR.getValue("email"));
            if (now_GR.getDisplayValue) {
            alert("In Service Portal, Mobile, and Agent Workspace, you can access a field's display value:\n now_GR.getDisplayValue(\"company\") = " + now_GR.getDisplayValue("company"));
            } else {
            alert("On the desktop, you cannot access a field's display value, but can get its sys_id:\n now_GR.company = " + now_GR.company);
            }
            alert("You cannot dot-walk in the client API:\n now_GR.company.name = " + now_GR.company.name);
            }
            });
            }

    Lado do cliente GlideRecord - setEncodedQuery(String encodedQuery)

    Adiciona uma cadeia de caracteres de consulta codificada especificada à cláusula de consulta atual.

    Este método permite especificar filtros complexos (cadeias de caracteres de consulta codificadas) em uma única chamada de consulta, ao contrário de outros do lado do cliente AddQuery() métodos. Depois de definir todas as consultas desejadas, chame Lado do cliente GlideRecord - consulta (nome da cadeia de caracteres, função responseFunction, valor da cadeia de caracteres) para executar a cláusula de consulta especificada (filtro). Para obter informações adicionais sobre cadeias de caracteres de consulta codificadas, consulte Cadeias de caracteres de consulta codificadas .

    Se você chamar este método várias vezes antes de chamar o método query(), as consultas serão AND'ed juntas.

    Tabela 28. Parâmetros
    Nome Tipo Descrição
    encodedQuery Cadeia de caracteres Cadeia de caracteres de consulta codificada a ser adicionada à cláusula de consulta atual.
    Tabela 29. Retornos
    Tipo Descrição
    vazio
    var now_GR = new GlideRecord('incident');
    now_GR.setEncodedQuery('priority=4^ORstate=3');
    now_GR.query(response);
     
    function response(result) {
        while(result.next()) {
            console.log(result.getValue('number'));
        }
    }
    

    Lado do cliente GlideRecord - setLimit(Number maxQuery)

    Define o limite de quantos registros estão no GlideRecord.

    Tabela 30. Parâmetros
    Nome Tipo Descrição
    MaxQuery Número O limite do número de registros a serem recuperados.
    Tabela 31. Retornos
    Tipo Descrição
    vazio