GlideRecord - Com escopo

  • Versão de lançamento: Australia
  • Atualizado 12 de mar. de 2026
  • 62 min. de leitura
  • O escopo GlideRecord A API é usada para operações de banco de dados.

    . GlideRecord A API é o principal meio de interface com o banco de dados no código do lado do servidor. Um GlideRecord é um objeto que contém registros de uma única tabela. Use a API para instanciar um objeto GlideRecord e adicionar parâmetros de consulta, filtros, limites e ordenação.

    Consulte GlideRecord artigo para obter detalhes sobre como criar e executar consultas.

    Para obter informações sobre uma classe que executa as mesmas funções que GlideRecord E impõe ACLs, consulte Usando GlideRecordSecure .

    Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() , ou DeleteMultiple() o método em resultados de consulta inválidos pode resultar em perda de dados.

    Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeiro para que consultas com consultas codificadas inválidas não retornem registros. Em alguns casos, a consulta ainda pode retornar registros nos resultados da API, mesmo quando glide.invalid_query.returns_no_rowsestá definido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Em tais consultas, o operador WHERE ignora o(s) termo(s) inválido(s), mas ainda interpreta e retorna o restante da instrução de consulta. Para obter mais informações sobre esta propriedade do sistema e sua funcionalidade, consulte Available system properties.

    Recupere valores de registros

    Na maioria dos casos, não use a referência com pontos para obter valores de um registro. A referência com pontos recupera o objeto inteiro em vez do valor do campo. A recuperação do objeto usa mais armazenamento e pode causar resultados indesejáveis quando usado em matrizes ou em Portal de serviços.

    Em vez de recuperar o objeto inteiro, você pode usar um dos seguintes métodos para copiar os valores do campo:

    Se for necessário percorrer um objeto GlideElement com pontos, use o. ToString() método para recuperar valores. Por exemplo, você pode precisar do sys_id do gerenciador do chamador atual para definir outro campo de referência. O exemplo a seguir mostra como obter o valor da cadeia de caracteres em vez de todo o objeto:
    var mgr = current.caller_id.manager.toString();

    GlideRecord com escopo - addActiveQuery()

    Adiciona um filtro para retornar registros ativos.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    Tipo Descrição
    GlideQueryCondition Filtro para retornar registros ativos.
    var inc = new GlideRecord('incident');
    inc.addActiveQuery();
    inc.query();

    GlideRecord com escopo - addEncodedQuery(consulta de cadeia de caracteres, enforceFieldACL booliano)

    Adiciona uma consulta codificada a outras consultas que podem ter sido definidas.

    Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() , ou DeleteMultiple() o método em resultados de consulta inválidos pode resultar em perda de dados.

    Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeiro para que consultas com consultas codificadas inválidas não retornem registros. Em alguns casos, a consulta ainda pode retornar registros nos resultados da API, mesmo quando glide.invalid_query.returns_no_rowsestá definido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Em tais consultas, o operador WHERE ignora o(s) termo(s) inválido(s), mas ainda interpreta e retorna o restante da instrução de consulta. Para obter mais informações sobre esta propriedade do sistema e sua funcionalidade, consulte Available system properties.

    Nota:
    Para impor o acesso à consulta com base no usuário, use AddUserEncodedQuery() .
    Tabela 3. Parâmetros
    Nome Tipo Descrição
    consulta Cadeia de caracteres AN cadeia de caracteres de consulta codificada .
    CampodACL Booliano Opcional. Sinalizador que indica se as regras de ACL (Lista de controle de acesso) de campo devem ser impostas.
    Valores válidos:
    • Verdadeiro: Impor ACLs de campo.
    • Falso: Não aplique as ACLs de campo.

    Padrão: falso

    Tabela 4. Retornos
    Tipo Descrição
    vazio
    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    while (now_GR.next()) {
      gs.addInfoMessage(now_GR.getValue('number'));
    }

    GlideRecord com escopo - addFunction (função de objeto)

    Aplica um objeto GlideDBFunctionBuilder predefinido a um registro.

    Use o. GlideDBFunctionBuilder classe com escopo para definir uma função. Depois que a função for definida, use AddFunction (função de objeto) método para aplicar a função a um registro.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    função Objeto Objeto GlideDBFunctionBuilder que define uma operação SQL.
    Tabela 6. Retornos
    Tipo Descrição
    vazio
    var functionBuilder = new GlideDBFunctionBuilder();
    var myAddingFunction = functionBuilder.add();
    myAddingFunction = functionBuilder.field('order');
    myAddingFunction = functionBuilder.field('priority');
    myAddingFunction = functionBuilder.build();
    
    // Query incidents in which order + priority is less than 5 and display that added value
    var now_GR = new GlideRecord('incident');
    now_GR.addFunction(myAddingFunction);
    now_GR.addQuery(myAddingFunction, '<', 5);
    now_GR.query();
    while(now_GR.next())
      gs.info(now_GR.getValue(myAddingFunction));

    Saída:

    1
    4
    3
    1
    1
    2
    1

    GlideRecord com escopo – addJoinQuery(cadeia de caracteres joinTable, cadeia de caracteres primaryField, cadeia de caracteres joinTableField)

    Adiciona um filtro para retornar registros com base em um relacionamento em uma tabela relacionada ao GlideRecord atual.

    Você pode usar este método para encontrar todos os usuários que estão no grupo de banco de dados por meio da tabela Membro do grupo [sys_user_grmember] ou para encontrar todos os problemas que têm um incidente atribuído por meio do relacionamento incident.problem_id.

    Esta não é uma junção de banco de dados verdadeira; em vez disso, AddJoinQuery() adiciona uma subconsulta. Assim, enquanto o conjunto de resultados é limitado com base na junção, os únicos campos aos quais você tem acesso são aqueles na tabela base (aqueles que estão na tabela com a qual o GlideRecord foi inicializado).

    Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() , ou DeleteMultiple() o método em resultados de consulta inválidos pode resultar em perda de dados.

    Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeiro para que consultas com consultas codificadas inválidas não retornem registros. Em alguns casos, a consulta ainda pode retornar registros nos resultados da API, mesmo quando glide.invalid_query.returns_no_rowsestá definido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Em tais consultas, o operador WHERE ignora o(s) termo(s) inválido(s), mas ainda interpreta e retorna o restante da instrução de consulta. Para obter mais informações sobre esta propriedade do sistema e sua funcionalidade, consulte Available system properties.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    JoinTable Cadeia de caracteres Nome da tabela a ser usada na junção, como 'incident'.
    PrimárioCampo Cadeia de caracteres Opcional. Nome do campo no GlideRecord a ser usado para unir o campo especificado no joinTableFieldparâmetro.

    Padrão: Sys_id

    JoinTableField Cadeia de caracteres Opcional. Nome do campo na tabela especificada em joinTablepara usar para juntar as tabelas.

    Padrão: Primeiro campo na tabela especificada em joinTableEste é um campo de referência para a tabela GlideRecord atual.

    Tabela 8. Retornos
    Tipo Descrição
    GlideQueryCondition Filtro que lista os registros em que os relacionamentos correspondem.

    Encontre problemas que tenham um incidente anexado. Este exemplo retorna problemas que têm incidentes associados. No entanto, ele não extrairá valores dos incidentes retornados como parte da consulta.

    var prob = new GlideRecord('problem');
    prob.addJoinQuery('incident');
    prob.query();

    Encontre problemas inativos com incidentes associados.

    // Look for Problem records that have associated Incident records
    var now_GR = new GlideRecord('problem');
    var grSQ = now_GR.addJoinQuery('incident');
     
    // Where the Problem records are "active=false"
    now_GR.addQuery('active', 'false');
     
    // And the Incident records are "active=true"
    grSQ.addCondition('active', 'true');
     
    // Query
    now_GR.query();
     
    // Iterate and output results
    while (now_GR.next()) {
    gs.info(now_GR.getValue('number'));
    }

    Encontre problemas que tenham incidentes associados ao incidente caller_ido valor do campo corresponde ao do problema opened_bycampo.

    var now_GR = new GlideRecord('problem'); 
            now_GR.addJoinQuery('incident', 'opened_by', 'caller_id'); 
            now_GR.query();

    GlideRecord com escopo - addNotNullQuery(cadeia de caracteres fieldName)

    Um filtro que especifica registros em que o valor do campo passado no parâmetro não é nulo.

    Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() , ou DeleteMultiple() o método em resultados de consulta inválidos pode resultar em perda de dados.

    Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeiro para que consultas com consultas codificadas inválidas não retornem registros. Em alguns casos, a consulta ainda pode retornar registros nos resultados da API, mesmo quando glide.invalid_query.returns_no_rowsestá definido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Em tais consultas, o operador WHERE ignora o(s) termo(s) inválido(s), mas ainda interpreta e retorna o restante da instrução de consulta. Para obter mais informações sobre esta propriedade do sistema e sua funcionalidade, consulte Available system properties.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    fieldName Cadeia de caracteres O nome do campo a ser verificado.
    Tabela 10. Retornos
    Tipo Descrição
    GlideQueryCondition Um filtro que especifica registros em que o valor do campo passado no parâmetro não é nulo.
    var target = new GlideRecord('incident'); 
    target.addNotNullQuery('short_description');
    target.query();   // Issue the query to the database to get all records where short_description is not null
    while (target.next()) {   
         // add code here to process the incident record
    }

    GlideRecord com escopo - addNullQuery(cadeia de caracteres fieldName)

    Adiciona um filtro para retornar registros em que o valor do campo especificado é nulo.

    Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() , ou DeleteMultiple() o método em resultados de consulta inválidos pode resultar em perda de dados.

    Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeiro para que consultas com consultas codificadas inválidas não retornem registros. Em alguns casos, a consulta ainda pode retornar registros nos resultados da API, mesmo quando glide.invalid_query.returns_no_rowsestá definido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Em tais consultas, o operador WHERE ignora o(s) termo(s) inválido(s), mas ainda interpreta e retorna o restante da instrução de consulta. Para obter mais informações sobre esta propriedade do sistema e sua funcionalidade, consulte Available system properties.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    fieldName Cadeia de caracteres O nome do campo a ser verificado.
    Tabela 12. Retornos
    Tipo Descrição
    GlideQueryCondition A condição de consulta adicionada ao GlideRecord.
    var target = new GlideRecord('incident'); 
    target.addNullQuery('short_description');
    target.query();   // Issue the query to the database to get all records where short_description is null
    while (target.next()) {   
       // add code here to process the incident record
    }

    GlideRecord com escopo - addQuery (nome da cadeia de caracteres, valor do objeto)

    Crie uma consulta de pesquisa e retorne as linhas que correspondem à solicitação.

    Se você estiver familiarizado com SQL, este método será semelhante à cláusula "WHERE". Um ou mais AddQuery() As chamadas podem ser feitas em uma única consulta; neste caso, as consultas são AND'ed. Se alguma das instruções de consulta precisar ser OR'ed, use o. GlideQueryCondition método AddOrCondition() .

    Nota:
    Para impor o acesso à consulta com base no usuário, use AddUserQuery() .

    Quando AddQuery() é chamado com apenas dois parâmetros, nome da tabela e valor de comparação, como MyObj.addQuery('categoria','Hardware'); , presume-se que o operador seja "igual a".

    Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() , ou DeleteMultiple() o método em resultados de consulta inválidos pode resultar em perda de dados.

    Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeiro para que consultas com consultas codificadas inválidas não retornem registros. Em alguns casos, a consulta ainda pode retornar registros nos resultados da API, mesmo quando glide.invalid_query.returns_no_rowsestá definido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Em tais consultas, o operador WHERE ignora o(s) termo(s) inválido(s), mas ainda interpreta e retorna o restante da instrução de consulta. Para obter mais informações sobre esta propriedade do sistema e sua funcionalidade, consulte Available system properties.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo da tabela a ser consultado ou um dos seguintes nomes reservados:
    • 123TEXTQUERY321: Adiciona um termo de pesquisa de cadeia de caracteres à consulta. Especifique a cadeia de caracteres que você deseja corresponder como o valor. Use esta opção para retornar registros com valores de campo que contenham a cadeia de caracteres de pesquisa. Esta opção pesquisa em todos os campos na tabela, que devem ser configurados para indexação e pesquisa. Para obter mais informações sobre como configurar tabelas para indexação e pesquisa, consulte Configure uma única tabela para indexação e pesquisa .
    • 123TEXTINDEXGROUP321: Adiciona um grupo de índice de texto à consulta. Especifique o nome do grupo de índice de texto na tabela Grupos de índice de texto [ts_index_group] que você deseja consultar como o valor. Use esta opção para retornar resultados de pesquisa de uma das tabelas em um grupo de índice de texto, com pontuações de relevância de resultado normalizadas usando as configurações desse grupo de índice de texto. Para obter mais informações sobre como configurar grupos de índice de texto, consulte Configure várias tabelas para indexação e pesquisa .
    Nota:
    Para obter mais detalhes sobre o uso dos nomes reservados, consulte Consultando tabelas no script.
    valor Objeto Valor no qual consultar (não diferencia maiúsculas de minúsculas).
    Tabela 14. Retornos
    Tipo Descrição
    GlideQueryCondition Condição de consulta adicionada ao GlideRecord.

    Este exemplo de código mostra como consultar os registros ativos na tabela de incidentes e, em seguida, defini-los como inativos.

    var rec = new GlideRecord('incident');
    rec.addQuery('active', true);
    rec.query();
    while (rec.next()) {
      rec.setValue('active', false);
      rec.update();
    }

    Este exemplo de código adiciona uma consulta para registros que correspondem ao "servidor de e-mail" na tabela kb_knowledge, com valores de relevância do resultado de pesquisa calculados usando configurações do grupo de índice de texto do portal.

    var now_GR = new GlideRecord("kb_knowledge);
    now_GR.addQuery("123TEXTQUERY321", "email server");
    now_GR.addQuery("123TEXTINDEXGROUP321", "portal");
    now_GR.query();

    GlideRecord com escopo - addQuery (nome da cadeia de caracteres, operador da cadeia de caracteres, valor do objeto)

    Fornece a capacidade de criar uma solicitação que, quando executada, retorna as linhas da tabela especificada que correspondem à solicitação.

    Se você estiver familiarizado com SQL, este método será semelhante à cláusula "WHERE". Um ou mais AddQuery() As chamadas podem ser feitas em uma única consulta; neste caso, as consultas são AND'ed. Se alguma das instruções de consulta precisar ser OR'ed, use o. GlideQueryCondition método AddOrCondition() .

    Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() , ou DeleteMultiple() o método em resultados de consulta inválidos pode resultar em perda de dados.

    Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeiro para que consultas com consultas codificadas inválidas não retornem registros. Em alguns casos, a consulta ainda pode retornar registros nos resultados da API, mesmo quando glide.invalid_query.returns_no_rowsestá definido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Em tais consultas, o operador WHERE ignora o(s) termo(s) inválido(s), mas ainda interpreta e retorna o restante da instrução de consulta. Para obter mais informações sobre esta propriedade do sistema e sua funcionalidade, consulte Available system properties.

    Nota:
    Para impor o acesso à consulta com base no usuário, use AddUserQuery() .
    Tabela 15. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo da tabela.
    operador Cadeia de caracteres Operador de consulta. Os valores disponíveis dependem do tipo de dados do valor parâmetro.
    Números:
    • =
    • !=
    • >
    • >=
    • <
    • menor ou igual a
    Cadeias de caracteres (devem estar em maiúsculas):
    • =
    • !=
    • IN
    • NÃO ESTÁ EM
    • INICIAR
    • ENDSWITH
    • contém
    • NÃO CONTÉM
    • INSTANCEOF
    Nota:
    Use CONTÉM em vez do operador LIKE.
    valor Objeto Valor no qual consultar (não diferencia maiúsculas de minúsculas).
    Tabela 16. Retornos
    Tipo Descrição
    GlideQueryCondition A condição de consulta que foi adicionada ao GlideRecord.
    var rec = new GlideRecord('incident');
    rec.addQuery('active',true);
    rec.addQuery('sys_created_on', ">", "2010-01-19 04:05:00");
    rec.query();
    while (rec.next()) {
      rec.setValue('active', false);
      gs.info('Active incident ' + rec.getValue('number') + ' closed');
      rec.update();
    }

    Usando o operador IN.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('number','IN','INC00001,INC00002');
    now_GR.query();
    while(now_GR.next()) {
      //do something....
    }

    GlideRecord com escopo - addSystemEncodedQuery (consulta de cadeia de caracteres)

    Adiciona uma consulta usando uma cadeia de caracteres de consulta codificada. Use este método para ignorar o acesso à consulta.

    Use este método quando o acesso no nível do sistema for pretendido, para que a imposição da ACL de consulta seja explicitamente ignorada para o usuário. Uso AddUserEncodedQuery() para impor o acesso à consulta.

    Métodos adicionais para acesso no nível do sistema que ignoram as verificações de ACL de consulta:

    Para obter informações sobre como usar este método com GlideRecordSecure , consulte Imposição de ACLs de consulta.

    Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() , ou DeleteMultiple() o método em resultados de consulta inválidos pode resultar em perda de dados.

    Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeiro para que consultas com consultas codificadas inválidas não retornem registros. Em alguns casos, a consulta ainda pode retornar registros nos resultados da API, mesmo quando glide.invalid_query.returns_no_rowsestá definido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Em tais consultas, o operador WHERE ignora o(s) termo(s) inválido(s), mas ainda interpreta e retorna o restante da instrução de consulta. Para obter mais informações sobre esta propriedade do sistema e sua funcionalidade, consulte Available system properties.

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    consulta Cadeia de caracteres AN cadeia de caracteres de consulta codificada .
    Tabela 18. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como retornar o valor numérico dos primeiros 12 incidentes com um valor de prioridade de 1 ou 2.

    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.addSystemEncodedQuery(queryString);
    
    now_GR.setLimit(12);
    now_GR.query();
    
    while (now_GR.next()) {
      gs.info(now_GR.getValue('number'));
    }

    Saída:

    *** Script: INC0002318
    *** Script: INC0000144
    *** Script: INC0006927
    *** Script: INC0003577
    *** Script: INC0006928
    *** Script: INC0000135
    *** Script: INC0005637
    *** Script: INC0003196
    *** Script: INC0002647
    *** Script: INC0004074
    *** Script: INC0003444
    *** Script: INC0001694

    GlideRecord com escopo - addSystemOrderBy (nome da cadeia de caracteres)

    Especifica uma coluna orderBy. Use este método para ignorar o acesso à consulta.

    Use este método quando o acesso no nível do sistema for pretendido, para que a imposição da ACL de consulta seja explicitamente ignorada para o usuário. Uso AddUserOrderBy() para impor o acesso à consulta.

    Métodos adicionais para acesso no nível do sistema que ignoram as verificações de ACL de consulta:

    Chame este método mais de uma vez para ordenar por várias colunas. Os resultados são organizados em ordem crescente. Para organizar registros em ordem decrescente, consulte AddSystemOrderByDesc() .

    Tabela 19. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome da coluna a ser usada para ordenar os registros neste objeto GlideRecord.
    Tabela 20. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como solicitar registros de incidente em ordem crescente por descrição resumida.

    var queryString = "priority=1";
    var now_GR = new GlideRecord('incident');
    
    now_GR.addSystemOrderBy('short_description'); // Ascending Order
    now_GR.addSystemEncodedQuery(queryString);
    
    now_GR.setLimit(6);
    now_GR.query();
    
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

    Saída:

    *** Script: Access token revoked
    *** Script: Access token revoked
    *** Script: Account locked, pls reset my password for Linkedin Sales Navigator
    *** Script: Active Directory (AD) synchronization error
    *** Script: Adobe Photoshop & Digital Publishing Instance is down
    *** Script: Application response time is poor when performing any action in ADP Payroll S...

    GlideRecord com escopo - addSystemOrderByDesc(nome da cadeia de caracteres)

    Especifica uma coluna orderBy decrescente. Use este método para ignorar o acesso à consulta.

    Use este método quando o acesso no nível do sistema for pretendido, para que a imposição da ACL de consulta seja explicitamente ignorada para o usuário. Uso AddUserOrderByDesc() para impor o acesso à consulta.

    Métodos adicionais para acesso no nível do sistema que ignoram as verificações de ACL de consulta:

    Chame este método mais de uma vez para ordenar por várias colunas. Os resultados são organizados em ordem decrescente. Para organizar registros em ordem crescente, consulte AddSystemOrderBy() .

    Tabela 21. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome da coluna a ser usado para ordenar os registros em um objeto GlideRecord.
    Tabela 22. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como solicitar registros de incidente em ordem decrescente por descrição resumida.

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');
    
    now_GR.addSystemOrderByDesc('short_description'); //Descending Order
    now_GR.addSystemEncodedQuery(queryString);
    
    now_GR.setLimit(6);
    now_GR.query();
    
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

    Saída:

    *** Script: Xignite U.S. and Global Real Time Quotes upgrade to the latest version
    *** Script: Xignite Company, Market and Industry News Headlines upgrade to the latest ver...
    *** Script: Workday Talent Management Instance relocation from US datacenter to Hongkong ...
    *** Script: Warning displayed while launching Tableau Server
    *** Script: Warning displayed while launching SAP Financial Accounting
    *** Script: Warning displayed while launching Jive Daily

    GlideRecord com escopo - addSystemQuery (nome da cadeia de caracteres, operador do objeto, valor do objeto)

    Fornece a capacidade de criar uma solicitação que, quando executada, retorna as linhas da tabela especificada que correspondem à solicitação. Use este método para ignorar o acesso à consulta.

    Use este método quando o acesso no nível do sistema for pretendido, para que a imposição da ACL de consulta seja explicitamente ignorada para o usuário. Uso AddUserQuery() para impor o acesso à consulta.

    Métodos adicionais para acesso no nível do sistema que ignoram as verificações de ACL de consulta:

    Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() , ou DeleteMultiple() o método em resultados de consulta inválidos pode resultar em perda de dados.

    Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeiro para que consultas com consultas codificadas inválidas não retornem registros. Em alguns casos, a consulta ainda pode retornar registros nos resultados da API, mesmo quando glide.invalid_query.returns_no_rowsestá definido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Em tais consultas, o operador WHERE ignora o(s) termo(s) inválido(s), mas ainda interpreta e retorna o restante da instrução de consulta. Para obter mais informações sobre esta propriedade do sistema e sua funcionalidade, consulte Available system properties.

    Tabela 23. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo da tabela.
    operador Objeto Operador de consulta. Os valores disponíveis dependem do tipo de dados do valor parâmetro.
    Números:
    • =
    • !=
    • >
    • >=
    • <
    • menor ou igual a
    Cadeias de caracteres (devem estar em maiúsculas):
    • =
    • !=
    • IN
    • NÃO ESTÁ EM
    • INICIAR
    • ENDSWITH
    • contém
    • NÃO CONTÉM
    • INSTANCEOF
    Nota:
    Use CONTÉM em vez do operador LIKE.
    Operadores de esquema dinâmico:
    • =
    • !=
    • <
    • >
    • menor ou igual a
    • >=
    • ENTRE
    • contém
    • _NOT_CONTER
    • ENDSWITH
    • GT_FIELD
    • GT_OR_EQUALS_FIELD
    • IN
    • ISEMPTY
    • ISNOTEMPTY
    • IS_NOT_NULL
    • _NULL
    • GOSTO
    • LT_FIELD
    • LT_OR_EQUALS_FIELD
    • CORRESPONDÊNCIAS
    • NOT_IN
    • NÃO_GOSTO
    • NOT_MATCHES
    • NSAMEAS
    • SAMEAS
    • INICIAR
    valor Objeto Valor no qual consultar (não diferencia maiúsculas de minúsculas).
    Tabela 24. Retornos
    Tipo Descrição
    GlideQueryCondition A condição de consulta que foi adicionada ao GlideRecord.

    O exemplo a seguir mostra como retornar explicitamente todos os usuários ativos chamados fred.

    var rec = new GlideRecord('sys_user');
    rec.addSystemQuery("first_name", "=", "Fred");
    rec.query();
    
    while (rec.next()) {
      gs.info('Active user ' + rec.getValue('last_name'));
    }
    Saída:
    Active user Luddy
    Active user Kunde

    GlideRecord com escopo - addUserEncodedQuery (consulta de cadeia de caracteres)

    Adiciona uma consulta usando uma cadeia de caracteres de consulta codificada. Use este método para impor o acesso à consulta com base no usuário.

    Este método retorna somente registros aos quais o usuário atual tem acesso de consulta (com base em ACLs).

    Métodos relacionados:

    Para obter informações sobre como usar este método com GlideRecordSecure , consulte Imposição de ACLs de consulta.

    Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() , ou DeleteMultiple() o método em resultados de consulta inválidos pode resultar em perda de dados.

    Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeiro para que consultas com consultas codificadas inválidas não retornem registros. Em alguns casos, a consulta ainda pode retornar registros nos resultados da API, mesmo quando glide.invalid_query.returns_no_rowsestá definido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Em tais consultas, o operador WHERE ignora o(s) termo(s) inválido(s), mas ainda interpreta e retorna o restante da instrução de consulta. Para obter mais informações sobre esta propriedade do sistema e sua funcionalidade, consulte Available system properties.

    Tabela 25. Parâmetros
    Nome Tipo Descrição
    consulta Cadeia de caracteres AN cadeia de caracteres de consulta codificada .
    Tabela 26. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como retornar o valor numérico dos primeiros 12 incidentes com um valor de prioridade de 1 ou 2.

    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.addUserEncodedQuery(queryString);
    
    now_GR.setLimit(12);
    now_GR.query();
    
    while (now_GR.next()) {
      gs.info(now_GR.getValue('number'));
    }

    Saída:

    *** Script: INC0002318
    *** Script: INC0000144
    *** Script: INC0006927
    *** Script: INC0003577
    *** Script: INC0006928
    *** Script: INC0000135
    *** Script: INC0005637
    *** Script: INC0003196
    *** Script: INC0002647
    *** Script: INC0004074
    *** Script: INC0003444
    *** Script: INC0001694

    GlideRecord com escopo - addUserOrderBy (nome da cadeia de caracteres)

    Especifica uma coluna orderBy. Use este método para impor o acesso à consulta com base no usuário.

    Este método retorna somente registros aos quais o usuário atual tem acesso de consulta (com base em ACLs).

    Métodos relacionados:

    Chame este método mais de uma vez para ordenar por várias colunas. Os resultados são organizados em ordem crescente. Para organizar registros em ordem decrescente, consulte AddUserOrderByDesc() .

    Tabela 27. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome da coluna a ser usada para ordenar os registros neste objeto GlideRecord.
    Tabela 28. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como solicitar registros de incidente em ordem crescente por descrição resumida.

    var queryString = "priority=1";
    var now_GR = new GlideRecord('incident');
    
    now_GR.addUserOrderBy('short_description'); // Ascending Order
    now_GR.addUserEncodedQuery(queryString);
    
    now_GR.setLimit(6);
    now_GR.query();
    
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

    Saída:

    *** Script: Access token revoked
    *** Script: Access token revoked
    *** Script: Account locked, pls reset my password for Linkedin Sales Navigator
    *** Script: Active Directory (AD) synchronization error
    *** Script: Adobe Photoshop & Digital Publishing Instance is down
    *** Script: Application response time is poor when performing any action in ADP Payroll S...

    GlideRecord com escopo - addUserOrderByDesc(nome da cadeia de caracteres)

    Especifica uma coluna orderBy decrescente. Use este método para impor o acesso à consulta com base no usuário.

    Este método retorna somente registros aos quais o usuário atual tem acesso de consulta (com base em ACLs).

    Métodos relacionados:

    Chame este método mais de uma vez para ordenar por várias colunas. Os resultados são organizados em ordem decrescente. Para organizar registros em ordem crescente, consulte AddUserOrderBy() .

    Tabela 29. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome da coluna a ser usado para ordenar os registros em um objeto GlideRecord.
    Tabela 30. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como solicitar registros de incidente em ordem decrescente por descrição resumida.

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');
    
    now_GR.addUserOrderByDesc('short_description'); //Descending Order
    now_GR.addUserEncodedQuery(queryString);
    
    now_GR.setLimit(6);
    now_GR.query();
    
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

    Saída:

    *** Script: Xignite U.S. and Global Real Time Quotes upgrade to the latest version
    *** Script: Xignite Company, Market and Industry News Headlines upgrade to the latest ver...
    *** Script: Workday Talent Management Instance relocation from US datacenter to Hongkong ...
    *** Script: Warning displayed while launching Tableau Server
    *** Script: Warning displayed while launching SAP Financial Accounting
    *** Script: Warning displayed while launching Jive Daily

    GlideRecord com escopo - addUserQuery (nome da cadeia de caracteres, operador do objeto, valor do objeto)

    Fornece a capacidade de criar uma solicitação que, quando executada, retorna as linhas da tabela especificada que correspondem à solicitação. O usuário solicitante deve ter acesso para executar a operação de consulta especificada no campo para que esta solicitação seja adicionada. Use este método para impor o acesso à consulta com base no usuário.

    Este método retorna somente registros aos quais o usuário atual tem acesso de consulta (com base em ACLs).

    Métodos relacionados:
    • AddQuery() Fornece a mesma funcionalidade sem imposição de ACL.
    • AddSystemQuery() ignora as verificações de acesso à consulta.

    Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() , ou DeleteMultiple() o método em resultados de consulta inválidos pode resultar em perda de dados.

    Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeiro para que consultas com consultas codificadas inválidas não retornem registros. Em alguns casos, a consulta ainda pode retornar registros nos resultados da API, mesmo quando glide.invalid_query.returns_no_rowsestá definido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Em tais consultas, o operador WHERE ignora o(s) termo(s) inválido(s), mas ainda interpreta e retorna o restante da instrução de consulta. Para obter mais informações sobre esta propriedade do sistema e sua funcionalidade, consulte Available system properties.

    Tabela 31. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo da tabela.
    operador Objeto Operador de consulta. Os valores disponíveis dependem do tipo de dados do valor parâmetro.
    Números:
    • =
    • !=
    • >
    • >=
    • <
    • menor ou igual a
    Cadeias de caracteres (devem estar em maiúsculas):
    • =
    • !=
    • IN
    • NÃO ESTÁ EM
    • INICIAR
    • ENDSWITH
    • contém
    • NÃO CONTÉM
    • INSTANCEOF
    Nota:
    Use CONTÉM em vez do operador LIKE.
    Operadores de esquema dinâmico:
    • =
    • !=
    • <
    • >
    • menor ou igual a
    • >=
    • ENTRE
    • contém
    • _NOT_CONTER
    • ENDSWITH
    • GT_FIELD
    • GT_OR_EQUALS_FIELD
    • IN
    • ISEMPTY
    • ISNOTEMPTY
    • IS_NOT_NULL
    • _NULL
    • GOSTO
    • LT_FIELD
    • LT_OR_EQUALS_FIELD
    • CORRESPONDÊNCIAS
    • NOT_IN
    • NÃO_GOSTO
    • NOT_MATCHES
    • NSAMEAS
    • SAMEAS
    • INICIAR
    valor Objeto Valor no qual consultar (não diferencia maiúsculas de minúsculas).
    Tabela 32. Retornos
    Tipo Descrição
    GlideQueryCondition A condição de consulta que foi adicionada ao GlideRecord.

    A seguir mostra como retornar somente usuários chamados fred que o usuário atual tem permissão para ver.

    var rec = new GlideRecord('sys_user');
    rec.addUserQuery("first_name", "=", "Fred");
    rec.query();
    
    while (rec.next()) {
      gs.info('Active user ' + rec.getValue('last_name'));
    }
    Saída:
    Active user Luddy
    Active user Kunde

    GlideRecord com escopo - canCreate()

    Determina se as Regras de controle de acesso, que incluem as funções do usuário, permitem a inserção de novos registros nesta tabela.

    Tabela 33. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 34. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se as funções do usuário permitem a criação de registros nesta tabela.
    Valores válidos:
    • Verdadeiro: Criação permitida
    • Falso: A criação não é permitida

    Este exemplo de código escreve se o usuário atual pode criar registros na tabela Incidente no log do sistema.

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.canCreate());

    GlideRecord com escopo - canDelete()

    Determina se as Regras de controle de acesso, que incluem as funções do usuário, permitem excluir registros nesta tabela.

    Tabela 35. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 36. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se as funções do usuário permitem a exclusão de registros nesta tabela.
    Valores válidos:
    • Verdadeiro: Exclusão permitida
    • Falso: A exclusão não é permitida

    Este exemplo de código escreve se o usuário atual pode excluir registros na tabela Incidente no log do sistema.

    var att = new GlideRecord('sys_attachment');
    gs.info(att.canDelete());

    GlideRecord com escopo - canRead()

    Determina se as Regras de controle de acesso (ACLs) permitem registros de leitura nesta tabela. Este método avalia todos os tipos de ACL, como funções de usuário, ACLs com script, ACLs com condições com script e assim por diante.

    Tabela 37. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 38. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se as funções do usuário permitem a leitura de registros nesta tabela.
    Valores válidos:
    • Verdadeiro: Leitura permitida
    • Falso: A leitura não é permitida

    Este exemplo de código grava se o usuário atual pode ler registros na tabela Incidente no log do sistema.

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.canRead());

    GlideRecord com escopo - canWrite()

    Determina se as Regras de controle de acesso, que incluem as funções do usuário, permitem a edição de registros nesta tabela.

    Tabela 39. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 40. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se as funções do usuário permitem a gravação de registros nesta tabela.
    Valores válidos:
    • Verdadeiro: Gravação permitida
    • Falso: Não é permitido escrever

    Este exemplo de código grava se o usuário atual pode gravar registros na tabela Incidente no log do sistema.

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.canWrite());

    GlideRecord com escopo - chooseWindow(Number firstRow, Number lastRow, boolian forceCount)

    Define um intervalo de linhas a serem retornadas pelas consultas subsequentes.

    Usando setLimit() com chooseWindow()
    . SetLimit() o método chama implicitamente o. ChooseWindow() e podem causar resultados inesperados quando usados com ChooseWindow() em uma consulta.
    • . ChooseWindow() o método é chamado primeiro, sua janela de registro é substituída pelo SetLimit() método.
      O uso das seguintes linhas em uma consulta retorna 100 registros começando na linha 1:
      grIncident.chooseWindow(20,30);
      grIncident.setLimit(100);
    • . SetLimit() o método é chamado primeiro, a janela definida por ChooseWindow() é usado e o limite é substituído.
      O uso das seguintes linhas em uma consulta retorna 10 registros começando na linha 21:
      grIncident.setLimit(5);
      grIncident.chooseWindow(20,30);
      Nota:
      Em execução consulta () com o. ChooseWindow() o método aciona um CONTAGEM(*) consulta, o que pode resultar em desempenho lento em tabelas com um grande número de registros. Você pode usar SetLimit() antes ChooseWindow() para ignorar a execução do CONTAGEM(*) , mas o mesmo benefício de desempenho é possível usando SetNoCount() .
    Consulte também:
    Tabela 41. Parâmetros
    Nome Tipo Descrição
    Primeira linha Número Índice baseado em zero da linha inicial do intervalo, inclusive. (O valor 0 retorna a primeira linha.)
    LastRow Número Índice baseado em zero da linha final do intervalo, Exclusivo.

    Por exemplo, se firstRowe. 1 e. lastRowquatro registros são retornados (2-5) 5.

    ForceCount Booliano Opcional. Sinalizador que indica se uma consulta de contagem de linhas deve ser forçada. Na maioria das implementações desta chamada, a contagem de linhas é realizada. Há alguns casos periféricos, como pesquisas de texto, em que uma contagem de linhas não foi realizada. A definição desse sinalizador garante que a contagem de linhas ocorra.
    Valores válidos:
    • Verdadeiro: A contagem de linhas sempre ocorre.
    • Falso: A contagem de linhas ocorre se implementada na execução normal do método.

    Padrão: falso

    Tabela 42. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como retornar os registros 3 e 4 da tabela Incidente [incidente].

    var now_GR = new GlideRecord('incident');
    now_GR.orderBy('number');
    now_GR.chooseWindow(2, 4);
    now_GR.query();
    while (now_GR.next()) {
      gs.info(now_GR.getValue('number') + ' is within window');
    }

    Saída:

    *** Script: INC0000003 is within window
    *** Script: INC0000004 is within window

    GlideRecord com escopo - deleteMultiple()

    Exclui todos os registros que atendem à consulta.

    Este método não exclui anexos.

    Não use DeleteMultiple() em tabelas com campos de moeda. Sempre exclua cada registro individualmente. Além disso, não use este método com ChooseWindow() ou SetLimit() métodos ao trabalhar com tabelas grandes. . SetLimit() o método não limita o número de registros que são excluídos com DeleteMultiple() . Todos os registros retornados pela consulta são excluídos independentemente de SetLimit() .

    . glide.db.forced.chunk.thresholda propriedade do sistema define o limite acima do qual força exclusões e atualizações de registro de bloco. O agrupamento ajuda a evitar que exclusões de chaves não primárias em tabelas enormes causem problemas de replicação. Para obter mais informações, consulte Available system properties.

    Tabela 43. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 44. Retorna
    Tipo Descrição
    Nenhum(a)

    Este exemplo mostra como excluir todos os registros inativos da tabela Incidente.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('active','false');
    now_GR.query();
    now_GR.deleteMultiple();

    GlideRecord com escopo - deleteRecord()

    Exclui o registro atual.

    Tabela 45. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 46. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se o registro foi excluído com sucesso.
    Valores válidos:
    • Verdadeiro: O registro foi excluído.
    • Falso: Nenhum registro foi encontrado para excluir.

    Este exemplo mostra como excluir um registro especificado da tabela Incidente.

    var now_GR = new GlideRecord('incident');
    //to delete one record
    if (now_GR.get('99ebb4156fa831005be8883e6b3ee4b9'))
        now_GR.deleteRecord();

    Este exemplo mostra como excluir um registro da tabela Incidente imediatamente após ele ser inserido. O incidente GlideRecord deve ser recarregado após a inserção para que ela possa ser excluída.

    var grTicket = new GlideRecord('incident');
    grTicket.initialize();
    grTicket.short_description = 'Example ticket';
    grTicket.work_notes = 'An update about the ticket';
    var ins_sys_id = grTicket.insert(); // Insert the record
    grTicket.get(ins_sys_id); // Reload the inserted record
    gs.info(grTicket.deleteRecord()); // Delete the record

    Saída:

    true

    GlideRecord com escopo - disableSysIdInOtimization()

    Desabilita a otimização padrão que impede a execução de uma consulta de banco de dados extra quando um usuário passa um grande número de sys_ids, como GrIncident.addQuery('sys_id', 'IN', listOf200SysIds) .

    Este método afeta apenas o GlideRecord no qual é chamado. Para modificar a otimização do limite sys_id para todos os GlideRecords, ajuste o valor em glide.db.first_pass_sys_id_list_size.maxpropriedade do sistema (padrão 100).

    Se você não chamar este método ou ajustar o. glide.db.first_pass_sys_id_list_size.maxe passar uma lista que contém mais entradas sys_id do que o definido em glide.db.first_pass_sys_id_list_size.max, o valor retornado de GlideRecord.getRowCount() pode estar incorreto.

    Tabela 47. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 48. Retorna
    Tipo Descrição
    Nenhum

    O exemplo de código a seguir mostra como usar o. DisableSysIdInOptimiation() Método para desabilitar a otimização do limite sys_id ao passar uma lista sys_id de incidente que contém 200 entradas.

    var listOf200SysIds = [ ... ]; // 200 comma separated sys_ids
    var grIncident = new GlideRecord('incident');
    grIncident.addQuery('sys_id', 'IN', listOf200SysIds);
    grIncident.disableSysIdInOptimization(); // Rowcount could be incorrect without this method call
    grIncident.query();
    if (grIncident.next())
        gs.info("Rowcount: " + grIncident.getRowCount());

    Saída:

    Rowcount: 200

    GlideRecord com escopo - Obter (nome do objeto, valor do objeto)

    Retorna o registro especificado no objeto GlideRecord atual.

    Este método aceita um ou dois parâmetros. Se apenas um parâmetro for passado, o método presume que é o sys_id do registro desejado. Se não for encontrado, ele tentará corresponder o valor com o valor de exibição. Se dois parâmetros forem passados, o primeiro será o nome da coluna no GlideRecord a ser pesquisado. O segundo é o valor a ser pesquisado. Se vários registros forem encontrados, use próximo() para acessar os registros adicionais.

    Tabela 49. Parâmetros
    Nome Tipo Descrição
    nome Objeto Opcional. Nome da coluna GlideRecord instanciado para pesquisar o especificado valueparâmetro. Se apenas um parâmetro for passado, o método presume que esse parâmetro é o sys_id ou o valor de exibição.
    valor Objeto Valor a corresponder. Para campos calculados, o valor é correspondido como está, em vez de executar um cálculo em um valor padrão com script para um campo no registro.
    Tabela 50. Retornos
    Tipo Descrição
    Booliano Indica se o registro solicitado foi localizado:
    • verdadeiro: o registro foi encontrado
    • falso: o registro não foi encontrado

    Este exemplo mostra como obter um registro de incidente passando o sys_id.

    var grIncident = new GlideRecord('incident');
    var returnValue = grIncident.get('99ebb4156fa831005be8883e6b3ee4b9');
    gs.info(returnValue); // logs true or false
    gs.info(grIncident.short_description); // logs Incident Short description

    Este exemplo mostra como obter um registro de incidente passando o campo para pesquisa (caller_id.name) e o valor a corresponder nesse campo.

    var grIncident = new GlideRecord('incident');
    var returnValue = grIncident.get('caller_id.name','Sylivia Wayland');
    gs.info(returnValue); // logs true or false
    gs.info(grIncident.getValue('number')); // logs Incident Number

    GlideRecord com escopo - getAttribute(cadeia de caracteres fieldName)

    Retorna os atributos de dicionário para o campo especificado.

    Tabela 51. Parâmetros
    Nome Tipo Descrição
    fieldName Cadeia de caracteres Nome do campo para o qual os atributos do dicionário serão retornados
    Tabela 52. Retornos
    Tipo Descrição
    Cadeia de caracteres Atributos do dicionário
    doit();
    function doit() {
      var now_GR = new GlideRecord('sys_user');
      now_GR.query("user_name","admin");
      if (now_GR.next()) {
        gs.info("we got one");
        gs.info(now_GR.location.getAttribute("tree_picker"));
      }
    }

    GlideRecord com escopo - getClassDisplayValue()

    Retorna o rótulo da tabela atual.

    Tabela 53. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 54. Retorna
    Tipo Descrição
    Cadeia de caracteres Rótulo que identifica a tabela.

    Este exemplo imprime o rótulo da tabela Passado.

    // Display the incident table label
    var now_GR = new GlideRecord("incident");
    var value = now_GR.getClassDisplayValue();
    gs.info("The table label is " + value + ".");

    Saída:

    The table label is Incident.

    GlideRecord com escopo - getDisplayValue()

    Recupera o valor de exibição do registro atual.

    Os valores de exibição são manipulados com base no valor real no banco de dados e nas configurações e preferências do usuário ou do sistema.

    O valor de exibição retornado depende do tipo de campo.
    • Campos de seleção: O valor do banco de dados pode ser um número, mas o valor de exibição será mais descritivo.
    • Campos de data: O valor do banco de dados está no formato UTC, enquanto o valor de exibição é baseado no fuso horário do usuário.
    • Texto criptografado: O valor do banco de dados é criptografado, enquanto o valor exibido não é criptografado com base no contexto de criptografia do usuário.
    • Campos de referência: O valor do banco de dados é sys_id, mas o valor de exibição é um campo de exibição do registro referenciado.
    Tabela 55. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 56. Retorna
    Tipo Descrição
    Cadeia de caracteres Valor de exibição do registro atual.

    Este exemplo grava o valor de exibição de um registro de incidente especificado no log.

    var now_GR = new GlideRecord('incident');
    now_GR.get('sys_id','<sys_id>');
    gs.info(now_GR.getDisplayValue());

    Saída:

    INC0000050

    GlideRecord com escopo - getED()

    Retorna o descritor do elemento.

    Tabela 57. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 58. Retorna
    Tipo Descrição
    Descritor GlideElementor O descritor do elemento.

    Este exemplo mostra como recuperar o campo de nome de um GlideRecord de incidente.

    var grInc = new GlideRecord('incident');
    grInc.get('sys_id','ef43c6d40a0a0b5700c77f9bf387afe3');
    
    var field = grInc.getElement('priority');
    var ed = field.getED();
    
    var isEdge = ed.getLabel();
    gs.info("Label is - " + isEdge);
    Saída:
    Label is - Priority

    GlideRecord com escopo - getElement (cadeia de caracteres fieldName)

    Recupera o objeto GlideElement para o campo especificado.

    O valor retornado por este método é um objeto GlideElement completo. Os resultados são o equivalente ao valor de um campo com referência com pontos. Por exemplo, Now_GR.getElement('shhort_description') fornece o mesmo resultado de Now.short_description .

    Na maioria dos casos, não use a referência com pontos para obter valores de um registro. A referência com pontos recupera o objeto inteiro em vez do valor do campo. A recuperação do objeto usa mais armazenamento e pode causar resultados indesejáveis quando usado em matrizes ou em Portal de serviços.

    Em vez de recuperar o objeto inteiro, você pode usar um dos seguintes métodos para copiar os valores do campo:

    Se for necessário percorrer um objeto GlideElement com pontos, use o. ToString() método para recuperar valores. Por exemplo, você pode precisar do sys_id do gerenciador do chamador atual para definir outro campo de referência. O exemplo a seguir mostra como obter o valor da cadeia de caracteres em vez de todo o objeto:
    var mgr = current.caller_id.manager.toString();
    Tabela 59. Parâmetros
    Nome Tipo Descrição
    fieldName Cadeia de caracteres Nome da coluna para a qual o objeto GlideElement será retornado.
    Tabela 60. Retornos
    Tipo Descrição
    GlideElement O GlideElement da coluna especificada do registro atual. Cada objeto descreve um campo no GlideRecord atual.

    O exemplo a seguir mostra como adicionar um novo registro de incidente com detalhes no Descrição resumida campo.

    var elementName = 'short_description'; 
    var now_GR = new GlideRecord('incident'); 
    now_GR.newRecord(); 
    now_GR.setValue(elementName, "My DB is not working");
    now_GR.insert();
     
    var sdesc = now_GR.getElement('short_description');
    gs.info(sdesc.getValue());

    Saída:

    My DB is not working

    GlideRecord com escopo - getElements()

    Retorna uma matriz de objetos GlideElement. Cada objeto descreve um campo no GlideRecord atual.

    Se for necessário percorrer um objeto GlideElement com pontos, use o. ToString() método para recuperar valores. Por exemplo, você pode precisar do sys_id do gerenciador do chamador atual para definir outro campo de referência. O exemplo a seguir mostra como obter o valor da cadeia de caracteres em vez de todo o objeto:
    var mgr = current.caller_id.manager.toString();
    Tabela 61. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 62. Retorna
    Tipo Descrição
    Matriz Matriz de GlideElement objetos. Cada objeto descreve um campo no GlideRecord atual.

    O exemplo a seguir exibe o valor do campo de nome dos cinco registros mais recentes criados na tabela Pergunta [Pergunta].

    var now_GR = new GlideRecord('question');
    var elementArr = now_GR.getElements();
    now_GR.orderByDesc('sys_created_on');
    now_GR.setLimit(5);
    now_GR.query();
    
    while (now_GR.next()){
      var qNames = now_GR.name.toString();
      elementArr.push(qNames);
      gs.info(qNames);
    }

    Saída:

    delivery_time_var
    delivery_time
    sequence
    priority
    assigned_group

    GlideRecord com escopo - getEncodedQuery()

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

    Tabela 63. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 64. Retorna
    Tipo Descrição
    Cadeia de caracteres AN cadeia de caracteres de consulta codificada .
    var now_GR = new GlideRecord('incident'); 
    now_GR.addQuery('active', true);
    now_GR.addQuery('priority', 1); 
    now_GR.query(); 
    var encodedQuery = now_GR.getEncodedQuery(); 
    gs.info(encodedQuery);

    Saída:

    active=true^priority=1

    GlideRecord com escopo - getLabel()

    Retorna o rótulo do campo.

    Tabela 65. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 66. Retorna
    Tipo Descrição
    Cadeia de caracteres Rótulo do campo
    template.print("Summary of Requested items:\n");  
    var now_GR = new GlideRecord("sc_req_item");
    now_GR.addQuery("request", current.sysapproval);
    now_GR.query();
    while(now_GR.next()) {
    var nicePrice = now_GR.price.toString();
      if (nicePrice != '') {
        nicePrice = parseFloat(nicePrice);
        nicePrice = nicePrice.toFixed(2);
      }
      template.print(now_GR.number + ":  " + now_GR.quantity + " X " + now_GR.cat_item.getDisplayValue() 
        + " at $" + nicePrice + " each \n");
      template.print("    Options:\n");
      for (key in now_GR.variables) {
      var now_V = now_GR.variables[key];
        if(now_V.getGlideObject().getQuestion().getLabel() != '') {
          template.space(4);
          template.print('     ' +  now_V.getGlideObject().getQuestion().getLabel() + " = " 
            + now_V.getDisplayValue() + "\n");  
        }
      }
    }

    GlideRecord com escopo - getLastErrorMessage()

    Recupera a última mensagem de erro. Se não houver a última mensagem de erro, nulo será retornado.

    Tabela 67. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 68. Retorna
    Tipo Descrição
    Cadeia de caracteres A última mensagem de erro como cadeia de caracteres.
    // Setup a data policy where short_description field in incident is mandatory
    var now_GR = new GlideRecord('incident');
    now_GR.insert(); // insert without data in mandatory field
    var errormessage = now_GR.getLastErrorMessage(); 
    gs.info(errormessage);

    Saída:

    Data Policy Exception: Short description is mandatory

    GlideRecord com escopo - getRecordClassName()

    Recupera o nome da classe do registro atual.

    Tabela 71. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 72. Retorna
    Tipo Descrição
    Cadeia de caracteres O nome da classe.
    var now_GR = new GlideRecord('incident'); 
    var recordClassName = now_GR.getRecordClassName(); 
    gs.info(recordClassName);

    Saída:

    incident

    GlideRecord com escopo - getRowCount()

    Recupera o número de linhas (registros) no objeto GlideRecord atual.

    Nota:
    GlideRecord retorna registros correspondentes, portanto, pode não ser tão eficiente quanto GlideAggregate quando você só precisa do número de registros. Se você precisar apenas de uma contagem de registros e não estiver iterando sobre os registros correspondentes, use GlideAggregate .
    Recuperando o número de registros no GlideRecord ou GlideAggregate
    . GlideRecord getRowCount() e. GlideAggregate getAggregate() As APIs oferecem informações semelhantes. Use os critérios a seguir para determinar qual opção é a melhor para você.
    • . GlideRecord getRowCount() o método informa quantos registros foram retornados de uma consulta junto com os próprios registros. Se você precisar do número de registros no conjunto de resultados antes ou depois de iterar o conjunto para executar ações nos registros, use este método.
    • . GlideAggregate getAggregate() o método recupera somente uma contagem de registros correspondentes à consulta, excluindo os registros reais. O agregado deve ser definido no GlideAggregate antes de emitir a consulta.
    Recuperando os registros e a contagem com GlideRecord getRowCount()
    O exemplo a seguir mostra como obter o número total de incidentes ativos com GlideRecord getRowCount() :
    var incident = new GlideRecord("incident");
    incident.addQuery("active", true);
    incident.query();
     
    gs.info("*** Total number of active incidents: {0}", incident.getRowCount());
    Recuperando somente o número de registros com GlideAggregate getAggregate()
    O exemplo a seguir mostra como retornar somente o número de registros. Como esse método não usa os registros correspondentes, é muito mais eficiente usar uma consulta agregada e retornar apenas a contagem.
    var incident = new GlideAggregate("incident");
    incident.addQuery("active", true);
    incident.addAggregate("COUNT");
    incident.query();
     
    if (incident.next())
        gs.info("*** Total number of active incidents: {0}", incident.getAggregate("COUNT"));
    Decidir qual opção é a melhor para sua solução

    Se você quiser recuperar apenas o número de registros, o. GlideAggregate getAggregate() o método é a melhor opção. Para usar os registros individuais e recuperar o número de resultados, use GlideRecord getRowCount() , porque uma única consulta fornece essa funcionalidade.

    Nota:
    Se você quiser usar o. GetRowCount() método ao usar Sys_id EM com mais de 100 valores sys_id, como GrIncident.addQuery('sys_id', 'IN', listOf200SysIds) , você deve:
    • Ligue para DisableSysIdInOtimization() No GlideRecord.
    • Ou, ajuste o. glide.db.first_pass_sys_id_list_size.maxpropriedade do sistema para um valor maior que o número de sys_ids na lista.
    Além disso, certifique-se de ligar para .next() método antes de chamar o. GetRowCount() método.
    Tabela 73. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 74. Retorna
    Tipo Descrição
    Número Número de linhas no GlideRecord atual.

    O exemplo a seguir mostra como obter o número de incidentes da tabela Incidente [incidente].

    var numberOfIncidents = new GlideRecord('incident');
    numberOfIncidents.query();
    gs.info("Records in incident table: " + numberOfIncidents.getRowCount());

    Saída:

    Records in incident table: 6920

    O exemplo de código a seguir mostra como usar o. DisableSysIdInOptimiation() Método para desabilitar a otimização do limite sys_id ao passar uma lista sys_id de incidente que contém 200 entradas.

    var listOf200SysIds = [ ... ]; // 200 comma separated sys_ids
    var grIncident = new GlideRecord('incident');
    grIncident.addQuery('sys_id', 'IN', listOf200SysIds);
    grIncident.disableSysIdInOptimization(); // Rowcount could be incorrect without this method call
    grIncident.query();
    if (grIncident.next())
        gs.info("Rowcount: " + grIncident.getRowCount());

    Saída:

    Rowcount: 200

    GlideRecord com escopo - getTableName()

    Recupera o nome da tabela associada ao GlideRecord.

    Tabela 75. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 76. Retorna
    Tipo Descrição
    Cadeia de caracteres O nome da tabela
    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.getTableName());

    GlideRecord com escopo - getUniqueValue()

    Obtém a chave primária do registro, que geralmente é o sys_id, a menos que especificado de outra forma.

    Tabela 77. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 78. Retorna
    Tipo Descrição
    Cadeia de caracteres A chave primária exclusiva como uma cadeia de caracteres ou nula se a chave for nula.
    var now_GR = new GlideRecord('kb_knowledge');
    now_GR.query();
    now_GR.next();
    var uniqueid = now_GR.getUniqueValue();
    gs.info(uniqueid);

    GlideRecord com escopo - getValue (nome da cadeia de caracteres)

    Recupera o valor da cadeia de caracteres de um elemento subjacente em um campo.

    Nota:
    . Criptografia de campo Enterprise o plug-in está habilitado e a instância tem acesso à chave. esse método retorna valores de texto não criptografado de campos criptografados. Se a instância não tiver acesso à chave, este método retornará o valor criptografado. Para obter mais informações, consulte Criptografia da plataforma .
    Tabela 79. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres O nome do campo do qual obter o valor.
    Tabela 80. Retornos
    Tipo Descrição
    Cadeia de caracteres O valor da cadeia de caracteres do elemento subjacente. Retorna nulo se o campo estiver vazio ou o campo não existir. Os valores boolianos retornam como "0" e. "1" valores de cadeia de caracteres em vez de falso e verdadeiro.
    var now_GR = new GlideRecord('incident'); 
    now_GR.orderBy('number');
    now_GR.query('active','true'); 
    now_GR.next(); 
    gs.info(now_GR.getValue('number'));

    Saída:

    INC0000002

    GlideRecord com escopo - GlideRecord (cadeia de caracteres tablename)

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

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

    GlideRecord com escopo - hasNext()

    Determina se há mais registros no objeto GlideRecord.

    Tabela 82. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 83. Retorna
    Tipo Descrição
    Booliano Verdadeiro se houver mais registros no conjunto de resultados da consulta.
    var rec = new GlideRecord('incident'); 
    rec.query(); 
    if (rec.hasNext()) { 
      gs.info("Table is not empty"); 
    }

    GlideRecord com escopo - insert()

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

    Tabela 84. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 85. Retorna
    Tipo Descrição
    Cadeia de caracteres Sys_id do registro inserido ou nulo se o registro não estiver inserido.
    var now_GR = new GlideRecord('incident');
    now_GR.initialize();
    now_GR.setValue('name', 'New Incident');
    now_GR.setValue('description', 'Incident description');
    now_GR.insert();

    Saída:

    138fb4111b4d4d907cf30d03cd4bcb57

    GlideRecord com escopo - initialize()

    Cria um registro vazio adequado para preenchimento antes de uma inserção.

    Tabela 86. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 87. Retorna
    Tipo Descrição
    vazio
    var grIncident = new GlideRecord('incident');
    grIncident.initialize();
    grIncident.setValue('short_description', 'New Incident');
    grIncident.setValue('description', 'Incident description');
    grIncident.insert();

    GlideRecord com escopo - isActionAborted()

    Verifica se a ação atual do banco de dados deve ser anulada.

    IsActionAborted() é inicializado (definido como falso) para novos threads e pelo próximo() método.

    Tabela 88. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 89. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se a ação atual do banco de dados deve ser anulada.
    Valores válidos:
    • Verdadeiro: A ação atual do banco de dados deve ser anulada.
    • Falso: A ação do banco de dados atual não deve ser anulada.
    var now_GR = new GlideRecord('incident');
     
    gs.info(now_GR.isActionAborted());

    Saída:

    false

    GlideRecord com escopo - isEncodedQueryValid(consulta de cadeia de caracteres)

    Verifica se a consulta codificada especificada é válida.

    Se a consulta codificada especificada for válida, a consulta será aplicada, como se você tivesse chamado AddEncodedQuery() . Se a consulta codificada especificada for inválida, então Sys_idNotValidnull é adicionado como a consulta codificada.

    Nota:
    Este método foi descontinuado e substituído pelo IsValidEncodedQuery() método que não executa a consulta.
    Tabela 90. Parâmetros
    Nome Tipo Descrição
    consulta Cadeia de caracteres Consulta codificada a ser validada. Consulte Cadeias de caracteres de consulta codificadas .
    Tabela 91. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se a consulta codificada especificada é válida.
    • Verdadeiro: A consulta codificada aprovada é válida.
    • Falso: A consulta codificada aprovada não é válida.

    Este exemplo de código mostra como validar uma consulta codificada e executar a lógica se a consulta for válida.

    var now_GR = new GlideRecord('incident_sla');
    var isValidQuery = now_GR.isEncodedQueryValid('inc_impact=1^taskslatable_active=true');
    if (isValidQuery) {
      now_GR.query();
      .
      .
      .
    }

    GlideRecord com escopo - isNewRecord()

    Verifica se o registro atual é um novo registro que ainda não foi inserido no banco de dados.

    Tabela 92. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 93. Retorna
    Tipo Descrição
    Booliano Verdadeiro se o registro for novo e não tiver sido inserido no banco de dados.
    var now_GR = new GlideRecord("x_app_table"); 
    now_GR.newRecord(); // create a new record and populate it with default values
    gs.info(now_GR.isNewRecord());

    GlideRecord com escopo - isValid()

    Determina se a tabela atual é válida ou se o registro foi recuperado com sucesso.

    Tabela 94. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 95. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se a tabela é válida ou se o registro foi recuperado com sucesso.
    Valores possíveis:
    • Verdadeiro: A tabela é válida ou o registro foi recuperado com sucesso.
    • Falso: A tabela é inválida ou o registro não foi recuperado com sucesso.
    var comment_GR = new GlideRecord('cf_comment');
    var commentId = '99ebb4156fa831005be8883e6b3ee4b9';
    comment_GR.get(commentId);
    gs.info(comment_GR.isValid());

    GlideRecord com escopo - isValidEncodedQuery (consulta de cadeia de caracteres)

    Verifica se a sintaxe da consulta codificada está correta.

    Ao passar uma cadeia de caracteres vazia ( "" ) como a consulta de fornecimento:
    • A cadeia de caracteres vazia ( "" representa a ausência de uma consulta e retorna falso.
    • Chamando GlideRecord.addEncodedQuery("") seguido por GlideRecord.query() retorna todas as linhas. O método de consulta é semelhante a uma instrução SQL SELECT. Em SQL, ao usar "SELECT * FROM foo WHERE X", o valor X representa a consulta. Se nenhum valor de consulta for fornecido, todos os registros serão retornados (por exemplo, SELECIONE * DE foo).
    Tabela 96. Parâmetros
    Nome Tipo Descrição
    consulta Cadeia de caracteres Consulta codificada a ser validada. Consulte Cadeias de caracteres de consulta codificadas .
    Tabela 97. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se a consulta codificada especificada é válida.
    • Verdadeiro: A consulta codificada aprovada é válida.
    • Falso: A consulta codificada aprovada não é válida.

    Este exemplo de código mostra como verificar se a consulta codificada é válida.

    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    var isValidQuery = now_GR.isValidEncodedQuery(queryString);
    if (isValidQuery) {
      now_GR.addEncodedQuery(queryString);
      now_GR.query();
      .
      .
      .
    }

    GlideRecord com escopo - isValidField(cadeia de caracteres columnName)

    Determina se o campo especificado está definido na tabela atual.

    Tabela 98. Parâmetros
    Nome Tipo Descrição
    columnName Cadeia de caracteres O nome do campo.
    Tabela 99. Retornos
    Tipo Descrição
    Booliano Verdadeiro se o campo estiver definido para a tabela atual.
    var now_GR = new GlideRecord('incident'); 
    now_GR.initialize(); 
    gs.info(now_GR.isValidField("short_description"));

    GlideRecord com escopo - isValidRecord()

    Determina se um registro foi realmente retornado pela operação de consulta/obtenção de registro.

    Tabela 100. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 101. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se um registro foi realmente retornado pela operação de consulta/obtenção.
    Valores válidos:
    • Verdadeiro: Registro retornado pela operação de consulta/obtenção.
    • Falso: Fim do conjunto de registros, nenhum registro retornado.
    var rec = new GlideRecord('incident');
    rec.query();
    while (rec.next()) { 
      gs.info(rec.number + ' exists');
    }
    gs.info(rec.isValidRecord());

    GlideRecord com escopo - isView()

    Verifica se o registro foi criado em uma exibição ou tabela.

    Tabela 102. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 103. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se o registro foi criado na tabela que é uma exibição.
    • Verdadeiro: O registro foi criado em uma exibição.
    • Falso: O registro foi criado em uma tabela.

    Este exemplo de código mostra como determinar se um GlideRecord foi criado em uma exibição ou tabela.

    var mySLA = new GlideRecord('incident_sla');
    
    if (mySLA.isView() == true){
       gs.info('This record was created in a view.');
    } else {
       gs.info('This record was created in a table.');
    }

    Saída:

    This record was created in a view.

    GlideRecord com escopo - newRecord()

    Cria um novo registro GlideRecord, define os valores padrão para os campos e atribui um ID exclusivo ao registro.

    Tabela 104. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 105. Retorna
    Tipo Descrição
    vazio
    var now_GR = new GlideRecord("x_app_table"); 
    now_GR.newRecord(); 
    gs.info(now_GR.isNewRecord());

    Saída:

    true

    GlideRecord com escopo - next()

    Move para o próximo registro no objeto GlideRecord.

    Nota:
    Este método falha se houver um campo na tabela chamado "next". Se for esse o caso, use o método _next() .
    Tabela 106. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 107. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se há um registro "próximo" no GlideRecord.
    Valores válidos:
    • Verdadeiro: Mover para o próximo registro foi bem-sucedido.
    • Falso: Não há mais registros no conjunto de resultados.
    var rec = new GlideRecord('incident');
    rec.query();
    while (rec.next()) {
     gs.info(rec.getValue('number') + ' exists');
    }
    Saída:
    INC0010112 exists
    INC0010114 exists
    INC0010119 exists
    INC0010127 exists

    GlideRecord com escopo - _next()

    Move para o próximo registro no GlideRecord. Fornece a mesma funcionalidade que próximo() , Use este método se o GlideRecord tiver uma coluna chamada NEXT.

    Tabela 108. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 109. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se há mais registros no conjunto de consultas.
    Valores possíveis:
    • Verdadeiro: Mais registros no conjunto de consultas.
    • Falso: Não há mais registros no conjunto de consultas.

    O exemplo a seguir mostra como listar cada registro na tabela Incidentes [incidente].

    var rec = new GlideRecord('incident');
    rec.query();
    while (rec._next()) {
      gs.info(rec.getValue('number') + ' exists');
    }

    Saída:

    INC0000060 exists
    INC0009002 exists
    INC0000009 exists
    INC0000010 exists
    INC0000011 exists
    INC0000012 exists
    ...

    GlideRecord com escopo - Operação ()

    Determina se uma operação é INSERT, UPDATE ou DELETE.

    Conhecer a operação permite usar operation() para criar uma regra de negócios genérica que possa lidar com cada operação exclusivamente.

    Para obter informações sobre como usar a variável global atual , consulte Variáveis globais em regras de negócios .

    Tabela 110. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 111. Retorna
    Tipo Descrição
    Cadeia de caracteres A operação atual.
    Valores possíveis:
    • excluir
    • inserir
    • atualizar

    O exemplo a seguir mostra como usar esse método em uma regra de negócios. . operação () o método detecta qual operação acionou um evento e executa uma ação diferente dependendo das operações de atualização e inserção.

    if(current.operation() == "update") {
      current.updates ++; } 
    if(current.operation() == "insert") {
      current.updates = 0; }

    GlideRecord com escopo - orderBy (nome da cadeia de caracteres)

    Especifica uma coluna orderBy.

    Chame este método mais de uma vez para ordenar por várias colunas. Os resultados são organizados em ordem crescente. Para organizar registros em ordem decrescente, consulte GlideRecord com escopo - orderByDesc (nome da cadeia de caracteres).

    Nota:
    Para impor o acesso à consulta com base no usuário, use AddUserOrderBy() .
    Tabela 112. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome da coluna a ser usada para ordenar os registros neste objeto GlideRecord.
    Tabela 113. Retornos
    Tipo Descrição
    vazio

    O exemplo a seguir mostra como solicitar registros de incidente em ordem crescente por descrição resumida.

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.orderBy('short_description'); // Ascending Order
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

    Saída:

    Can't launch 64-bit Windows 7 virtual machine
    Can't log into SAP from my laptop today
    Network storage unavailable
    Please remove the latest hotfix from my PC

    GlideRecord com escopo - orderByDesc (nome da cadeia de caracteres)

    Especifica uma coluna orderBy decrescente.

    Chame este método mais de uma vez para ordenar por várias colunas. Os resultados são organizados em ordem decrescente. Para organizar registros em ordem crescente, consulte GlideRecord com escopo - orderBy (nome da cadeia de caracteres).

    Nota:
    Para impor o acesso à consulta com base no usuário, use AddUserOrderByDesc() .
    Tabela 114. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome da coluna a ser usado para ordenar os registros em um objeto GlideRecord.
    Tabela 115. Retornos
    Tipo Descrição
    vazio

    O exemplo a seguir mostra como solicitar registros de incidente em ordem decrescente por descrição resumida.

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.orderByDesc('short_description'); //Descending Order
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

    Saída:

    Please remove the latest hotfix from my PC
    Network storage unavailable
    Can't log into SAP from my laptop today
    Can't launch 64-bit Windows 7 virtual machine

    GlideRecord com escopo - consulta (campo de cadeia de caracteres, valor de cadeia de caracteres)

    Executa uma consulta na tabela com base nos filtros especificados nos métodos de consulta, como AddQuery() e. AddEncodedQuery() .

    Este método consulta a tabela GlideRecord, bem como todas as referências da tabela. Para obter mais informações, consulte Consultando tabelas no script .

    Nota:
    Este método falha se houver um campo na tabela chamado "consulta". Se for esse o caso, use _query() em vez disso.

    Consulte GlideRecord artigo para obter detalhes sobre como criar e executar consultas.

    Tabela 116. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Opcional - Também deve especificar um parâmetro de valor. Nome do campo para pesquisar o valor especificado no parâmetro Valor.
    Nota:
    Este método é normalmente executado sem argumentos, mas você pode especificar um par nome-valor para filtrar registros que contêm os valores especificados. Se os parâmetros forem especificados, a condição "nome" será adicionada à consulta.
    valor Cadeia de caracteres Opcional - Também deve especificar um parâmetro de campo. Valor a ser pesquisado no parâmetro de campo especificado.
    Tabela 117. Retornos
    Tipo Descrição
    vazio

    O exemplo a seguir mostra como verificar o Dicionário do sistema [sys_dictionary] em busca de tabelas com um campo de consulta.

    var tableArr = [];
    
    var now_GR = new GlideRecord('sys_dictionary');
    now_GR.addQuery('element', 'query');
    now_GR.setLimit(6);
    
    now_GR.query();
    
    while(now_GR.next()){
       tableArr.push(now_GR.name.getValue());
    };
    
    gs.info('The following tables have a field column called "query":');
    
    for (i = 0; i < tableArr.length; i++) {
       gs.info(tableArr[i]);
    };

    Saída:

    The following tables have a field column called "query":
    cmdb_convert_bulk_services
    cmdb_multisource_query_status
    cmdb_qb_result_base
    cmdb_qb_table_mapping
    discovery_probes_cim_query
    kb_feedback

    GlideRecord com escopo - _query (campo de cadeia de caracteres, valor de cadeia de caracteres)

    Executa uma consulta na tabela com base nos filtros especificados nos métodos de consulta, como AddQuery() e. AddEncodedQuery() . Este método deve ser usado em tabelas nas quais há uma coluna chamada "query", o que pode causar erros ao executar o método query().

    Este método consulta a tabela GlideRecord, bem como todas as referências da tabela. Para obter mais informações, consulte Consultando tabelas no script .

    Consulte GlideRecord artigo para obter detalhes sobre como criar e executar consultas.

    Tabela 118. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Opcional - Também deve especificar um parâmetro de valor. Nome do campo para pesquisar o valor especificado no parâmetro Valor.
    Nota:
    Este método é normalmente executado sem argumentos, mas você pode especificar um par nome-valor para filtrar registros que contêm os valores especificados. Se os parâmetros forem especificados, a condição "nome" será adicionada à consulta.
    valor Cadeia de caracteres Opcional - Também deve especificar um parâmetro de campo. Valor a ser pesquisado no parâmetro de campo especificado.
    Tabela 119. Retornos
    Tipo Descrição
    vazio

    O exemplo a seguir mostra como consultar a tabela Feedback de conhecimento [kb_feedback] e listar artigos da base de conhecimento com comentários que incluem o Excel.

    var rec = new GlideRecord('kb_feedback');
    rec.addQuery('comments', 'CONTAINS', 'Excel');
    rec._query();
    while (rec.next()) { 
     gs.info(rec.getDisplayValue('article') + " comment: " + rec.getValue('comments'));
    }

    Saída:

    KB0000005 comment: 
    	     Can you please add the version of Excel this applies to? All?
    		
    KB0000005 comment: 
    	     Does this work for all Excel versions? OSX and Windows alike?

    GlideRecord com escopo - setAbortAction (booliano b)

    Define um sinalizador para indicar se a próxima ação do banco de dados (inserir, atualizar, excluir) deve ser anulada. Isso é frequentemente usado em regras de negócios.

    Use em um Antes regra de negócio para impedir que a ação do banco de dados seja realizada. A regra de negócio continua a ser executada após SetAbortAction() é chamado. Chamando SetAbortAction() não impede a execução de regras de negócios subsequentes. Chamar este método só impede que a ação do banco de dados ocorra.

    Tabela 120. Parâmetros
    Nome Tipo Descrição
    b Booliano Verdadeiro para anular a próxima ação. Falso se a ação for permitida.
    Tabela 121. Retornos
    Tipo Descrição
    vazio
    // Often used in business rule to check whether the current operation should be aborted.
    if (current.size > 16) {
      current.setAbortAction(true);
    }

    GlideRecord com escopo - setLimit(Number maxNumRecords)

    Define o limite para o número de registros obtidos pela consulta GlideRecord.

    Usando setLimit() com chooseWindow()
    . SetLimit() o método chama implicitamente o. ChooseWindow() e podem causar resultados inesperados quando usados com ChooseWindow() em uma consulta.
    • . ChooseWindow() o método é chamado primeiro, sua janela de registro é substituída pelo SetLimit() método.
      O uso das seguintes linhas em uma consulta retorna 100 registros começando na linha 1:
      grIncident.chooseWindow(20,30);
      grIncident.setLimit(100);
    • . SetLimit() o método é chamado primeiro, a janela definida por ChooseWindow() é usado e o limite é substituído.
      O uso das seguintes linhas em uma consulta retorna 10 registros começando na linha 21:
      grIncident.setLimit(5);
      grIncident.chooseWindow(20,30);
      Nota:
      Em execução consulta () com o. ChooseWindow() o método aciona um CONTAGEM(*) consulta, o que pode resultar em desempenho lento em tabelas com um grande número de registros. Você pode usar SetLimit() antes ChooseWindow() para ignorar a execução do CONTAGEM(*) , mas o mesmo benefício de desempenho é possível usando SetNoCount() .
    Consulte também:
    Tabela 122. Parâmetros
    Nome Tipo Descrição
    NumRecords Número O número máximo de registros a serem buscados.
    Tabela 123. Retornos
    Tipo Descrição
    vazio
    var now_GR = new GlideRecord('incident');
    now_GR.orderByDesc('sys_created_on');
    now_GR.setLimit(10);
    now_GR.query(); // this retrieves latest 10 incident records created

    GlideRecord com escopo - setNewGuidValue(guid de cadeia de caracteres)

    Define o valor sys_id do registro atual.

    Tabela 124. Parâmetros
    Nome Tipo Descrição
    guid Cadeia de caracteres GUID a ser atribuído ao registro atual.
    Tabela 125. Retornos
    Tipo Descrição
    vazio
    var now_GR = new GlideRecord('incident');
    now_GR.setValue('short_description', 'The third floor printer is broken');
    now_GR.setNewGuidValue('eb4636ca6f6d31005be8883e6b3ee333');
    now_GR.insert();
    gs.info(now_GR.getValue('sys_id'));

    GlideRecord com escopo - setNoCount()

    Impede que uma consulta GlideRecord execute um CONTAGEM(*) consulta.

    Em execução consulta () com alguns métodos, acione um CONTAGEM(*) consulta, como ChooseWindow() e. GetRowCount() métodos. . CONTAGEM(*) a consulta pode causar desempenho lento em tabelas com um milhão ou mais registros. Para obter mais informações, consulte Melhoria de desempenho - Remover contagem de paginação [KB0817996] artigo na Base de conhecimento do Now Support.
    Nota:
    . SetLimit() o método também interrompe a. CONTAGEM(*) . Usando SetNoCount() é desnecessário se SetLimit() o método está incluído na consulta.
    Consulte também:
    Tabela 126. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 127. Retorna
    Tipo Descrição
    vazio

    O exemplo de código a seguir mostra como usar SetNoCount() para ignorar CONTAGEM(*) consulte um conjunto de consultas em janela usando ChooseWindow() método.

    var  grIncident = new GlideRecord('incident');
    
    grIncident.chooseWindow(6915, 6920, true);
    grIncident.setNoCount();
    grIncident.query();
    
    while (grIncident.next()) { // Iterate through the returned records
        gs.info('Incident Number: ' + grIncident.number + ', Short Description: ' + grIncident.short_description);
    };

    Saída:

    Incident Number: INC0006811, Short Description: Request an account to be created for Fidelity 401(k) Plans
    Incident Number: INC0006918, Short Description: Please grant me additional roles in Oracle Fin Collections
    Incident Number: INC0006812, Short Description: Taxware Value-added Tax crashes when I try to launch it
    Incident Number: INC0006919, Short Description: Unable to Access SuccessFactors Learning
    Incident Number: INC0010004, Short Description: Incident for assessment not generating

    GlideRecord com escopo - setValue (nome da cadeia de caracteres, valor do objeto)

    Define o valor do campo com o nome especificado como o valor especificado.

    Normalmente, o script faz um now_GR.category: Valor . No entanto, se o nome do elemento for em si uma variável, você poderá usar now_GR.setValue(elementName, valor) . Ao definir um valor, certifique-se de que o tipo de dados do campo corresponda ao tipo de dados do valor inserido.

    Nota:
    . Criptografia de campo Enterprise o plug-in está habilitado e a instância tem acesso à chave. esse método pode inserir dados criptografados em campos criptografados. Se a instância não tiver acesso à chave, este método retornará um erro. Para obter mais informações, consulte Criptografia da plataforma .
    Não para autenticação com campos password2
    . Valor() o método passa dados password2 como texto não criptografado, o que resulta em um erro sobre a espera de dados criptografados. Além disso, o uso do método setValue() para campos password2 expõe os dados que devem ser criptografados.

    Para autenticação password2, use DisplayValue() em vez disso.

    Tabela 128. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo.
    valor Objeto Valor a ser atribuído ao campo.
    Tabela 129. Retornos
    Tipo Descrição
    Nenhum
    var elementName = 'short_description'; 
    var now_GR = new GlideRecord('incident'); 
    now_GR.initialize(); 
    now_GR.setValue(elementName, "My DB is not working");
    now_GR.insert();

    GlideRecord com escopo - setWorkflow (Habilitar booliano)

    Habilita ou desabilita a execução de regras de negócios, mecanismos de script ou auditorias.

    Nota:
    . SetWorkflow() o método é ignorado ao usar subsequentemente o. DeleteProblem() ou DeleteMultiple() métodos para exclusão em cascata.
    Aviso:
    A desativação da execução de regras de negócios, mecanismos de script e auditoria pode ter um impacto significativo em seu ServiceNow® e como ela funciona. Certifique-se de testar completamente esta mudança antes de implantá-la na produção.
    Nota:
    Este método não pode ser definido para aplicações de escopo cruzado. Para obter informações adicionais, consulte o seguinte artigo da base de conhecimento https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0820691.
    Tabela 130. Parâmetros
    Nome Tipo Descrição
    ativar Booliano Sinalizador que indica se habilitar ou desabilitar a execução de regras de negócios, mecanismos de script e auditoria.
    Valores válidos:
    • Verdadeiro: Habilita a execução de regras de negócios, mecanismos de script ou auditorias.
    • Falso: Desabilita a execução de regras de negócios, mecanismos de script ou auditorias.

    Padrão: verdadeiro

    Tabela 131. Retornos
    Tipo Descrição
    Nenhum
    //Enable business rules, scripts engines for x_app_table
    var now_GR = new GlideRecord("x_app_table"); 
    now_GR.setWorkflow(true);

    GlideRecord com escopo - atualizar (motivo da cadeia de caracteres)

    Atualiza o GlideRecord com todas as mudanças que foram feitas. Se o registro ainda não existir, ele será inserido.

    Tabela 132. Parâmetros
    Nome Tipo Descrição
    motivo Cadeia de caracteres Opcional. Motivo da atualização. O motivo aparece no registro de auditoria.
    Tabela 133. Retornos
    Tipo Descrição
    Cadeia de caracteres Sys_id do registro novo ou atualizado. Retorna nulo se a atualização falhar.

    O exemplo a seguir mostra como atualizar o campo Descrição resumida de um incidente.

    var now_GR = new GlideRecord('incident');
    now_GR.get('99ebb4156fa831005be8883e6b3ee4b9');
    now_GR.setValue('short_description', 'Update the short description');
    now_GR.update();
    gs.info(now_GR.getElement('short_description'));

    Saída:

    Update the short description.

    GlideRecord com escopo - updateMultiple()

    Atualiza cada GlideRecord em uma consulta informada com um conjunto especificado de mudanças.

    Este método não é compatível com a adição de várias entradas de diário.

    . glide.db.forced.chunk.thresholda propriedade do sistema define o limite acima do qual força exclusões e atualizações de registro de bloco. O agrupamento ajuda a evitar que exclusões de chaves não primárias em tabelas enormes causem problemas de replicação. Para obter mais informações, consulte Available system properties.

    Nota:
    Para garantir os resultados esperados, use Valor() método em vez de atribuições diretas. Ou seja, use gr_Now.setValue('<field_name>", "4")); em vez de gr_Now.<field_name>: 4 .
    Nota:
    Não use este método com ChooseWindow() ou SetLimit() métodos ao trabalhar com tabelas grandes.

    Este método define novos valores e não limpa os valores existentes. Para limpar um valor existente, use SetValue() E defina o campo como "NULL". Para obter mais informações, consulte Definindo uma variável GlideRecord como "NULO".

    Tabela 134. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 135. Retorna
    Tipo Descrição
    Nenhum(a)

    Este exemplo mostra como atualizar o estado de todos os incidentes ativos para 4 - "Aguardando informações do usuário".

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('active', true);
    now_GR.setValue('state',  4);
    now_GR.updateMultiple();
    Este exemplo mostra como limpar os valores existentes do campo de descrição para incidentes de prioridade 1.
    var test = new GlideRecord('incident');
    test.addEncodedQuery('priority=1');
    test.query();
     
    test.setValue('description','NULL');
    test.updateMultiple();

    GlideRecord com escopo - updateWithReferences (motivo do objeto)

    Atualiza um registro e também insere ou atualiza todos os registros relacionados com as informações fornecidas.

    Tabela 136. Parâmetros
    Nome Tipo Descrição
    motivo Objeto Motivo das atualizações. O motivo é exibido no registro de auditoria.
    Tabela 137. Retornos
    Tipo Descrição
    Cadeia de caracteres O sys_id do registro que está sendo atualizado.

    Se estiver processando um incidente em que o ID do chamador está definido para fazer referência ao registro sys_user "John Doe", o código a seguir atualizará o registro de usuário de John Doe. Se estiver processando um incidente em que não há ID de chamador especificado, o código a seguir criará um novo registro sys_user com as informações fornecidas (first_name, last_name) e definirá o valor do ID de chamador como o registro sys_user recém-criado.

    var inc = new GlideRecord('incident');
    inc.get(inc_sys_id);  // Looking up an existing incident record where 'inc_sys_id' represents the sys_id of a incident record
    inc.caller_id.first_name = 'John';
    inc.caller_id.last_name = 'Doe';
    inc.updateWithReferences();
    }