GlideRecord - Global

  • Versão de lançamento: Australia
  • Atualizado 12 de mar. de 2026
  • 103 min. de leitura
  • . 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.

    Para usar esta API para criar atributos dinâmicos, você deve ter a função dynamic_schema_writer. Para ler dados dinâmicos usando esta API, você deve ter a função dynamic_schema_reader.

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

    Consulte também Dynamic Schema.

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

    Para obter informações sobre GlideRecordSecure , que é uma classe herdada de GlideRecord que executa as mesmas funções que GlideRecord E também impõe ACLs, consulte GlideServer APIs .

    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();

    Atributos dinâmicos

    Há métodos nesta API que têm a mesma funcionalidade que os métodos de esquema dinâmico no GlideDynamicAttributeStore - Global API. Use os métodos de atributo dinâmico nesta API para executar ações em um GlideRecord especificado. Use os métodos em GlideDynamicAttributeStore Se você quiser definir o mesmo grupo de atributos dinâmicos em vários registros. Usando esta API, você pode preparar um objeto GlideDynamicAttributeStore com os atributos desejados e, em seguida, copiar esse objeto para vários GlideRecords usando os vários SetDynamicAttributeValues() métodos.

    GlideRecord - GlideRecord (cadeia de caracteres tablename)

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

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

    GlideRecord - addActiveQuery()

    Adiciona um filtro para retornar registros ativos.

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

    Equivalente com escopo

    Para usar o. AddActiveQuery() em uma aplicação com escopo, use o método com escopo correspondente: AddActiveQuery() .

    GlideRecord - addDomainQuery (objeto glideRecord)

    Muda o domínio usado para a consulta do domínio do usuário para o domínio do GlideRecord fornecido.

    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.

    Esta função requer o plug-in Suporte a domínios - Instalador de extensões de domínio (com.glide.domain.msp_extensions.installer).

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    GlideRecord Objeto GlideRecord do qual obter o domínio.
    Tabela 5. Retornos
    Tipo Descrição
    vazio
    //This example requires the Domain plugin be active, the Group table is the specified 
    //Domain table, and the ITIL user is in the Database Atlanta domain
    //From any domain (using queryNoDomain()) look up the incidents that an ITIL user can only see 
    //who is in the Database Atlanta domain, should expect all incidents with the global or the
    //Database Atlanta domain specified.
    var domain = new GlideRecord('sys_user');
    domain.addQuery('user_name', 'itil');
    domain.queryNoDomain();
    if (domain.next()) {
        var domainQuery = new GlideRecord('incident');
        domainQuery.addQuery('active', true);
        domainQuery.addDomainQuery(domain);
        domainQuery.query();
        gs.print('Number of Incidents for ITIL user: ' + domainQuery.getRowCount());
        while (domainQuery.next())
            gs.print(domainQuery.number);
    }

    Equivalente com escopo

    Este método não está disponível em aplicações com escopo.

    GlideRecord - 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 6. 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 7. 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.number);
     }

    Equivalente com escopo

    Para usar o. AddEncodedQuery() em uma aplicação com escopo, use o método com escopo correspondente: AddEncodedQuery() .

    GlideRecord - addExtraField (cadeia de caracteres dotwalkedField)

    Consulta um ou mais campos com pontos de um formulário ou script em uma única solicitação.

    . AddExtraField() o método permite consultar campos com pontos em uma única solicitação de banco de dados, em vez de executar várias consultas por elemento com pontos em um formulário ou script (o que requer várias viagens de ida e volta para o banco de dados).

    Tabela 8. Parâmetros
    Nome Tipo Descrição
    PontoCaminhadoDevoada Cadeia de caracteres O nome do campo com pontos. Os níveis de nomes de campo são separados por pontos (pontos). Por exemplo, insira o valor Caller.Company se você quiser consultar o. Empresa > Solicitante Condição na tabela Incidente [incidente].

    O formato de dotWalkedFieldsegue a ordem da esquerda para a direita dos campos em um formulário ou script pontilhado.

    Tabela 9. Retornos
    Tipo Descrição
    Nenhum(a)
    Nota:
    . AddExtraField() o método não afeta os resultados de saída; a saída é sempre a mesma, independentemente de você usar esse método no script.
    O exemplo a seguir mostra como consultar o campo de nome do contato de cmn_location (referenciado no campo de referência "local" em um campo cmdb_ci).
    Nota:
    O valor dotWalkedField neste exemplo, cmdb_ci.location.contact.name , se parece com "cmdb_ci fields">"cmn_location fields">"sys_user fields" no ServiceNow® IU ao selecionar campos em uma lista.
    var gliderecord = new GlideRecord("incident");
    gliderecord.addQuery("number", "INC0041457");
    gliderecord.addExtraField("cmdb_ci.location.contact.name");
    gliderecord.query();
    gliderecord.next();
    gs.print(gliderecord.cmdb_ci.location.contact.name);

    A saída é igual a impressão digital(gr.cmdb_ci.location.contact.name) sem usar AddExtraField() . . AddExtraField() o método otimiza a consulta dos campos com pontos. Saída de exemplo:

    Abel Tuter

    GlideRecord - addFunction (função de objeto)

    Aplica um objeto GlideDBFunctionBuilder predefinido a um registro.

    Use a classe com escopo GlideDBFunctionBuilder 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 10. Parâmetros
    Nome Tipo Descrição
    função Objeto Um objeto GlideDBFunctionBuilder ou GlideDBCaseStatementBuilder que define uma operação SQL.
    Tabela 11. Retornos
    Tipo Descrição
    vazio
    var functionBuilder = new GlideDBFunctionBuilder();
    var myAddingFunction = functionBuilder.add();
    myAddingFunction = functionBuilder.field('order');
    myAddingFunction = functionBuilder.field('priority');
    myAddingFunction = functionBuilder.build();
    
    var now_GR = new GlideRecord('incident');
    now_GR.addFunction(myAddingFunction);
    now_GR.addQuery(myAddingFunction, '<', 5);
    now_GR.query();
    while(now_GR.next())
    gs.log(now_GR.getValue(myAddingFunction));
    

    Saída:

    *** Script: 1
    *** Script: 4
    *** Script: 3
    *** Script: 1
    *** Script: 1
    *** Script: 2
    *** Script: 1
    *** Script: 1

    GlideRecord - addInactiveQuery()

    Adiciona um filtro para retornar registros inativos. Os registros inativos têm o sinalizador ativo definido como falso.

    Tabela 12. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 13. Retorna
    Tipo Descrição
    GlideQueryCondition Registros em que o sinalizador ativo é falso.
    var inc = new GlideRecord('incident');
    inc.addInactiveQuery();
    inc.query();

    Equivalente com escopo

    Em aplicações com escopo, use o método com escopo AddQuery("ativo","falso") .

    GlideRecord - addJoinQuery (tabela de cadeia de caracteres)

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

    Por exemplo, localize todos os usuários que estão no grupo de banco de dados (usuários por meio da tabela sys_user_grmember). Outro exemplo seria Localizar todos os problemas que têm um incidente atribuído (problemas 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 14. Parâmetros
    Nome Tipo Descrição
    tabela Cadeia de caracteres Nome da tabela
    Tabela 15. Retornos
    Tipo Descrição
    GlideQueryCondition 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();

    Encontrar problemas ativos: Falsos com incidentes associados.

    // Look for Problem records
    var now_GR = new GlideRecord('problem');
     
    // That have associated Incident records
    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 print results
    while (now_GR.next()) {
        gs.print(now_GR.getValue('number'));
    }

    Equivalente com escopo

    Para usar o. AddJoinQuery() em uma aplicação com escopo, use o método com escopo correspondente: AddJoinQuery() .

    GlideRecord - addJoinQuery (tabela de cadeia de caracteres, cadeia de caracteres primaryField)

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

    Por exemplo, localize todos os usuários que estão no grupo de banco de dados (usuários por meio da tabela sys_user_grmember). Outro exemplo seria Localizar todos os problemas que têm um incidente atribuído (problemas 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 16. Parâmetros
    Nome Tipo Descrição
    tabela Cadeia de caracteres Nome da tabela
    PrimárioCampo Cadeia de caracteres Se for diferente de sys_id, o campo primário.
    Tabela 17. Retornos
    Tipo Descrição
    GlideQueryCondition Registros em que os relacionamentos correspondem.

    Encontre problemas que têm incidentes usando o campo open_by na chave de junção em vez do sys_id.

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

    Equivalente com escopo

    Para usar o. AddJoinQuery() em uma aplicação com escopo, use o método com escopo correspondente: AddJoinQuery() .

    GlideRecord - addJoinQuery(Tabela de cadeia de caracteres, cadeia de caracteres primaryField, cadeia de caracteres joinTableField)

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

    Por exemplo, localize todos os usuários que estão no grupo de banco de dados (usuários por meio da tabela sys_user_grmember). Outro exemplo seria Localizar todos os problemas que têm um incidente atribuído (problemas 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 18. Parâmetros
    Nome Tipo Descrição
    tabela Cadeia de caracteres Nome da tabela
    PrimárioCampo Cadeia de caracteres Se for diferente de sys_id, o campo primário.
    JoinTableField Cadeia de caracteres Se for diferente de sys_id, o campo que une as tabelas
    Tabela 19. Retornos
    Tipo Descrição
    GlideQueryCondition Registros em que os relacionamentos correspondem.

    Encontre problemas com incidentes associados em que o valor do campo caller_id do incidente corresponde ao do campo Problema opened_by.

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

    Equivalente com escopo

    Para usar o. AddJoinQuery() em uma aplicação com escopo, use o método com escopo correspondente: AddJoinQuery() .

    GlideRecord - addNotNullQuery(cadeia de caracteres fieldName)

    Adiciona um filtro para retornar registros em que o campo especificado não é nulo.

    Tabela 20. Parâmetros
    Nome Tipo Descrição
    fieldName Cadeia de caracteres O nome do campo.
    Tabela 21. Retorna
    Tipo Descrição
    GlideQueryCondition GlideQueryCondição de registros em que o campo de 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
      while (target.next()) {   
         // add code here to process the incident record
      }

    Equivalente com escopo

    Para usar o. AddNotNullQuery() em uma aplicação com escopo, use o método com escopo correspondente: AddNotNullQuery() .

    GlideRecord - addNullQuery(cadeia de caracteres fieldName)

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

    Tabela 22. Parâmetros
    Nome Tipo Descrição
    fieldName Cadeia de caracteres O nome do campo.
    Tabela 23. Retorna
    Tipo Descrição
    GlideQueryCondition GlideQueryCondição de registros em que o campo especificado é nulo.
    var target = new GlideRecord('incident'); 
      target.addNullQuery('short_description');
      target.query();   // Issue the query to the database to get all records
      while (target.next()) {   
         // add code here to process the incident record
      }

    Equivalente com escopo

    Para usar o. AddNullQuery() em uma aplicação com escopo, use o método com escopo correspondente: AddNullQuery() .

    GlideRecord - addQuery (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.

    Se você estiver familiarizado com SQL, este método será semelhante à cláusula "where". Você pode fazer um ou mais AddQuery() chamadas em uma única consulta. Para este método, as consultas são AND'ed. Se alguma das instruções de consulta precisar ser OR'ed, use a classe GlideQueryCondition .

    AddQuery() é normalmente chamado com três parâmetros: campo de tabela, operador e valor de comparação. Ele pode ser chamado com apenas dois parâmetros, campo de tabela e valor de comparação, como MyObj.addQuery('categoria','Hardware'); . O operador neste caso é considerado "igual a".

    Para obter informações adicionais sobre como usar consultas, consulte Consultando tabelas no script .

    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 24. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo da tabela ou caminho para um atributo em um elemento de armazenamento de atributo dinâmico.
    Formato do caminho do atributo: dyn_att_field->attr_name
    • dyn_att_field : Nome de um campo de armazenamento de atributos dinâmicos na tabela.
    • nome_atributo : Nome do atributo dinâmico.

      Tabela: Atributo dinâmico [dynamic_attribute]

    Consulte também Dynamic Schema.
    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 25. Retornos
    Tipo Descrição
    GlideQueryCondition Referência à GlideQueryCondition que foi adicionada ao GlideRecord.

    O exemplo a seguir mostra como chamar este método.

    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.active = false;
     gs.print('Active incident ' + rec.number + ' closed');
     rec.update();
    }

    O exemplo a seguir mostra como usar o. EM operador.

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

    O exemplo a seguir mostra como chamar este método usando atributos em um armazenamento de atributos dinâmicos.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.addQuery('inc_dynamic_schema->avg_mpg', 'GT_FIELD', 'inc_dynamic_schema2->avg_mpg'); 
    gr_Inc.query();
    while(gr_Inc.next()) {
        gs.info(gr_Inc.number + " Gas Mileage 1: " + gr_Inc.getDynamicAttributeValue('inc_dynamic_schema->avg_mpg') +  " GT_FIELD Gas Mileage 2 :" + gr_Inc.getDynamicAttributeValue('inc_dynamic_schema2->avg_mpg'));
    }

    Equivalente com escopo

    Para usar o. AddQuery() em uma aplicação com escopo, use o método com escopo correspondente: AddQuery() .

    GlideRecord - 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 26. Parâmetros
    Nome Tipo Descrição
    consulta Cadeia de caracteres AN cadeia de caracteres de consulta codificada .
    Tabela 27. 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 - 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 28. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome da coluna a ser usada para ordenar os registros neste objeto GlideRecord.
    Tabela 29. 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 - 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 30. 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 31. 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 - 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 32. 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 33. 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 - 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 34. Parâmetros
    Nome Tipo Descrição
    consulta Cadeia de caracteres AN cadeia de caracteres de consulta codificada .
    Tabela 35. 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 - 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 36. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome da coluna a ser usada para ordenar os registros neste objeto GlideRecord.
    Tabela 37. 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 - 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 38. 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 39. 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 - 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 40. 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 41. 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 - addValue (campo de cadeia de caracteres, valor numérico)

    Fornece operações atômicas de adição e subtração em um campo numérico especificado no nível do banco de dados para o objeto GlideRecord atual.

    Normalmente, um objeto GlideRecord é gravado como um registro em um banco de dados. Os valores de campos individuais são armazenados conforme definido. Para código que adiciona um valor a um campo GlideRecord, ele simplesmente salva o campo no banco de dados com o novo valor, em vez de incrementá-lo atomicamente.

    Por exemplo, quando o código a seguir é executado, o valor do campo u_count no banco de dados é 2.
    gs.print(now_now_GR.u_count); // "1" 
    now_GR.u_count += 1; 
    now_GR.update(); 
    now_GR.get(now_now_GR.sys_id); 
    gs.print(now_now_GR.u_count); // "2"   
    Se outro usuário executar simultaneamente código idêntico, em vez de as duas operações adicionarem 1 a u_count, o efeito líquido é que u_count contém apenas 2, com a atualização de uma operação sendo perdida.
    Por outro lado, o. AddValue() o método executa a adição/subtração no banco de dados quando o registro é atualizado como uma operação atômica. Duas operações em execução simultaneamente atualizam corretamente o campo.
    gs.print(now_now_GR.u_count); // "1" 
    now_GR.addValue("u_count", 1); 
    now_GR.update(); 
    now_GR.get(now_GR); // The record must be reloaded from the database to observe the result
    gs.print(now_now_GR.u_count); // "3", if executed concurrently with another user 
    Nota:
    O novo valor não é lido do banco de dados, a menos que explicitamente feito isso.

    Gosto Valor() , AddValue() as mudanças só entram em vigor no banco de dados após uma chamada subsequente para atualizar() ou inserir() . Se inserir() é chamado, o campo especificado é inicializado com valueparâmetro passado para AddValue() .

    Nota:
    Se Valor() é chamado para o campo especificado antes de chamar AddValue() . AddValue() o método não é processado e uma mensagem de erro é registrada.
    Tabela 42. Parâmetros
    Nome Tipo Descrição
    Assunto: Cadeia de caracteres O nome do campo neste GlideRecord a ser modificado.

    Se o campo associado não for um tipo numérico, a operação será ignorada.

    valor Número O valor a ser adicionado ao valor quando o registro for salvo. Para executar uma operação de subtração, basta passar um valor negativo.
    Tabela 43. Retornos
    Tipo Descrição
    vazio

    Mostra um valor que está sendo adicionado.

    gs.print(now_GR.u_count); // "1" 
    now_GR.addValue("u_count", 1); 
    now_GR.update(); 
    now_GR.get(now_GR.sys_id); // The record must be reloaded from the database to observe the result
    gs.print(now_GR.u_count);

    Saída: 2

    Mostra um valor que está sendo subtraído.

    gs.print(now_GR.u_count); // "4" 
    now_GR.addValue("u_count", -1); 
    now_GR.update(); 
    now_GR.get(now_GR.sys_id); // The record must be reloaded from the database to observe the result
    gs.print(now_GR.u_count);

    Saída: 3

    GlideRecord - applyEncodedQuery(cadeia de caracteres querystring)

    Define os valores dos termos de consulta codificados especificados e os aplica ao GlideRecord atual.

    Tabela 44. Parâmetros
    Nome Tipo Descrição
    queryString Cadeia de caracteres Consulta codificada a ser aplicada ao GlideRecord atual.
    Tabela 45. Retornos
    Tipo Descrição
    Nenhum

    function createAcl(table, role) {
      gs.print("Checking security on table " + table);
      var now_GR = new GlideRecord("sys_security_acl");
      now_GR.addQuery("name", table);
      now_GR.addQuery("operation", "read");
      now_GR.query();
      var encQuery = now_GR.getEncodedQuery();
      if (now_GR.next()) {
        // existing acl found so use it
        createAclRole(now_GR.sys_id.toString(), role);
        return;
      } else {
      now_GR.initialize();
      now_GR.applyEncodedQuery(encQuery);
      var acl = now_GR.insert();
        gs.print("Added read access control on " + table);
        createAclRole(acl, role);
      } 
    }

    GlideRecord - applyTemplate (modelo de cadeia de caracteres)

    Aplique um registro de modelo da tabela de modelo [sys_template] ao registro atual. Se o modelo especificado não for encontrado, nenhuma ação será realizada.

    Nota:
    Este método instancia automaticamente um now_GR.insert() método se um modelo tiver Próximo modelo secundário relacionado campo preenchido. Para obter informações, consulte Crie modelos para registros de tarefa relacionados .
    Tabela 46. Parâmetros
    Nome Tipo Descrição
    modelo Cadeia de caracteres Nome de um modelo da tabela Modelos [sys_template].
    Tabela 47. Retornos
    Tipo Descrição
    vazio
    var rec1 = new GlideRecord("incident");
    rec1.initialize();
    rec1.applyTemplate("my_incident_template");
    rec1.insert();

    GlideRecord - autoSysFields (booliano e)

    Ativa ou desativa a atualização para os campos sys_updated_by, sys_updated_on, sys_mod_count, sys_created_by e sys_created_on. Isso geralmente é usado para atualizar manualmente os valores de campo em um registro, deixando as informações históricas inalteradas.

    Aviso:
    Tenha cuidado se você usar este método. Quando você usar este método, o campo sys_mod_count não será incrementado e outros campos sys_ não serão atualizados. Isso pode interromper a funcionalidade, incluindo, entre outros, o formatador de atividades, conjuntos de histórico, notificações e métricas.
    Tabela 48. Parâmetros
    Nome Tipo Descrição
    e Booliano Se for falso, desabilita atualizações para sys_updated_by, sys_updated_on, sys_mod_count, sys_created_by e sys_created_on.
    Tabela 49. Retornos
    Tipo Descrição
    vazio
    var inc = new GlideRecord('incident');
     
    // Change all Open(1) incidents to Active(2)
     
    inc.addQuery('state', 1);
    inc.query();
     
    while (inc.next()) {
      inc.autoSysFields(false);  // Do not update sys_updated_by, sys_updated_on, sys_mod_count, sys_created_by, and sys_created_on
      inc.setWorkflow(false);    // Do not run any other business rules
      inc.setValue('state', 2);
      inc.update();
    }

    GlideRecord - canCreate()

    Determina se as regras de controle de acesso (que inclui a função do usuário) permitem a inserção de novos registros nesta tabela.

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

    Este exemplo mostra se os registros podem ser criados na tabela Benefit_plan.

    canCreateBenefitPlan : function() {
      var now_GR = new GlideRecord('benefit_plan');
      return now_GR.canCreate();
    }

    Equivalente com escopo

    Para usar o. CanCreate() em uma aplicação com escopo, use o método com escopo correspondente: CanCreate() .

    GlideRecord - canDelete()

    Determina se as regras de controle de acesso (que inclui a função do usuário) permitem a exclusão de registros nesta tabela.

    Tabela 52. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 53. 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
    var att = new GlideRecord('sys_attachment');
    att.get('$[sys_attachment.sys_id]');
    var sm = GlideSecurityManager.get();
    var checkMe = 'record/sys_attachment/delete';
    var canDelete = sm.hasRightsTo(checkMe, att);
    gs.log('canDelete: ' + canDelete);

    Equivalente com escopo

    Para usar o. CanDelete() em uma aplicação com escopo, use o método com escopo correspondente: CanDelete() .

    GlideRecord - canRead()

    Indica se as regras de controle de acesso (ACLs) permitem que o usuário atual leia o registro atual na tabela GlideRecord associada. Este método avalia todas as ACLs disponíveis para o recurso específico.

    Nota:
    Você não deve usar este método para verificar o acesso no nível da tabela. Uma única chamada para este método pode não ser suficiente para obter um resultado conclusivo da verificação de direitos de acesso no nível da tabela. Para executar uma verificação de acesso no nível da tabela, use GlideSecurityManager.hasRightsTo() método.

    Para obter informações adicionais sobre ACLs, consulte Ordem de avaliação de controles de acesso .

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

    Este exemplo mostra como iterar na tabela Incidente [incidente] e verificar se o usuário tem direitos de leitura para cada registro.

    var grTable = new GlideRecord('incident');
    grTable.query();
    while (grTable.next()) {
      if (grTable.canRead()) 
    		…
    }

    Equivalente com escopo

    Para usar o. CanRead() em uma aplicação com escopo, use o método com escopo correspondente: CanRead() .

    GlideRecord - canWrite()

    Determina se as regras de controle de acesso (que inclui a função do usuário) permitem atualizações nos registros nesta tabela.

    Tabela 56. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 57. 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 mostra se os registros podem ser gravados na tabela Benefit_plan.

    canWriteBenefitPlan : function() {
      var now_GR = new GlideRecord('benefit_plan');
      return now_GR.canWrite();
    }

    Equivalente com escopo

    Para usar o. CanWrite() em uma aplicação com escopo, use o método com escopo correspondente: CanWrite() .

    GlideRecord - Mudanças ()

    Determina se algum dos campos no registro foi alterado.

    Tabela 58. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 59. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se há mudanças no registro especificado.
    Valores possíveis:
    • Verdadeiro: Os campos no registro especificado foram alterados.
    • Falso: Nenhum campo foi alterado.

    Este exemplo mostra como verificar se há mudanças em um registro de incidente.

    var now_GR = new GlideRecord("incident");
    now_GR.query();
    now_GR.next();
    if (now_GR.changes()) {
      gs.print("The incident record reported changes right after being read");
    } else {
      gs.print("The incident record has not changed");
    }

    Equivalente com escopo

    Para implementar essa funcionalidade em uma aplicação com escopo, adicione um código semelhante ao seguinte:

    var now_GR = new GlideRecord("incident");
       now_GR.get("965c9e5347c12200e0ef563dbb9a7156");
       now_GR.short_description = "test";
       var elements = now_GR.getElements();
       var hasChanged = false;
       for(var i=0; i < elements.length;i++){
         var element = elements[i];
         hasChanged = hasChanged || element.changes();
         gs.info(element.getName() + ":" + element.changes());
       }
       gs.info(hasChanged);

    GlideRecord - 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 60. 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 61. 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 - deleteMultiple()

    Exclui todos os registros que atendem à consulta.

    Este método não exclui anexos.

    A referência com pontos não é compatível com este método. Ao usar o. DeleteMultiple() em tabelas referenciadas, todos os registros na tabela são excluídos. Além disso, ao usar DeleteRecord() para exclusão em cascata, chamadas anteriores para SetWorkflow() No mesmo objeto GlideRecord são ignorados.

    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.

    Nota:
    Ao usar DeleteMultiple() para exclusão em cascata, chamadas anteriores para SetWorkflow() No mesmo objeto GlideRecord são ignorados.
    Tabela 62. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 63. 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();

    Equivalente com escopo

    Para usar o. DeleteMultiple() em uma aplicação com escopo, use o método com escopo correspondente: DeleteMultiple() .

    GlideRecord - deleteRecord()

    Exclui um único registro.

    Tabela 64. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 65. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se o registro foi excluído com sucesso.
    Valores possíveis:
    • Verdadeiro: O registro foi excluído.
    • Falso: Nenhum registro foi encontrado para excluir.

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

    var rec = new GlideRecord('incident');
    rec.addQuery('active',false);
    rec.query();
    while (rec.next()) { 
     gs.info('Inactive incident ' + rec.number + ' deleted');
     rec.deleteRecord();
    }

    Saída:

    Inactive incident INC0010010 deleted
    Inactive incident INC0010011 deleted

    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

    Equivalente com escopo

    Para usar o. DeleteRecord() em uma aplicação com escopo, use o método com escopo correspondente: DeleteRecord() .

    GlideRecord - 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 66. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 67. 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 - Localizar (cadeia de caracteres columnName, valor da cadeia de caracteres)

    Retorna verdadeiro se algum registro tiver um valor correspondente na coluna especificada. Se encontrado, ele também se move para o primeiro registro correspondente, essencialmente em execução próximo() até que o registro seja retornado.

    Nota:
    Este método cria um registro em vez de atualizar o registro existente se você aplicar o. atualizar() Método após modificar o GlideRecord. Para evitar a criação de um registro, chame next() método antes de chamar localizar() . Por exemplo:
    var existingMaterials = new GlideRecord('u_m2m_material_num_service_instance');
    existingMaterials.addQuery('u_service_instance', serviceInstance.sys_id);
    existingMaterials.query();
    existingMaterials.next(); // This line added to prevent new record creation
    
    existingMaterials.find('u_material_number', 'ca41b9fd37a84200fdc25ca543990ed8');
    
    existingMaterials.u_material_quantity = 5;
    existingMaterials.update("Modify request via catalog");
    Consulte também:
    Tabela 68. Parâmetros
    Nome Tipo Descrição
    columnName Cadeia de caracteres Nome do campo a ser pesquisado.
    valor Cadeia de caracteres Valor a ser verificado no campo especificado.
    Tabela 69. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se algum registro na tabela atual tem um valor correspondente no campo especificado.
    Valores possíveis:
    • Verdadeiro: Campo correspondente.
    • Falso: Nenhum campo correspondente.

    Este exemplo mostra como encontrar um registro na tabela Incidente com "Crítico" no campo de descrição resumida.

    var now_GR = new GlideRecord("incident");
    now_GR.query();
    var shortDescription = "Critical";
    if (now_GR.find("short_description", shortDescription)) {
      gs.print("An incident with the specified field value was found");
      var recordID = now_GR.getValue("sys_id");
      gs.print("Found in the following record: " + recordID);
    } else {
      gs.print("An incident with the specified field value was not found");
    }

    Saída:

    An incident with the specified field value was found
    Found in the following record: 552c48888c033300964f4932b03eb092

    GlideRecord - 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 70. 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 é sys_id.
    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 71. Retornos
    Tipo Descrição
    Booliano Indica se o registro solicitado foi localizado.
    Valores possíveis:
    • Verdadeiro: O registro foi encontrado
    • Falso: O registro não foi encontrado

    Este exemplo obtém 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.number); // logs Incident Number

    Este exemplo obtém um registro de incidente passando a coluna no registro a ser pesquisado e o valor a ser pesquisado.

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

    Equivalente com escopo

    Para usar o. get() em uma aplicação com escopo, use o método com escopo correspondente: get() .

    GlideRecord - getAttribute(cadeia de caracteres fieldName)

    Retorna os atributos de dicionário no campo especificado.

    Tabela 72. 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 73. Retornos
    Tipo Descrição
    Cadeia de caracteres Atributos do dicionário

    Este exemplo mostra como retornar os atributos de dicionário para "tree_picker".

    function doit() {
      var now_GR = new GlideRecord('sys_user');
      now_GR.query("user_name","admin");
      if (now_GR.next()) {
        gs.print("we got one");
        gs.print(now_GR.location.getAttribute("tree_picker"));
      }
    }

    Equivalente com escopo

    Para usar o. GetAttribute() em uma aplicação com escopo, use o método com escopo correspondente: GetAttribute() .

    GlideRecord - getClassDisplayValue()

    Retorna o rótulo da tabela.

    Tabela 74. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 75. 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.

    Equivalente com escopo

    Para usar o. DisplayValue() em uma aplicação com escopo, use o método com escopo correspondente: DisplayValue() .

    GlideRecord - getDisplayValue (nome da cadeia de caracteres)

    Recupera o valor de exibição do registro atual ou o valor de exibição de um atributo em um armazenamento de atributos dinâmico.

    Display values 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 é 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 é o campo de exibição do registro referenciado.

    Consulte também Dynamic Schema.

    Tabela 76. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Opcional. Necessário somente ao solicitar o valor de exibição de um atributo dinâmico.

    Caminho para um atributo em um esquema dinâmico a ser recuperado.

    Formato do caminho do atributo: dyn_att_field->attr_name
    • dyn_att_field : Nome de um campo de armazenamento de atributos dinâmicos na tabela.
    • nome_atributo : Nome do atributo dinâmico.

      Tabela: Atributo dinâmico [dynamic_attribute]

    Consulte também Dynamic Schema.
    Tabela 77. Retornos
    Tipo Descrição
    Cadeia de caracteres Valor de exibição do registro atual ou do elemento especificado.

    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

    Este exemplo mostra como recuperar o valor de exibição de um atributo em um elemento de armazenamento de atributo dinâmico.

    var gr_AppTab = new GlideRecord('application_table'); 
    gr_AppTab.setValue('dyn_att_field->attr', 42); 
    gr_AppTab.setDisplayValue('dyn_att_field->attr2, true);
    gr_AppTab.update();
    gs.info('Attr value: ' + 
    gr_AppTab.getDisplayValue('dyn_att_field->attr);
    gs.info('Attr2 value: ' + 
    gr_AppTab.getDisplayValue('dyn_att_field->attr2);

    Saída:

    Attr value: System error
    Attr2 value: true

    Equivalente com escopo

    Para usar o. Valor de Exibição() em uma aplicação com escopo, use o método com escopo correspondente: Valor de Exibição() .

    GlideRecord - getDynamicAttribute(cadeia de caracteres fullPath)

    Retorna o objeto GlideElementDynamicAttribute para o caminho de armazenamento de atributos dinâmicos especificado.

    Os atributos dinâmicos têm um tipo de dados definido e um sys_id. Para obter mais detalhes sobre atributos dinâmicos, consulte Esquema dinâmico .

    Tabela 78. Parâmetros
    Nome Tipo Descrição
    caminhoCompleto Cadeia de caracteres Caminho a ser usado para localizar o atributo dinâmico desejado.
    Formato do caminho do atributo: dyn_att_field->attr_name
    • dyn_att_field : Nome de um campo de armazenamento de atributos dinâmicos na tabela.
    • nome_atributo : Nome do atributo dinâmico.

      Tabela: Atributo dinâmico [dynamic_attribute]

    Consulte também Dynamic Schema.
    Tabela 79. Retornos
    Tipo Descrição
    Objeto Objeto GlideElementDynamicAttribute que contém o atributo dinâmico especificado.

    . fullPatho parâmetro é inválido, retorna nulo.

    O exemplo de código a seguir mostra como chamar este método.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.get('number', 'INC0009009');
    gr_Inc.getDynamicAttribute('attr_store->color').setValue('Blue');
    gr_Inc.update();
    
    gr_Inc = new GlideRecord('incident');
    gr_Inc.get('number', 'INC0009009');
    gs.info(gr_Inc.getDynamicAttribute('attr_store', 'color'));
    Saída:
    *** Script: Blue

    GlideRecord - getDynamicAttribute(cadeia de caracteres dynamicAttributeField, cadeia de caracteres attrPath)

    Retorna um objeto GlideElementDynamicAttribute que contém o atributo dinâmico localizado no campo de tabela especificado e no caminho do atributo.

    Os atributos dinâmicos têm um tipo de dados definido e um sys_id. Para obter mais detalhes sobre atributos dinâmicos, consulte Esquema dinâmico .

    Tabela 80. Parâmetros
    Nome Tipo Descrição
    Atributo dinâmico Cadeia de caracteres Nome do campo na tabela que contém o atributo dinâmico.
    Caminho do atributo Cadeia de caracteres Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado.

    Formato: "attr_name"

    nome_atributo : Nome do atributo dinâmico.

    Tabela: No campo de atributo da tabela Atributo dinâmico [dynamic_attribute].

    Tabela 81. Retornos
    Tipo Descrição
    Objeto Objeto GlideElementDynamicAttribute que contém o atributo dinâmico especificado.

    Se for dynamicAttributeFieldou attrPathos parâmetros são inválidos, retorna nulo.

    O exemplo de código a seguir mostra como chamar este método.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.get('number', 'INC0009009');
    gr_Inc.getDynamicAttribute('attr_store', 'color').setValue('Blue');
    gr_Inc.update();
    
    gr_Inc = new GlideRecord('incident');
    gr_Inc.get('number', 'INC0009009');
    gs.info(gr_Inc.getDynamicAttribute('attr_store', 'color'));
    Saída:
    *** Script: Blue

    GlideRecord - getDynamicAttributeValue(cadeia de caracteres fullPath)

    Retorna o valor do atributo dinâmico localizado em um caminho especificado.

    Os atributos dinâmicos têm um tipo de dados definido e um sys_id. Para obter mais detalhes sobre atributos dinâmicos, consulte Esquema dinâmico .

    Tabela 82. Parâmetros
    Nome Tipo Descrição
    caminhoCompleto Cadeia de caracteres Caminho a ser usado para localizar o atributo dinâmico desejado.
    Formato do caminho do atributo: dyn_att_field->attr_name
    • dyn_att_field : Nome de um campo de armazenamento de atributos dinâmicos na tabela.
    • nome_atributo : Nome do atributo dinâmico.

      Tabela: Atributo dinâmico [dynamic_attribute]

    Consulte também Dynamic Schema.
    Tabela 83. Retornos
    Tipo Descrição
    Objeto Valor do atributo dinâmico localizado no caminho especificado.

    . fullPatho parâmetro contém dados inválidos ou o valor do atributo especificado não é um dos tipos de dados compatíveis, retorna nulo.

    O exemplo de código a seguir mostra como chamar este método.

    // Update the value of the attribute 'attribute_store->time_of_purchase' incident 'INC0009009' to a timestamp (in UTC)
    var gr1 = new GlideRecord('incident');
    gr1.get('number', 'INC0009009');
    gr1.setDynamicAttributeValue('attribute_store->time_of_purchase', '2020-05-13 13:52:44');
    gr1.update();
    
    // Then retrieve the value of the attribute on the same record
    var gr2 = new GlideRecord('incident');
    gr2.get('number', 'INC0009009');
    gs.info("Time of Purchase Value        (UTC): " + gr2.getDynamicAttributeValue('attribute_store->time_of_purchase'));
    gs.info("Time of Purchase DisplayValue (PST): " + gr2.getDynamicAttributeDisplayValue('attribute_store->time_of_purchase'));

    Saída:

    *** Script: Time of Purchase Value        (UTC): 2020-05-13 13:52:44
    *** Script: Time of Purchase DisplayValue (PST): 2020-05-13 06:52:44

    GlideRecord - getDynamicAttributeValue(cadeia de caracteres dynamicAttributeField, cadeia de caracteres attrPath)

    Retorna o valor do atributo dinâmico localizado em um campo especificado na tabela atual e um caminho de atributo especificado.

    Os atributos dinâmicos têm um tipo de dados definido e um sys_id. Para obter mais detalhes sobre atributos dinâmicos, consulte Esquema dinâmico .

    Tabela 84. Parâmetros
    Nome Tipo Descrição
    Atributo dinâmico Cadeia de caracteres Nome do campo na tabela que contém o atributo dinâmico.
    Caminho do atributo Cadeia de caracteres Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado.

    Formato: "attr_name"

    nome_atributo : Nome do atributo dinâmico.

    Tabela: No campo de atributo da tabela Atributo dinâmico [dynamic_attribute].

    Tabela 85. Retornos
    Tipo Descrição
    Objeto Valor do atributo dinâmico localizado no caminho especificado.

    Se for dynamicAttributeFieldou attrPathos parâmetros são inválidos, retorna nulo.

    O exemplo de código a seguir mostra como chamar este método.

    // Update the value of the attribute 'attribute_store->time_of_purchase' incident `INC0009009` to a timestamp (in UTC)
    var gr1 = new GlideRecord('incident');
    gr1.get('number', 'INC0009009');
    gr1.setDynamicAttributeValue('attribute_store', 'time_of_purchase', '2020-05-13 13:52:44');
    gr1.update();
    
    // Then retrieve the value of the attribute on the same record
    var gr2 = new GlideRecord('incident');
    gr2.get('number', 'INC0009009');
    gs.info("Time of Purchase Value        (UTC): " + gr2.getDynamicAttributeValue('attribute_store', 'time_of_purchase'));
    gs.info("Time of Purchase DisplayValue (PST): " + gr2.getDynamicAttributeDisplayValue('attribute_store', 'time_of_purchase'));

    Saída:

    *** Script: Time of Purchase Value        (UTC): 2020-05-13 13:52:44
    *** Script: Time of Purchase DisplayValue (PST): 2020-05-13 06:52:44

    GlideRecord - getDynamicAttributeDisplayValue(cadeia de caracteres fullPath)

    Retorna o valor de exibição do atributo dinâmico localizado no caminho especificado.

    Os atributos dinâmicos têm um tipo de dados definido e um sys_id. Para obter mais detalhes sobre atributos dinâmicos, consulte Esquema dinâmico .

    Tabela 86. Parâmetros
    Nome Tipo Descrição
    caminhoCompleto Cadeia de caracteres Caminho a ser usado para localizar o atributo dinâmico desejado.
    Formato do caminho do atributo: dyn_att_field->attr_name
    • dyn_att_field : Nome de um campo de armazenamento de atributos dinâmicos na tabela.
    • nome_atributo : Nome do atributo dinâmico.

      Tabela: Atributo dinâmico [dynamic_attribute]

    Consulte também Dynamic Schema.
    Tabela 87. Retornos
    Tipo Descrição
    Cadeia de caracteres Valor de exibição do atributo dinâmico localizado no caminho especificado.

    . fullPatho parâmetro é inválido, retorna nulo.

    O exemplo de código a seguir mostra como chamar este método.

    // Update the value of the attribute 'attribute_store->time_of_purchase' incident INC0009009 to a timestamp (in UTC)
    var gr1 = new GlideRecord('incident');
    gr1.get('number', 'INC0009009');
    gr1.setDynamicAttributeValue('attribute_store->time_of_purchase', '2020-05-13 13:52:44');
    gr1.update();
    
    // Then retrieve the value of the attribute on the same record
    var gr2 = new GlideRecord('incident');
    gr2.get('number', 'INC0009009');
    gs.info("Time of Purchase Value        (UTC): " + gr2.getDynamicAttributeValue('attribute_store->time_of_purchase'));
    gs.info("Time of Purchase DisplayValue (PST): " + gr2.getDynamicAttributeDisplayValue('attribute_store->time_of_purchase'));

    Saída:

    *** Script: Time of Purchase Value        (UTC): 2020-05-13 13:52:44
    *** Script: Time of Purchase DisplayValue (PST): 2020-05-13 06:52:44

    GlideRecord - getDynamicAttributeDisplayValue(cadeia de caracteres dynamicAttributeField, cadeia de caracteres attrPath)

    Retorna o valor de exibição do atributo dinâmico localizado em um campo de tabela especificado e caminho de atributo.

    Os atributos dinâmicos têm um tipo de dados definido e um sys_id. Para obter mais detalhes sobre atributos dinâmicos, consulte Esquema dinâmico .

    Tabela 88. Parâmetros
    Nome Tipo Descrição
    Atributo dinâmico Cadeia de caracteres Nome do campo na tabela que contém o atributo dinâmico.
    Caminho do atributo Cadeia de caracteres Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado.

    Formato: "attr_name"

    nome_atributo : Nome do atributo dinâmico.

    Tabela: No campo de atributo da tabela Atributo dinâmico [dynamic_attribute].

    Tabela 89. Retornos
    Tipo Descrição
    Cadeia de caracteres Valor de exibição do atributo dinâmico localizado no caminho especificado.

    Se for dynamicAttributeFieldou attrPathos parâmetros são inválidos, retorna nulo.

    O exemplo de código a seguir mostra como chamar este método.

    // Update the value of the attribute 'attribute_store->time_of_purchase' incident INC0009009 to a timestamp (in UTC)
    var gr1 = new GlideRecord('incident');
    gr1.get('number', 'INC0009009');
    gr1.setDynamicAttributeValue('attribute_store', 'time_of_purchase', '2020-05-13 13:52:44');
    gr1.update();
    
    // Then retrieve the value of the attribute on the same record
    var gr2 = new GlideRecord('incident');
    gr2.get('number', 'INC0009009');
    gs.info("Time of Purchase Value        (UTC): " + gr2.getDynamicAttributeValue('attribute_store', 'time_of_purchase'));
    gs.info("Time of Purchase DisplayValue (PST): " + gr2.getDynamicAttributeDisplayValue('attribute_store', 'time_of_purchase'));

    Saída:

    *** Script: Time of Purchase Value        (UTC): 2020-05-13 13:52:44
    *** Script: Time of Purchase DisplayValue (PST): 2020-05-13 06:52:44

    GlideRecord - getED()

    Retorna o descritor do elemento.

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

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

    grInc = new GlideRecord('incident');
    grInc.getActiveQuery();
    grInc.query();
    if (grInc.next())
      gs.info("Table Descriptor is - " + grInc.getED().getName());
    

    Saída:

    Table Descriptor is - incident

    Equivalente com escopo

    Para usar o. GetED() em uma aplicação com escopo, use o método com escopo correspondente: GetED() .

    GlideRecord - getElement (cadeia de caracteres fieldName)

    Recupera o GlideElement de um 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();

    Consulte também: GlideElement - toString().

    Tabela 92. Parâmetros
    Nome Tipo Descrição
    fieldName Cadeia de caracteres Nome da coluna para a qual o objeto GlideElement será retornado.
    Tabela 93. Retornos
    Tipo Descrição
    GlideElement O GlideElement da coluna especificada do registro atual. Cada objeto descreve um campo no GlideRecord atual.

    Este exemplo mostra como obter o objeto GlideElement para uma tabela aprovada e compará-los com os valores de metadados esperados do sistema.

    function compareElement(comment, table, element, /*{}*/ expected) {
      var now_GR = new GlideRecord(table);
      var el = now_GR.getElement(element);
      for (var n in expected) {
        assertEquals(comment + ":" + table + "." + element, expected[n], el.sys_meta[n]);
      }
    }

    Equivalente com escopo

    Para usar o. GetElement() em uma aplicação com escopo, use o método com escopo correspondente: GetElement() .

    GlideRecord - getEncodedQuery()

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

    Tabela 94. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 95. Retorna
    Tipo Descrição
    Cadeia de caracteres AN cadeia de caracteres de consulta codificada .

    Este exemplo mostra como obter a consulta codificada atual para usar mais tarde para criar uma função de ACL de leitura.

    function createAcl(table, role) {
      gs.print("Checking security on table " + table);
      var now_GR = new GlideRecord("sys_security_acl");
      now_GR.addQuery("name", table);
      now_GR.addQuery("operation", "read");
      now_GR.query();
      var encQuery = now_GR.getEncodedQuery();
      if (now_GR.next()) {
        // existing acl found so use it
        createAclRole(now_GR.sys_id.toString(), role);
       return;
      } else {
        now_GR.initialize();
        now_GR.applyEncodedQuery(encQuery);
        var acl = now_GR.insert();
        gs.print("   Added read access control on " + table);
        createAclRole(acl, role);
      }
    }

    Equivalente com escopo

    Para usar o. GetEncodedQuery() em uma aplicação com escopo, use o método com escopo correspondente: GetEncodedQuery() .

    GlideRecord - getEscapedDisplayValue()

    Recupera o valor do campo para o campo de exibição do registro atual e adiciona caracteres de escape para uso em scripts Jelly.

    Nota:
    Para que este método funcione, um valor de exibição deve ter sido definido na tabela associada. Para obter informações sobre como fazer isso, consulte Selecione um campo como o valor de exibição da tabela .
    Tabela 96. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 97. Retorna
    Tipo Descrição
    Cadeia de caracteres Valor de escape do campo de exibição da tabela atual.

    Este exemplo mostra como obter o valor de exibição de escape user_name da tabela Usuário [sys_user].

    var userName = "Michael J'ones";
    var now_GR = new GlideRecord("sys_user");
    if (now_GR.get("user_name", userName)) {
      gs.print("Deleting existing user=" + userName);
      now_GR.deleteRecord();
    }
    now_GR.initialize();
    
    var name = userName.split(" ", 2);
    var firstName = name[0];
    var lastName = name[1];
    now_GR.setValue("user_name", userName);
    gs.print("Name: " + now_GR.getValue("user_name"));
    now_GR.setValue("first_name", firstName);
    now_GR.setValue("last_name", lastName);
    var escapeValue = now_GR.getEscapedDisplayValue();
    gs.print("Escaped name: " + escapeValue);

    Saída:

    Name: Michael J'ones
    Escaped name: Michael J\'ones

    GlideRecord - getFields()

    Recupera uma ArrayList Java de campos no registro atual.

    Tabela 98. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 99. Retorna
    Tipo Descrição
    Lista de arrayList do Java Campos no registro atual
    // This can be run in "Scripts - Background" for demonstration purposes
     
    // Get a single incident record
    var grINC = new GlideRecord('incident');
    grINC.query();
    grINC.next();
    gs.print('Using ' + grINC.getValue('number'));
    gs.print('');
     
    // getFields() returns a Java ArrayList
    var fields = grINC.getFields();
     
    // Enumerate GlideElements in the GlideRecord object that have values
    gs.print('Enumerating over all fields with values:');
    for (var i = 0; i < fields.size(); i++) {
      var glideElement = fields.get(i);
      if (glideElement.hasValue()) {
        gs.print('  ' + glideElement.getName() + '\t' + glideElement);
      }
    }
    gs.print('');
     
    // Get a specific GlideElement: number
    gs.print('Getting the number field:');
    for (var i = 0; i < fields.size(); i++) {
      var glideElement = fields.get(i);
      if (glideElement.hasValue() && glideElement.getName() == 'number') {
        gs.print('  ' + glideElement.getName() + '\t' + glideElement);
      }
    }

    GlideRecord - getLabel()

    Recupera o rótulo do campo.

    Tabela 100. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 101. Retorna
    Tipo Descrição
    Cadeia de caracteres O rótulo do campo

    Este exemplo mostra como recuperar um rótulo de um campo de pergunta na tabela de item solicitado e imprimir o rótulo e seu nome de exibição.

    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() + " = " 
                         + vnow_V.getDisplayValue() + "\n");  
          }
        }
    }

    Equivalente com escopo

    Para usar o. GetLabel() em uma aplicação com escopo, use o método com escopo correspondente: GetLabel() .

    GlideRecord - getLocation()

    Recupera o número da linha do registro atual na tabela.

    Tabela 104. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 105. Retorna
    Tipo Descrição
    Número Número de linha baseado em zero do registro atual na tabela.

    Este exemplo mostra como verificar se um registro na tabela Incidente não é recuperado corretamente comparando a contagem de registros com o número do local do registro.

    var now_GR = new GlideRecord("incident");
    now_GR.addQuery("priority", "4");
    now_GR.query();
    for (x=0; x <4; x++) {
      now_GR.next();
      gs.print("Location value: " + now_GR.getLocation());
    }

    Saída:

    Location value: 0
    Location value: 1
    Location value: 2
    Location value: 3

    GlideRecord - getPlural()

    Recupera o rótulo plural da tabela GlideRecord.

    Por exemplo, se o nome da tabela for "Solicitação de mudança", este método retornará "Solicitações de mudança".

    Tabela 106. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 107. Retorna
    Tipo Descrição
    Cadeia de caracteres O rótulo plural da tabela do GlideRecord.

    Este exemplo mostra verifica os valores de retorno de GetLabel() e. GetPlural() Para a tabela Incidente.

    var now_GR = new GlideRecord('incident');
    gs.print(now_GR.getLabel());
    if (now_GR.getLabel() != 'Incident')
    throw "GlideRecord.getLabel() returned unexpected value for table 'incident': " + now_GR.getLabel();
    
    gs.print(now_GR.getPlural());
    if (now_GR.getPlural() != 'Incidents')
    throw "GlideRecord.getPlural() returned unexpected value for table 'incident': " + now_GR.getPlural();
    "success";

    Equivalente com escopo

    Para usar o. GetPlural() em uma aplicação com escopo, use o escopo GlideRecord.getED() método para obter o descritor do campo e, em seguida, usar o escopo Descriptor.getPlural() método.

    GlideRecord - getRecordClassName()

    Recupera o nome da classe (tabela) do registro atual.

    Tabela 108. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 109. Retorna
    Tipo Descrição
    Cadeia de caracteres Nome da classe ou tabela
    function TaskAssignmentFilter() {
      var classname = current.getRecordClassName();
      var filter = "type=null";
      if (classname == "incident" && current.category == "database") {
        filter = GetGroupFilter("database");
      }
      else {
        // append exclusion for 'catalog' to the filter
        var cat = new GlideRecord("sys_user_group_type");  
        cat.addQuery("name", "catalog");
        cat.query();
        if (cat.next()) {
          filter += "^ORtype!=" + cat.sys_id;
        }
      }
      gs.log("TaskAssignmentFilter: " + filter);
      return filter;
    }

    Equivalente com escopo

    Para usar o. Nome de classe() getRecordClassName() em uma aplicação com escopo, use o método com escopo correspondente: Nome de classe() getRecordClassName() .

    GlideRecord - getRelatedLists()

    Recupera uma lista de nomes e valores de exibição de listas relacionadas associadas ao GlideRecord atual.

    Tabela 110. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 111. Retorna
    Tipo Descrição
    HashMap Mapa de hash com nomes e valores de exibição de listas relacionadas.

    Este exemplo mostra como obter a lista de nomes e valores de exibição de listas relacionadas associadas ao GlideRecord atual, armazená-los em uma matriz e imprimir seus valores.

    var now_GR = new GlideRecord('incident');
    var c = now_GR.getRelatedLists().values().toArray();
    var numElements = c.length;
    for( var i = 0; i < numElements; ++i){
      gs.print(i+": "+c[i]);
    }

    GlideRecord - getRelatedTables()

    Recupera uma lista de nomes e valores de exibição de tabelas que são referenciadas pelo registro atual.

    Tabela 112. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 113. Retorna
    Tipo Descrição
    HashMap Mapa de hash com nomes e valores de exibição de tabelas relacionadas.

    Este exemplo mostra como obter a lista de nomes e valores de exibição de tabelas relacionadas ao GlideRecord atual, armazená-los em uma matriz e imprimir seus valores.

    var now_GR = new GlideRecord('incident');
    var c = now_GR.getRelatedTables().values().toArray();
    var numElements = c.length;
    for( var i = 0; i < numElements; ++i){
      gs.print(i+": "+c[i]);
    }

    GlideRecord - 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 114. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 115. 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

    Equivalente com escopo

    Para usar o. GetRowCount() em uma aplicação com escopo, use o método com escopo correspondente: GetRowCount() .

    GlideRecord - getRowNumber()

    Recupera o número de linha definido por Local() ou SetLocation() .

    Para obter o número da linha atual, use GetLocation() .

    Tabela 116. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 117. Retorna
    Tipo Descrição
    Número Número da linha salvo.

    Este exemplo mostra como salvar um local de linha na tabela Usuários e obter esse número de linha.

    var now_GR = new GlideRecord('sys_user');
    now_GR.addQuery();
    now_GR.query();
    now_GR.saveLocation(5);
    var savedRow = now_GR.getRowNumber();
    gs.print("Saved row: " + savedRow);

    Saída:

    Saved row: 5

    GlideRecord - getTableName()

    Recupera o nome da tabela associado a este GlideRecord.

    Tabela 118. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 119. Retorna
    Tipo Descrição
    Cadeia de caracteres Nome de uma tabela

    Este exemplo mostra como gravar o nome da tabela atual no log do sistema.

    gs.log('Table: ' + current.getTableName()); 
    gs.log('Parent: ' + current.parent.sys_id); 
    var item = new GlideRecord('sc_req_item'); 
    item.addQuery('sys_id', current.parent.sys_id); 
    item.query(); 
    if(item.next()){ 
      for(var variable in item.variable_pool) {
        gs.log(variable); 
        var answer = eval ("item.variable_pool." + variable + ".getDisplayValue()");
        gs.log(answer);
      }
    }

    Equivalente com escopo

    Para usar o. GetTableName() em uma aplicação com escopo, use o método com escopo correspondente: GetTableName() .

    GlideRecord - getUniqueValue()

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

    Tabela 120. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 121. 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 - getValue(cadeia de caracteres fieldName)

    Recupera o valor de cadeia de caracteres de um campo especificado ou o valor de cadeia de caracteres de um atributo em um armazenamento de atributos dinâmico.

    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 .

    Consulte também Dynamic Schema.

    Tabela 122. Parâmetros
    Nome Tipo Descrição
    fieldName Cadeia de caracteres O nome do campo cujo valor você deseja recuperar ou o caminho para um atributo em um armazenamento dinâmico de atributos a ser recuperado.
    Formato do caminho do atributo: dyn_att_field->attr_name
    • dyn_att_field : Nome de um campo de armazenamento de atributos dinâmicos na tabela.
    • nome_atributo : Nome do atributo dinâmico.

      Tabela: Atributo dinâmico [dynamic_attribute]

    Consulte também Dynamic Schema.
    Tabela 123. Retornos
    Tipo Descrição
    Cadeia de caracteres Valor do elemento especificado. Retorna nulo se o campo estiver vazio ou o campo não existir.
    Nota:
    Os valores boolianos retornam como "0" e. "1" valores de cadeia de caracteres em vez de falso e verdadeiro.

    Este exemplo usa o. Valor() Método para obter valores de campo em dois GlideRecords que estão sendo comparados.

    function() {
      var jobExists = true;
      var jobGr;
      while(jobExists){
        jobGr = new GlideRecord("sys_trigger");
        jobExists = jobGr.get("name", "BaselineAPI: Create Baseline Job");
      }
      var baselineGr =  new GlideRecord('pm_project_baseline');
      baselineGr.get('baseline_name','Test Project Baseline');
      baselineGr.query();
     
      Assert.assertEquals(true, baselineGr.next());
      var projectGr =  new GlideRecord('pm_project');
      projectGr.get(this._project);
      Assert.assertEquals(projectGr.getValue('cost'), baselineGr.getValue('cost'));
      Assert.assertEquals((projectGr.getValue('capex_cost')), baselineGr.getValue('capex_cost'));
      Assert.assertEquals((projectGr.getValue('opex_cost')), baselineGr.getValue('opex_cost'));
      Assert.assertEquals((projectGr.getValue('budget_cost')), baselineGr.getValue('budget_cost'));
      Assert.assertEquals((projectGr.getValue('value')), baselineGr.getValue('value'));
      Assert.assertEquals((projectGr.getValue('npv_value')), baselineGr.getValue('npv_value'));  Assert.assertEquals((projectGr.getValue('score')), baselineGr.getValue('score'));
    }

    Este exemplo mostra como recuperar o valor de um atributo dinâmico.

    // Update the value of the attribute 'attribute_store->color' to 'Red' on incident INC0009009
    var gr1 = new GlideRecord('incident');
    gr1.get('number', 'INC0009009');
    gr1.setDynamicAttributeValue('attribute_store->color', 'Red');
    gr1.update();
    
    // Then retrieve the value of the attribute on the same record
    var gr2 = new GlideRecord('incident');
    gr2.get('number', 'INC0009009');
    gs.info(gr2.getValue('attribute_store->color'));

    Saída:

    *** Script: Red

    Equivalente com escopo

    Para usar o. Valor() em uma aplicação com escopo, use o método com escopo correspondente: Valor() .

    GlideRecord - hasAttachments()

    Determina se o GlideRecord atual tem anexos.

    Tabela 124. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 125. Retorna
    Tipo Descrição
    Booliano Verdadeiro se o registro atual tiver anexos, caso contrário, falso.

    Este exemplo verifica se há anexos e cria um link, se houver algum.

    var attachment_link = '';
    var rec = new GlideRecord('sc_req_item');
    rec.addQuery('sys_id', current.request_item);
    rec.query();
    if(rec.next()){
      if(rec.hasAttachments()){
        attachment_link = gs.getProperty('glide.servlet.uri') + rec.getLink();
      }   
    }

    GlideRecord - hasNext()

    Determina se há mais registros no GlideRecord.

    Tabela 126. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 127. Retorna
    Tipo Descrição
    Booliano Verdadeiro se houver mais registros no conjunto de consultas, caso contrário, falso.

    Este exemplo mostra como chamar diferentes funções com base na existência de registros adicionais no GlideRecord atual.

    if (now_GR.hasNext()) {
      dothis(); // found it, do it
    } else {
      dothat(); // didn't find it
    };

    Equivalente com escopo

    Para usar o. HasNext() em uma aplicação com escopo, use o método com escopo correspondente: HasNext() .

    GlideRecord - initialize()

    Cria um registro vazio no GlideRecord atual que é adequado para preenchimento antes de uma inserção.

    Tabela 128. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 129. Retorna
    Tipo Descrição
    vazio

    Este exemplo inicializa um novo registro na tabela to_do, cria um registro e o insere na tabela.

    var now_GR = new GlideRecord('to_do');
    now_GR.initialize(); 
    now_GR.name = 'first to do item'; 
    now_GR.description = 'learn about GlideRecord'; 
    now_GR.insert();

    Equivalente com escopo

    Para usar o. inicialize() em uma aplicação com escopo, use o método com escopo correspondente: inicialize() .

    GlideRecord - insert()

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

    Tabela 130. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 131. Retorna
    Tipo Descrição
    Cadeia de caracteres O sys_id do registro inserido ou nulo se o registro não estiver inserido.

    Este exemplo cria um novo registro na tabela to_do, define valores para alguns campos de registro e insere o registro na tabela.

    var now_GR = new GlideRecord('to_do');
    now_GR.initialize(); 
    now_GR.name = 'first to do item'; 
    now_GR.description = 'learn about GlideRecord'; 
    now_GR.insert();

    Equivalente com escopo

    Para usar o. inserir() em uma aplicação com escopo, use o método com escopo correspondente: inserir() .

    GlideRecord - insertWithReferences()

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

    Tabela 132. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 133. Retorna
    Tipo Descrição
    Cadeia de caracteres sys_id do registro inserido ou nulo se o registro não tiver sido inserido.

    Se um valor de referência não for especificado (como abaixo), um novo registro de usuário será criado com o first_name e last_name fornecidos, e o valor caller_id será definido como este registro sys_user recém-criado. O resultado é um novo registro sys_user com first_name e last_name fornecidos e um novo registro de incidente com short_description e caller_id fornecidos.

    var inc = new GlideRecord('incident');
    inc.initialize();
    inc.short_description = 'New incident 1';
    inc.caller_id.first_name = 'John';
    inc.caller_id.last_name = 'Doe';
    inc.insertWithReferences();

    Se um valor caller_id for especificado, esse caller_id será atualizado com o first_name e last_name fornecidos. O resultado é um registro de incidente recém-criado com valores definidos para short_description e caller_id.

    var inc = new GlideRecord('incident');
    inc.initialize();
    inc.short_description = 'New incident 1';
    inc.caller_id.setDisplayValue('David Loo');
    inc.caller_id.first_name = 'John';
    inc.caller_id.last_name = 'Doe';
    inc.insertWithReferences();

    GlideRecord - instanceof (cadeia de caracteres classname)

    Verifica uma tabela para o tipo/classe de tabela.

    Tabela 134. Parâmetros
    Nome Tipo Descrição
    nomeClasse Cadeia de caracteres Nome de um tipo ou classe de registro.
    Tabela 135. Retornos
    Tipo Descrição
    Booliano Verdadeiro se a tabela for uma instância da classe especificada.

    Este exemplo verifica se o passado no grupo/usuário é do tipo de tabela/classe sys_user.

    function(groupOrUser, label, grantedBy) {
      var labelCheck;
      var labelRecord;
      if (typeof label === "string") {
        labelRecord = new GlideRecord('label');
        labelRecord.addQuery('name', label);
        labelRecord.query();
        labelRecord.next();
      } else {
        labelRecord = label;
      }
      if (groupOrUser.instanceOf('sys_user')) {
        labelCheck = new GlideRecord('label_user_m2m');
        labelCheck.addQuery('user', groupOrUser.sys_id);
      } else {
        labelCheck = new GlideRecord('label_group_m2m');
        labelCheck.addQuery('group', groupOrUser.sys_id);
      }
      labelCheck.addQuery('label', labelRecord.sys_id);
      if (grantedBy !== "undefined") {
        labelCheck.addQuery('granted_by', grantedBy.sys_id);
      }
      labelCheck.query();
      return labelCheck.hasNext();
    }

    GlideRecord - isNewRecord()

    Determina se o registro atual foi inserido no banco de dados.

    Este método retorna verdadeiro somente se NoveRecord() o método foi chamado. Este método é útil para ACL com script e na condição de ações de IU, mas não deve ser usado em scripts em segundo plano.

    Nota:
    Este método retorna verdadeiro para qualquer novo registro durante uma regra de negócios ou se o. NoveRecord() O método é usado para inicializar um registro com valores padrão e um ID exclusivo (sys_id). Em todos os outros casos, retorna falso.
    Tabela 136. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 137. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se o registro atual é novo (não foi inserido no banco de dados.)
    Valores possíveis:
    • Verdadeiro: O registro é novo.
    • Falso: O registro não é novo.

    Este exemplo verifica se o novo registro foi inserido na tabela sys_user.

    var now_GR = new GlideRecord("sys_user");
    now_GR.newRecord();
    now_GR.setValue("user_name", "John Smith");
    gs.print("Is this a new record: " + now_GR.isNewRecord());
    
    var now_GR2 = new GlideRecord("sys_user");
    now_GR2.addQuery("user_name", "Abel Tutor");
    now_GR2.query();
    now_GR2.next();
    gs.print("Is this a new record: " + now_GR2.isNewRecord());

    GlideRecord - isValid()

    Determina se a tabela GlideRecord atual existe.

    Tabela 138. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 139. Retorna
    Tipo Descrição
    Booliano Verdadeiro se a tabela existir (válida), caso contrário, falso.

    Este exemplo verifica se a tabela Incidente existe.

    var testTable = new GlideRecord('incident');
    gs.print(testTable.isValid());

    Equivalente com escopo

    Para usar o. IsValid() em uma aplicação com escopo, use o método com escopo correspondente: IsValid() .

    GlideRecord - isValidField(cadeia de caracteres columnName)

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

    Tabela 140. Parâmetros
    Nome Tipo Descrição
    columnName Cadeia de caracteres Nome de uma coluna a ser verificada.
    Tabela 141. Retornos
    Tipo Descrição
    Booliano Verdadeiro se o campo estiver definido na tabela, caso contrário, falso.

    Este exemplo verifica se o campo sys_class_name existe na tabela cmds_software_instance.

    var gobj = new GlideRecord('sys_db_object');
    gobj.addQuery('name','cmdb_software_instance');
    gobj.query();
    if (!gobj.next()) {
      var si = new GlideRecord('cmdb_software_instance');
      si.query();
      var count = 0;
      while (si.next()) {
        if (!si.isValidField('sys_class_name')) {
          var ci = new GlideRecord('cmdb_ci');
          ci.name = si.name;
          ci.setNewGuidValue(si.sys_id);
          ci.sys_class_name = 'cmdb_software_instance';
          ci.insert();
          count++;
        }
      }
    }

    Equivalente com escopo

    Para usar o. IsValidField() em uma aplicação com escopo, use o método com escopo correspondente: IsValidField() .

    GlideRecord - isValidRecord()

    Determina se o registro atual é válido.

    Tabela 142. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 143. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se o registro atual é válido.
    Valores válidos:
    • Verdadeiro: O registro é válido.
    • Falso: Após o fim do conjunto de registros.

    Este exemplo verifica se o identificador de registro pelo passado em sys_id é um registro válido na tabela de ideias.

    function(sysId) {
      this.log('Inside acceptIdea sysId = ' + sysId);
      var now_GR = new GlideRecord('idea');
      now_GR.get(sysId);
      this.log('now_GR.isValidRecord() = ' + now_GR.isValidRecord());
      if(now_GR.isValidRecord()) {
        now_GR.setValue('state', 2);
        this.log('Updating gliderecord');
        this.log('gliderecord table name' + now_GR.getTableName());
        now_GR.update();
      }
    }

    Equivalente com escopo

    Para usar o. IsValidRecord() em uma aplicação com escopo, use o método com escopo correspondente: IsValidRecord() .

    GlideRecord - newRecord()

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

    Tabela 144. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 145. Retorna
    Tipo Descrição
    vazio

    Este exemplo verifica se o novo registro foi inserido na tabela sys_user.

    var now_GR = new GlideRecord("sys_user");
    now_GR.newRecord();
    now_GR.setValue("user_name", "John Smith");
    gs.print("Is this a new record: " + now_GR.isNewRecord());
    
    var now_GR2 = new GlideRecord("sys_user");
    now_GR2.addQuery("user_name", "Abel Tutor");
    now_GR2.query();
    now_GR2.next();
    gs.print("Is this a new record: " + now_GR2.isNewRecord());

    Equivalente com escopo

    Para usar o. NoveRecord() em uma aplicação com escopo, use o método com escopo correspondente: NoveRecord() .

    GlideRecord - next()

    Move para o próximo registro no GlideRecord.

    Use este método para iterar os registros retornados por uma consulta GlideRecord.

    Nota:
    Este método falha se houver um campo na tabela chamado "next". Se for esse o caso, use o método _next() .
    Nota:
    . Se(meuObj.next()) construct processa somente o primeiro registro retornado.
    Tabela 146. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 147. 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.

    Este exemplo mostra como iterar na tabela Incidente usando próximo() método.

    var rec = new GlideRecord('incident');
    rec.query();
    while (rec.next()) { 
      gs.print(rec.number + ' exists');
    }

    Equivalente com escopo

    Para usar o. próximo() em uma aplicação com escopo, use o método com escopo correspondente: próximo() .

    GlideRecord - _next()

    Move para o próximo registro no GlideRecord. Fornece a mesma funcionalidade que próximo() , Destinado a ser usado nos casos em que o GlideRecord tem uma coluna chamada NEXT.

    Tabela 148. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 149. Retorna
    Tipo Descrição
    Booliano Verdadeiro se houver mais registros no conjunto de consultas.
    var rec = new GlideRecord('sys_template');
    rec.query();
    while (rec._next()) { 
      gs.print(rec.number + ' exists');
    }

    Equivalente com escopo

    Para usar o. _next() em uma aplicação com escopo, use o método com escopo correspondente: _next() .

    GlideRecord - 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 150. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 151. 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; }

    Este exemplo mostra como usar o. operação () método para passar o valor da operação para StartFlow() método.

    function createNewTransferOrder() {
      var toGr = new GlideRecord("alm_transfer_order");
      toGr.initialize();
      // From Stockroom - Southern California Warehouse
      toGr.setValue('from_stockroom', fromStockroomSysId);
      // To Stockroom - San Diego North - Pickup/Dropoff
      toGr.setValue('to_stockroom', toStockroomSysId);
      var transferOrder = toGr.insert();
    
      if(toGr.get(transferOrder)){
      // Start Transfer Order Workflow
      var wf = new Workflow();
      var context = wf.startFlow(toWorkflowSysId, toGr, toGr.operation(),{});
        createNewTransferOrderLine(transferOrder);
      } 
    }

    Equivalente com escopo

    Para usar o. operação () em uma aplicação com escopo, use o método com escopo correspondente: operação () .

    GlideRecord - orderBy (cadeia de caracteres fieldName)

    Especifica um nome de campo, ou caminho para um atributo em um armazenamento de atributos dinâmico, a ser usado para ordenar o conjunto de consultas. Para ordenar por vários campos, chame este método várias vezes com valores de campo diferentes.

    Nota:
    Para impor o acesso à consulta com base no usuário, use AddUserOrderBy() .
    Tabela 152. Parâmetros
    Nome Tipo Descrição
    fieldName Cadeia de caracteres Nome do campo da tabela ou caminho para um atributo em um armazenamento dinâmico de atributos, no qual o conjunto de consultas será solicitado.
    Formato do caminho do atributo: dyn_att_field->attr_name
    • dyn_att_field : Nome de um campo de armazenamento de atributos dinâmicos na tabela.
    • nome_atributo : Nome do atributo dinâmico.

      Tabela: Atributo dinâmico [dynamic_attribute]

    Consulte também Dynamic Schema.
    Tabela 153. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como ordenar o conjunto de consultas por "pedido" e, em seguida, por "número".

    function UpdateProjectWBS(project) {
      var count = 0;
      var child = new GlideRecord('pm_project_task');
      child.addQuery('parent', project.sys_id);
      child.orderBy('order');
      child.orderBy('number');
      child.query();
      var len = child.getRowCount().toString().length;
      var seq = 0;
      while (child.next()) {
        count += UpdateProjectTaskWBS(child, 1, ++seq, len, '');
      }
      gs.addInfoMessage(count + ' Project Tasks updated');
    }

    Este exemplo mostra como ordenar a consulta definida por um atributo em um armazenamento de atributos dinâmico.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.orderBy('attribute_store->first_name');
    gr_Inc.query();
    
    while(gr_Inc.next()) {
      gs.info("first_name: " + gr_Inc.getValue('attribute_store->first_name'));
    }
    Saída:
    *** Script: first_name: Alejandro
    *** Script: first_name: Bertie
    *** Script: first_name: Beth
    *** Script: first_name: Bow
    *** Script: first_name: Bud
    *** Script: first_name: Carol
    *** Script: first_name: Charlie
    *** Script: first_name: Christen
    *** Script: first_name: David

    Equivalente com escopo

    Para usar o. Orderby() em uma aplicação com escopo, use o método com escopo correspondente: Orderby() .

    GlideRecord - orderByDesc(cadeia de caracteres fieldName)

    Especifica o campo, ou um atributo em um armazenamento de atributos dinâmico, a ser usado para ordenar o conjunto de consultas em ordem decrescente.

    Nota:
    Para impor o acesso à consulta com base no usuário, use AddUserOrderByDesc() .
    Tabela 154. Parâmetros
    Nome Tipo Descrição
    fieldName Cadeia de caracteres Nome do campo da tabela ou caminho para um atributo em um armazenamento dinâmico de atributos, no qual o conjunto de consultas deve ser ordenado em ordem decrescente.
    Formato do caminho do atributo: dyn_att_field->attr_name
    • dyn_att_field : Nome de um campo de armazenamento de atributos dinâmicos na tabela.
    • nome_atributo : Nome do atributo dinâmico.

      Tabela: Atributo dinâmico [dynamic_attribute]

    Consulte também Dynamic Schema.
    Tabela 155. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como ordenar o conjunto de consultas em ordem crescente ou decrescente.

    function(fiscalType, orderByDesc) {
      var now_GR = new GlideRecord('fiscal_period');
      now_GR.addQuery('fiscal_type', fiscalType);
      if (orderByDesc) {
        now_GR.orderByDesc('fiscal_start_date_time');
      } else {
        now_GR.orderBy('fiscal_start_date_time');
      }
      now_GR.setLimit(1);
      now_GR.query();
      now_GR.next();
      return now_GR.sys_id;
    }

    Este exemplo mostra como ordenar a consulta definida por um atributo em um armazenamento de atributos dinâmico.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.orderByDesc('attribute_store->first_name');
    gr_Inc.query();
    
    while(gr_Inc.next()) {
      gs.info("first_name: " + gr_Inc.getValue('attribute_store->first_name'));
    }
    Saída:
    
    *** Script: first_name: David
    *** Script: first_name: Christen
    *** Script: first_name: Charlie
    *** Script: first_name: Carol
    *** Script: first_name: Bud
    *** Script: first_name: Bow
    *** Script: first_name: Beth
    *** Script: first_name: Bertie
    *** Script: first_name: Alejandro

    Equivalente com escopo

    Para usar o. OrderByDesc() em uma aplicação com escopo, use o método com escopo correspondente: OrderByDesc() .

    GlideRecord - 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 o método _query() . Para executar consultas em uma instância separada por domínio, use o método QueryNoDomain() .

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

    Tabela 156. 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 157. 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

    Equivalente com escopo

    Para usar o. consulta () em uma aplicação com escopo, use o método com escopo correspondente: consulta () .

    GlideRecord - _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 158. 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 159. 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?

    Equivalente com escopo

    Para usar o. _query() em uma aplicação com escopo, use o método com escopo correspondente: _query() .

    GlideRecord - queryNoDomain (campo de cadeia de caracteres, valor de cadeia de caracteres)

    Usado em instâncias separadas por domínio. Semelhante a consulta () , executa a consulta na tabela com base nos filtros especificados por AddQuery() e. AddEncodedQuery() , mas ignora domínios.

    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 .

    Tabela 160. 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 161. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como consultar a tabela de incidentes para todos os domínios.

    var rec = new GlideRecord('incident');
    rec.queryNoDomain();
    while (rec.next()) { 
     gs.print(rec.number + ' exists');
    }

    GlideRecord - restoreLocation()

    Define o registro atual como o registro que foi salvo com Local() . Se Local() Não foi chamado, o registro atual é definido como o primeiro registro do GlideRecord.

    Tabela 162. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 163. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como salvar o local do registro atual, mover para o próximo registro e retornar ao local salvo.

    function() {
      var now_GR = new GlideRecord("incident");
      now_GR.query();
      now_GR.next();
      var firstID = now_GR.getValue("sys_id");
      now_GR.next();
      var restoreID = now_GR.getValue("sys_id");
      now_GR.saveLocation();
      now_GR.next();
      var lastID = now_GR.getValue("sys_id");
      now_GR.restoreLocation();
      now_GR.next();
      var thisID = now_GR.getValue("sys_id");
      var progress = "first id=" + firstID
        + "\n\t last id=" + lastID
        + "\n\t saved id=" + restoreID
        + "\n\t restored id=" + thisID;
      gs.print("Progress:\n\t" + progress);
    }

    GlideRecord - saveLocation()

    Salva o número da linha atual para que você possa retornar a este local usando RestoreLocation() método.

    Tabela 164. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 165. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como salvar o local do registro atual, mover para o próximo registro e retornar ao local salvo.

    function() {
      var now_GR = new GlideRecord("incident");
      now_GR.query();
      now_GR.next();
      var firstID = now_GR.getValue("sys_id");
      now_GR.next();
      var restoreID = now_GR.getValue("sys_id");
      now_GR.saveLocation();
      now_GR.next();
      var lastID = now_GR.getValue("sys_id");
      now_GR.restoreLocation();
      now_GR.next();
      var thisID = now_GR.getValue("sys_id");
      var progress = "first id=" + firstID
        + "\n\t last id=" + lastID
        + "\n\t saved id=" + restoreID
        + "\n\t restored id=" + thisID;
      gs.print("Progress:\n\t" + progress);
    }

    GlideRecord - setAbortAction (booliano b)

    Define um sinalizador para indicar se a próxima ação do banco de dados (inserir, atualizar, excluir) deve ser anulada.

    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 166. Parâmetros
    Nome Tipo Descrição
    b Booliano Verdadeiro para anular a próxima ação ou falso para permitir a próxima ação.
    Tabela 167. Retornos
    Tipo Descrição
    vazio
    if ((!current.u_date1.nil()) && (!current.u_date2.nil())) {
      var start = current.u_date1.getGlideObject().getNumericValue();
      var end = current.u_date2.getGlideObject().getNumericValue();
      if (start > end) {
        gs.addInfoMessage('start must be before end');
        current.u_date1.setError('start must be before end');
        current.setAbortAction(true);
      }
    }

    Equivalente com escopo

    Para usar o. SetAbortAction() em uma aplicação com escopo, use o método com escopo correspondente: SetAbortAction() .

    GlideRecord - setDisplayValue(nome da cadeia de caracteres, valor do objeto)

    Define um campo especificado, ou um atributo em um armazenamento dinâmico de atributos, como um valor de exibição especificado.

    Para um campo de referência, este é o valor de exibição da tabela. Para uma data/hora, esta é a hora no fuso horário atual do chamador.

    Tabela 168. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo no qual definir o valor.

    Para definir um atributo em um armazenamento de atributos dinâmico, forneça o caminho do atributo.

    Formato do caminho do atributo: dyn_att_field->attr_name
    • dyn_att_field : Nome de um campo de armazenamento de atributos dinâmicos na tabela.
    • nome_atributo : Nome do atributo dinâmico.

      Tabela: Atributo dinâmico [dynamic_attribute]

    Consulte também Dynamic Schema.
    valor Objeto Valor a ser definido no atributo especificado.
    Nota:
    Para atributos dinâmicos, somente os seguintes tipos de dados são compatíveis:
    • Booleano (verdadeiro/falso)
    • Decimal
    • Número de ponto flutuante
    • GlideDate
    • GlideDateTime
    • Inteiro
    • Cadeia de caracteres
    Tabela 169. Retornos
    Tipo Descrição
    vazio

    O exemplo de código a seguir mostra como definir um valor de exibição em um registro e atualizar o registro.

    var now_GR = new GlideRecord('incident');
    now_GR.get('46f09e75a9fe198100f4ffd8d366d17b');
    now_GR.setDisplayValue('opened_at','2011-02-13 4:30:00');
    now_GR.update();

    O exemplo de código a seguir mostra como definir um valor de exibição em um armazenamento dinâmico de atributos.

    var gr_AppTab = new GlideRecord('application_table'); 
    gr_AppTab.setValue('dyn_att_field->attr', 42); 
    gr_AppTab.setDisplayValue('dyn_att_field->attr2, true);
    gr_AppTab.update();
    gs.info('Attr value: ' + 
    gr_AppTab.getDisplayValue('dyn_att_field->attr);
    gs.info('Attr2 value: ' + 
    gr_AppTab.getDisplayValue('dyn_att_field->attr2);

    GlideRecord - setDynamicAttributeValue(cadeia de caracteres fullPath, valor do objeto)

    Define o valor do atributo dinâmico localizado em um caminho especificado.

    Os atributos dinâmicos têm um tipo de dados definido e um sys_id. Para obter mais detalhes sobre atributos dinâmicos, consulte Esquema dinâmico .

    Tabela 170. Parâmetros
    Nome Tipo Descrição
    caminhoCompleto Cadeia de caracteres Caminho a ser usado para localizar o atributo dinâmico desejado.
    Formato do caminho do atributo: dyn_att_field->attr_name
    • dyn_att_field : Nome de um campo de armazenamento de atributos dinâmicos na tabela.
    • nome_atributo : Nome do atributo dinâmico.

      Tabela: Atributo dinâmico [dynamic_attribute]

    Consulte também Dynamic Schema.
    valor Objeto Valor para definir o atributo dinâmico especificado.
    O valor aprovado deve ser de um dos seguintes tipos de dados:
    • Booleano (verdadeiro/falso)
    • Decimal
    • Número de ponto flutuante
    • GlideDate
    • GlideDateTime
    • Inteiro
    • Cadeia de caracteres
    Tabela 171. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se o atributo dinâmico foi atualizado com sucesso.
    Valores possíveis:
    • Verdadeiro: O atributo dinâmico foi atualizado com sucesso.
    • Falso: Ocorreu um erro. O atributo dinâmico não foi atualizado. Verifique se fullPatho parâmetro contém um caminho válido para o atributo desejado.

    O exemplo de código a seguir mostra como chamar este método.

    var gr_Inc = new GlideRecord('incident');
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->color","black");
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->make","Honda");
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->model","CRV");
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->luxury",false);
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->cost",20000);
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->avg_mpg",28.4);
    gr_Inc.setDynamicAttributeValue("inc_dynamic_schema->date_purchased", new GlideDateTime());
    gr_Inc.setDynamicAttributeValue("u_attributes->total_miles", 120000.12345);
    gr_Inc.insert();

    GlideRecord - setDynamicAttributeValue(cadeia de caracteres dynamicAttributeField, cadeia de caracteres attrPath, valor do objeto)

    Define o valor do atributo dinâmico localizado em um campo especificado do GlideRecord atual e um caminho de atributo especificado.

    Os atributos dinâmicos têm um tipo de dados definido e um sys_id. Para obter mais detalhes sobre atributos dinâmicos, consulte Esquema dinâmico .

    Tabela 172. Parâmetros
    Nome Tipo Descrição
    Atributo dinâmico Cadeia de caracteres Nome do campo na tabela que contém o atributo dinâmico.
    attributePath Cadeia de caracteres Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado.

    Formato: "attr_name"

    nome_atributo : Nome do atributo dinâmico.

    Tabela: No campo de atributo da tabela Atributo dinâmico [dynamic_attribute].

    valor Objeto Valor para definir o atributo dinâmico especificado.
    O valor aprovado deve ser de um dos seguintes tipos de dados:
    • Booleano (verdadeiro/falso)
    • Decimal
    • Número de ponto flutuante
    • GlideDate
    • GlideDateTime
    • Inteiro
    • Cadeia de caracteres
    Tabela 173. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se o atributo dinâmico foi atualizado com sucesso.
    Valores possíveis:
    • Verdadeiro: O atributo dinâmico foi atualizado com sucesso.
    • Falso: Ocorreu um erro. O atributo dinâmico não foi atualizado. Verifique se dynamicAttributeFielde. attrPathos parâmetros contêm dados válidos.

    O exemplo de código a seguir mostra como chamar este método.

    // Update the value of the attribute 'attribute_store->time_of_purchase' incident INC0009009 to a timestamp (in UTC)
    var gr1 = new GlideRecord('incident');
    gr1.get('number', 'INC0009009');
    gr1.setDynamicAttributeValue('attribute_store', 'time_of_purchase', '2020-05-13 13:52:44');
    gr1.update();
    
    // Then retrieve the value of the attribute on the same record
    var gr2 = new GlideRecord('incident');
    gr2.get('number', 'INC0009009');
    gs.info("Time of Purchase Value        (UTC): " + gr2.getDynamicAttributeValue('attribute_store', 'time_of_purchase'));
    gs.info("Time of Purchase DisplayValue (PST): " + gr2.getDynamicAttributeDisplayValue('attribute_store', 'time_of_purchase'));

    Saída:

    *** Script: Time of Purchase Value        (UTC): 2020-05-13 13:52:44
    *** Script: Time of Purchase DisplayValue (PST): 2020-05-13 06:52:44

    GlideRecord - setDynamicAttributeDisplayValue(cadeia de caracteres fullPath, valor do objeto)

    Define o valor de exibição do atributo dinâmico localizado em um caminho especificado.

    Os atributos dinâmicos têm um tipo de dados definido e um sys_id. Para obter mais detalhes sobre atributos dinâmicos, consulte Esquema dinâmico .

    Tabela 174. Parâmetros
    Nome Tipo Descrição
    caminhoCompleto Cadeia de caracteres Caminho a ser usado para localizar o atributo dinâmico cujo valor de exibição você deseja atualizar.
    Formato do caminho do atributo: dyn_att_field->attr_name
    • dyn_att_field : Nome de um campo de armazenamento de atributos dinâmicos na tabela.
    • nome_atributo : Nome do atributo dinâmico.

      Tabela: Atributo dinâmico [dynamic_attribute]

    Consulte também Dynamic Schema.
    valor Objeto Valor de exibição para definir o atributo dinâmico especificado.
    O valor aprovado deve ser de um dos seguintes tipos de dados:
    • Booleano (verdadeiro/falso)
    • Decimal
    • Número de ponto flutuante
    • GlideDate
    • GlideDateTime
    • Inteiro
    • Cadeia de caracteres
    Tabela 175. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se o valor de exibição do atributo dinâmico foi atualizado com sucesso.
    Valores possíveis:
    • Verdadeiro: O valor de exibição do atributo dinâmico foi atualizado com sucesso.
    • Falso: Ocorreu um erro. O valor de exibição do atributo dinâmico não foi atualizado. Verifique se fullPatho parâmetro contém um caminho válido para o atributo desejado.

    O exemplo de código a seguir mostra como chamar este método.

    var grProdTab = new GlideRecord('products_table');
    grProdTab.query();
    grProdTab.next();
    var val = grProdTab.setDynamicAttributeDisplayValue('product_details->date_purchased', '2023-03-31 08:54:26');

    GlideRecord - setDynamicAttributeDisplayValue(cadeia de caracteres dynamicAttributeField, cadeia de caracteres attrPath, valor do objeto)

    Define o valor de exibição do atributo dinâmico localizado em um campo especificado do GlideRecord atual e um caminho de atributo especificado.

    Os atributos dinâmicos têm um tipo de dados definido e um sys_id. Para obter mais detalhes sobre atributos dinâmicos, consulte Esquema dinâmico .

    Tabela 176. Parâmetros
    Nome Tipo Descrição
    Atributo dinâmico Cadeia de caracteres Nome do campo na tabela que contém o atributo dinâmico.
    Caminho do atributo Cadeia de caracteres Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado.

    Formato: "attr_name"

    nome_atributo : Nome do atributo dinâmico.

    Tabela: No campo de atributo da tabela Atributo dinâmico [dynamic_attribute].

    valor Objeto Valor de exibição para definir o atributo dinâmico especificado.
    O valor aprovado deve ser de um dos seguintes tipos de dados:
    • Booleano (verdadeiro/falso)
    • Decimal
    • Número de ponto flutuante
    • GlideDate
    • GlideDateTime
    • Inteiro
    • Cadeia de caracteres
    Tabela 177. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se o valor de exibição do atributo dinâmico foi atualizado com sucesso.
    Valores possíveis:
    • Verdadeiro: O valor de exibição do atributo dinâmico foi atualizado com sucesso.
    • Falso: Ocorreu um erro. O valor de exibição do atributo dinâmico não foi atualizado. Verifique se dynamicAttributeFielde. attrPathos parâmetros contêm dados válidos.

    O exemplo de código a seguir mostra como chamar este método.

    var grProdTab = new GlideRecord('products_table');
    grProdTab.query();
    grProdTab.next();
    var val = grProdTab.setDynamicAttributeDisplayValue('product_details', 'date_purchased', '2023-03-31 08:54:26');

    GlideRecord - setDynamicAttributeValues(cadeia de caracteres dynamicAttributeField, GlideDynamicAttributeStore Values)

    Define um ou mais valores de atributo dinâmico com valores especificados no objeto GlideDynamicAttributeStore aprovado.

    Este método atualiza somente os atributos e valores passados como argumentos. Atributos e valores no GlideRecord que não foram especificados não são afetados por esta chamada. Todos os atributos ou valores inválidos são ignorados. Verifique as mensagens de log para obter possíveis informações de erro.

    Os atributos dinâmicos têm um tipo de dados definido e um sys_id. Para obter mais detalhes sobre atributos dinâmicos, consulte Esquema dinâmico .

    Tabela 178. Parâmetros
    Nome Tipo Descrição
    Atributo dinâmico Cadeia de caracteres Nome do campo na tabela atual que contém o. esquema dinâmico .
    valores GlideDynamicAttributeStore GlideDynamicAttributeStore objeto que contém os atributos dinâmicos a serem atualizados.
    Os valores preenchidos no objeto devem ser dos seguintes tipos de dados:
    • Booleano (verdadeiro/falso)
    • Decimal
    • Número de ponto flutuante
    • GlideDate
    • GlideDateTime
    • Inteiro
    • Cadeia de caracteres
    Tabela 179. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar este método.

    var das = new GlideDynamicAttributeStore();
    das.setDynamicAttributeValue('attribute1', 'Apple');
    das.setDynamicAttributeValue('attribute2', 1234);
    
    var gr_Inc = new GlideRecord('incident');
    gr_Inc.query();
    gr_Inc.next();
    gr_Inc.setDynamicAttributeValues(das);

    GlideRecord - setForceUpdate (força booliana)

    Atualiza o registro mesmo que os campos não tenham sido alterados.

    Tabela 180. Parâmetros
    Nome Tipo Descrição
    forçar Booliano Verdadeiro para atualizar mesmo que os campos não tenham sido alterados, caso contrário, falso.
    Tabela 181. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como forçar um registro na tabela itfm_cost_model a atualizar mesmo sem mudanças.

    function() {
      gs.log("Update Script: Upgrade_cost_model_data.js started");
      var now_GR = new GlideRecord("itfm_cost_model");
      now_GR.initialize();
      now_GR.addNullQuery("source_table");
      now_GR.query();
      while (now_GR.next()) {
        now_GR.setForceUpdate(true);
        var sourceTable = getSourceTable(now_GR.getValue('clone_from'));
        if(sourceTable){
          now_GR.setValue("source_table", sourceTable);
          now_GR.setWorkflow(false);
          now_GR.update();
        }
      }
    }

    GlideRecord - setLimit (limite de número)

    Define o número máximo de registros a serem retornados no GlideRecord de uma consulta.

    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 182. Parâmetros
    Nome Tipo Descrição
    limite Número Limite de registros a serem buscados.
    Tabela 183. Retornos
    Tipo Descrição
    vazio

    Este exemplo define o número de registros retornados na consulta como no máximo dez.

    var now_GR = new GlideRecord('incident');
    now_GR.orderByDesc('sys_created_on');
    now_GR.setLimit(10);
    now_GR.query();

    Equivalente com escopo

    Para usar o. SetLimit() em uma aplicação com escopo, use o método com escopo correspondente: SetLimit() .

    GlideRecord - setLocation(Number rowNumber)

    Define o local da linha atual com o valor especificado.

    Tabela 184. Parâmetros
    Nome Tipo Descrição
    RowNumber Número Número da linha a ser definido como a linha atual.
    Tabela 185. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como definir a posição do registro na tabela Incidente

    verifySetLocation : function() {
      var now_GR = new GlideRecord("incident");
      now_GR.query();
      var recordIDs = new Array();
      while(now_GR.next()) {
      recordIDs.push(now_GR.getValue("sys_id"));
      }
      for (var ix = recordIDs.length - 1; ix >= 0; ix--) {
        now_GR.setLocation(ix);
        Assert.assertEquals(recordIDs[ix], now_GR.getValue("sys_id"),
          "The entry retrieved for the index " + ix + " is not valid");
      }
    }

    GlideRecord - setNewGuid()

    Gera um novo GUID e o define como o ID exclusivo (sys_id) do registro atual.

    Esta função se aplica somente a novos registros. Não é possível alterar o GUID de um registro existente.

    Tabela 186. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 187. Retorna
    Tipo Descrição
    Cadeia de caracteres Sys_id do registro atual.

    Este exemplo cria um novo registro de tarefa e armazena o ID na tabela task_rel_task.

    var task = new GlideRecord ('task');
    var tsk_id = task.setNewGuid();
     
    task.description = "Request: " + current.request.number;
    task.description = task.description + "\n" + "Requested by: " + current.request.u_requested_by.name;
    task.description = task.description + "\n" + "Requested for: " + current.request.u_requested_for.name;
    task.description = task.description + "\n" + "Item: " + current.cat_item.name;
     
    var now_GR = new GlideRecord ('task_rel_task');
    //link the incident to the request
    now_GR.parent = current.request;
    now_GR.child = tsk_id;
    now_GR.insert();

    GlideRecord - setNewGuidValue (cadeia de caracteres guid)

    Gera um novo GUID e o define como o ID exclusivo do registro atual ao inserir um novo registro.

    Tabela 188. Parâmetros
    Nome Tipo Descrição
    guid Cadeia de caracteres Valor do novo GUID.
    Tabela 189. Retornos
    Tipo Descrição
    vazio

    Este exemplo gera um novo GUID e o define como o ID exclusivo do registro cmdb_software_instance recém-criado.

    var gobj = new GlideRecord('sys_db_object');
    gobj.addQuery('name','cmdb_software_instance');
    gobj.query();
    if (!gobj.next()) {
      var si = new GlideRecord('cmdb_software_instance');
      si.query();
      var count = 0;
      while (si.next()) {
      if (!si.isValidField('sys_class_name')) {
        var ci = new GlideRecord('cmdb_ci');
        ci.name = si.name;
        ci.setNewGuidValue(si.sys_id);
        ci.sys_class_name = 'cmdb_software_instance';
        ci.insert();
        count++;
      }
    }

    Equivalente com escopo

    Para usar o. ValorGuia() em uma aplicação com escopo, use o método com escopo correspondente: ValorGuia() .

    GlideRecord - 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 190. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 191. 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

    Equivalente com escopo

    Para usar o. SetNoCount() em uma aplicação com escopo, use o método com escopo correspondente: SetNoCount() .

    GlideRecord - setQueryReferences(consulta booliana)

    Ativa ou desativa o uso do nome de exibição do campo de referência ao consultar um campo de referência.

    Tabela 192. Parâmetros
    Nome Tipo Descrição
    ConsultaReferências Booliano Sinalizador que indica a hora dos dados a serem gerados.
    Valores válidos:
    • Verdadeiro: Gere uma cadeia de caracteres de nomes de exibição.
    • Falso: Gere uma cadeia de caracteres de sys_ids.
    Tabela 193. Retornos
    Tipo Descrição
    vazio
    var grByName = new GlideRecord(this.TEST_TABLE);
    grByName.addQuery("caller_id", userDisplayName);
    grByName.setQueryReferences(true);
    grByName.query();
    if (grByName.hasNext()) {
      while(grByName.next()) {
        gs.print("Incident caller_id=" + grByName.caller_id);
      }
    } else {
      gs.print("NO RESULTS");
    }

    GlideRecord - setUseEngines (booliano e)

    Desabilita ou habilita a execução de qualquer mecanismo (regras de aprovação/regras de atribuição).

    Aviso:
    A desativação do funcionamento de mecanismos 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.
    Tabela 194. Parâmetros
    Nome Tipo Descrição
    e Booliano Sinalizador que indica se habilitar ou desabilitar a execução de qualquer mecanismo.
    Valores válidos:
    • Verdadeiro: Habilitar mecanismos
    • Falso: Desabilite mecanismos
    Tabela 195. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como desabilitar mecanismos e regras de negócios antes de executar uma consulta.

    function auditOAuthInboundRequestsUsage(){
      var now_GR = new GlideRecord("oauth_credential");
      var oauthClient = now_GR.addJoinQuery("oauth_entity", "peer", "sys_id");
      now_GR.addQuery("type", "access_token");
      now_GR.addQuery("expires", ">", nowDateTime());
      now_GR.addNullQuery("oauth_requestor_profile");
      oauthClient.addCondition("active", "true");
      oauthClient.addCondition("type", "client");
      now_GR.setUseEngines(false);
      now_GR.setWorkflow(false);
      now_GR.query();
      return now_GR.hasNext();
    }

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

    Define o campo especificado, ou um atributo em um armazenamento de atributos dinâmico, como um valor especificado.

    Por exemplo, um script faria uma atribuição direta now_GR.category: Valor . No entanto, se em um script o nome do elemento for 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.

    Se o parâmetro value for nulo, o registro não será atualizado e um erro não será gerado.
    Nota:
    Este método não pode ser usado em campos de registro. Uso  GlideElement.setJournalEntry() em vez disso.
    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 196. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo a ser definido.

    Para definir valores de atributo no esquema dinâmico, use o caminho para um atributo em um armazenamento de atributos dinâmico.

    Formato do caminho do atributo: dyn_att_field->attr_name
    • dyn_att_field : Nome de um campo de armazenamento de atributos dinâmicos na tabela.
    • nome_atributo : Nome do atributo dinâmico.

      Tabela: Atributo dinâmico [dynamic_attribute]

    Consulte também Dynamic Schema.
    valor Objeto Valor a ser definido no campo especificado.
    Nota:
    Para um atributo dinâmico, somente os seguintes tipos de dados são compatíveis:
    • Booleano (verdadeiro/falso)
    • Decimal
    • Número de ponto flutuante
    • GlideDate
    • GlideDateTime
    • Inteiro
    • Cadeia de caracteres

    Para especificar um campo de categoria dinâmica no esquema dinâmico, use uma chave de referência com o nome do campo de namespace e categoria em vez de sys_id. Forneça a coluna de categoria como o parâmetro de nome, por exemplo, grExample.setValue('cat_column_name', "Namespace_name/cat_name") . Para obter mais informações, consulte Create a dynamic namespace.

    Tabela 197. Retornos
    Tipo Descrição
    Nenhum(a)

    Este exemplo mostra como definir o valor do campo de estado na tabela planned_task.

    function() {
      var topTask = new GlideRecord('planned_task');
      topTask.setValue('state', -5);
      var childTask = new GlideRecord('planned_task');
      childTask.setValue('state', -5);
      var s = new PlannedTaskStateManagement(childTask, topTask);
      var state = s.manageStateChange(false);
      Assert.assertEquals("-5", state);
    }

    Este exemplo mostra como usar este método com esquema dinâmico. O primeiro uso define o valor de uma categoria dinâmica usando uma chave de referência para definir o valor. O segundo usa um caminho de atributo para definir o valor de um atributo dinâmico chamado total_miles .

    var used_car = new GlideRecord('u_product');
    
    // Using setValue() to set the dynamic category column to Car
    // u_product/u_attributes is the namespace and u_car is the category
    used_car.setValue('u_attributes_category', 'u_product/u_attributes/u_car');
    
    // Using setDynamicAttributeValue() to set the dynamic attribute value
    used_car.setDynamicAttributeValue("u_attributes->color","green");
    used_car.setDynamicAttributeValue("u_attributes->make","Toyota");
    used_car.setDynamicAttributeValue("u_attributes->model","Rav4");
    used_car.setDynamicAttributeValue("u_attributes->luxury",false);
    used_car.setDynamicAttributeValue("u_attributes->cost",12500);
    used_car.setDynamicAttributeValue("u_attributes->avg_mpg",24.8);
    used_car.setDynamicAttributeValue("u_attributes->date_purchased", new GlideDateTime());
    
    // Using setValue() to set the dynamic attribute value
    used_car.setValue("u_attributes->total_miles", 120000.12345);
    
    used_car.insert();

    Equivalente com escopo

    Para usar o. Valor() em uma aplicação com escopo, use o método com escopo correspondente: Valor() .

    GlideRecord - setWorkflow (Habilitar booliano)

    Habilita ou desabilita a execução de regras de negócios que normalmente podem ser acionadas por ações subsequentes.

    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 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.
    Tabela 198. 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 199. Retornos
    Tipo Descrição
    Nenhum(a)
    doit('name1','name2'); 
     
    function doit(username1,username2) { 
     
      var usr1 = new GlideRecord('sys_user');
      var usr2 = new GlideRecord('sys_user');
      var num = 0;
     
      if (usr1.get('user_name',username1) && usr2.get('user_name',username2)) {
        var ref;
        var dict = new GlideRecord('sys_dictionary');
        dict.addQuery('reference','sys_user');
        dict.addQuery('internal_type','reference');
        dict.query();
        while (dict.next()) {
          num = 0;
          ref = new GlideRecord(dict.name.toString());
          ref.addQuery(dict.element,usr1.sys_id);
          ref.query();
          while (ref.next()) {
            ref.setValue(dict.element.toString(),usr2.sys_id); 
            ref.setWorkflow(false);
            ref.update();
            num++;
          }
          if (num > 0) {
            gs.print(dict.element + ' changed from ' + usr1.user_name + 
              ' to ' + usr2.user_name + ' in ' + num + ' ' + dict.name + ' records');
          }
        }
      }
    }

    Equivalente com escopo

    Para usar o. SetWorkflow() em uma aplicação com escopo, use o método com escopo correspondente: SetWorkflow() .

    GlideRecord - atualização (motivo do objeto)

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

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

    Este exemplo atualiza um registro na tabela task_ci.

    var now_GR = new GlideRecord('task_ci');
    now_GR.addQuery();
    now_GR.query();
    var count = now_GR.getRowCount();
    if (count > 0) {
       var allocation = parseInt(10000 / count) / 100;
       while (now_GR.next()) {
          now_GR.u_allocation = allocation;
          now_GR.update();
       }
    }

    Equivalente com escopo

    Para usar o. atualizar() em uma aplicação com escopo, use o método com escopo correspondente: atualizar() .

    GlideRecord - updateMultiple()

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

    Para obter informações sobre como adicionar entradas de diário, consulte SetJournalEntry() método.

    . 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 202. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 203. 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();

    Equivalente com escopo

    Para usar o. UpdateMultiple() em uma aplicação com escopo, use o método com escopo correspondente: UpdateMultiple() .

    GlideRecord - updateWithReferences (motivo do objeto)

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

    Tabela 204. Parâmetros
    Nome Tipo Descrição
    motivo Objeto Motivo das atualizações. O motivo é exibido no registro de auditoria.
    Tabela 205. 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();
    }