GlideRecord - Com escopo
O escopo GlideRecord A API é usada para operações de banco de dados.
. GlideRecord API é o principal meio de interface com o banco de dados no código do lado do servidor. GlideRecord é um objeto que contém registros de uma única tabela. Use a API para instanciar um objeto GlideRecord e adicionar parâmetros de consulta, filtros, limites e ordenação.
Consulte GlideRecord artigo para obter detalhes sobre como criar e executar consultas.
Para obter informações sobre uma classe que executa as mesmas funções que GlideRecord E impõe ACLs, consulte Usando GlideRecordSecure .
Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() ou DeleteMultiple() o método em resultados de consulta incorretos pode resultar em perda de dados.
Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeira 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_rowsdefinido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Nessas consultas, o operador WHERE ignora os termos inválidos, 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 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. Recuperar o 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:
var mgr = current.caller_id.manager.toString();GlideRecord com escopo - addActiveQuery()
Adiciona um filtro para retornar registros ativos.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| GlideQueryCondition | Filtro para retornar registros ativos. |
var inc = new GlideRecord('incident');
inc.addActiveQuery();
inc.query();
GlideRecord com escopo - addEncodedQuery(consulta de cadeia de caracteres, enforceFieldACL booliano)
Adiciona uma consulta codificada a outras consultas que podem ter sido definidas.
Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() ou DeleteMultiple() o método em resultados de consulta incorretos pode resultar em perda de dados.
Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeira 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_rowsdefinido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Nessas consultas, o operador WHERE ignora os termos inválidos, 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.
| Nome | Tipo | Descrição |
|---|---|---|
| consulta | Cadeia de caracteres | Um cadeia de caracteres de consulta codificada . |
| ExceFieldACL | Booliano | Opcional. Sinalizador que indica se regras ACL (Lista de controle de acesso) de campo devem ser aplicadas. Valores válidos:
Padrão: falso |
| Tipo | Descrição |
|---|---|
| vazio |
var queryString = "priority=1^ORpriority=2";
var now_GR = new GlideRecord('incident');
now_GR.addEncodedQuery(queryString);
now_GR.query();
while (now_GR.next()) {
gs.addInfoMessage(now_GR.getValue('number'));
}
GlideRecord com escopo - addFunction(Object Function)
Aplica um objeto GlideDBFunctionBuilder predefinido a um registro.
Use GlideDBFunctionBuilder classe com escopo para definir uma função. Depois que a função for definida, use AddFunction (função de objeto) método para aplicar a função a um registro.
| Nome | Tipo | Descrição |
|---|---|---|
| função | Objeto | Objeto GlideDBFunctionBuilder que define uma operação SQL. |
| Tipo | Descrição |
|---|---|
| vazio |
var functionBuilder = new GlideDBFunctionBuilder();
var myAddingFunction = functionBuilder.add();
myAddingFunction = functionBuilder.field('order');
myAddingFunction = functionBuilder.field('priority');
myAddingFunction = functionBuilder.build();
// Query incidents in which order + priority is less than 5 and display that added value
var now_GR = new GlideRecord('incident');
now_GR.addFunction(myAddingFunction);
now_GR.addQuery(myAddingFunction, '<', 5);
now_GR.query();
while(now_GR.next())
gs.info(now_GR.getValue(myAddingFunction));
Saída:
1
4
3
1
1
2
1
GlideRecord com escopo – addJoinQuery(cadeia de caracteres joinTable, cadeia de caracteres primaryField, cadeia de caracteres joinTableField)
Adiciona um filtro para retornar registros com base em um relacionamento em uma tabela relacionada ao GlideRecord atual.
Você pode usar este método para encontrar todos os usuários que estão no grupo de banco de dados por meio da tabela Membro do grupo [sys_user_grmember] ou para encontrar todos os problemas que têm um incidente atribuído por meio do relacionamento incident.problem_id.
Não é uma junção de banco de dados verdadeira; em vez disso, AddJoinQuery() adiciona uma subconsulta. Portanto, embora o conjunto de resultados seja 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 incorretos pode resultar em perda de dados.
Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeira 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_rowsdefinido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Nessas consultas, o operador WHERE ignora os termos inválidos, 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.
| Nome | Tipo | Descrição |
|---|---|---|
| JoinTable | Cadeia de caracteres | Nome da tabela a ser usada na junção, como 'incident'. |
| PrimárioCampo | Cadeia de caracteres | Opcional. Nome do campo no GlideRecord a ser usado para ingressar no campo especificado em joinTableFieldparâmetro. Padrão: Sys_id |
| JoinTableField | Cadeia de caracteres | Opcional. Nome do campo na tabela especificada em joinTablepara usar o para ingressar nas tabelas. Primeiro campo na tabela especificada em joinTableEste é um campo de referência para a tabela GlideRecord atual. |
| Tipo | Descrição |
|---|---|
| GlideQueryCondition | Filtro que lista registros em que os relacionamentos correspondem. |
Encontre problemas que tenham um incidente anexado. Este exemplo retorna problemas que têm incidentes associados. No entanto, ele não extrairá valores dos incidentes retornados como parte da consulta.
var prob = new GlideRecord('problem');
prob.addJoinQuery('incident');
prob.query();
Encontre problemas inativos com incidentes associados.
// Look for Problem records that have associated Incident records
var now_GR = new GlideRecord('problem');
var grSQ = now_GR.addJoinQuery('incident');
// Where the Problem records are "active=false"
now_GR.addQuery('active', 'false');
// And the Incident records are "active=true"
grSQ.addCondition('active', 'true');
// Query
now_GR.query();
// Iterate and output results
while (now_GR.next()) {
gs.info(now_GR.getValue('number'));
}
Encontre problemas que tenham incidentes associados ao local do incidente caller_ido valor do campo corresponde ao do problema opened_bycampo.
var now_GR = new GlideRecord('problem');
now_GR.addJoinQuery('incident', 'opened_by', 'caller_id');
now_GR.query();
GlideRecord com escopo - addNotNullQuery(cadeia de caracteres fieldName)
Um filtro que especifica registros em que o valor do campo passado no parâmetro não é nulo.
Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() ou DeleteMultiple() o método em resultados de consulta incorretos pode resultar em perda de dados.
Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeira 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_rowsdefinido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Nessas consultas, o operador WHERE ignora os termos inválidos, 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.
| Nome | Tipo | Descrição |
|---|---|---|
| fieldName | Cadeia de caracteres | O nome do campo a ser verificado. |
| Tipo | Descrição |
|---|---|
| GlideQueryCondition | Um filtro que especifica registros em que o valor do campo passado no parâmetro não é nulo. |
var target = new GlideRecord('incident');
target.addNotNullQuery('short_description');
target.query(); // Issue the query to the database to get all records where short_description is not null
while (target.next()) {
// add code here to process the incident record
}
GlideRecord com escopo - addNullQuery(cadeia de caracteres fieldName)
Adiciona um filtro para retornar registros em que o valor do campo especificado é nulo.
Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() ou DeleteMultiple() o método em resultados de consulta incorretos pode resultar em perda de dados.
Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeira 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_rowsdefinido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Nessas consultas, o operador WHERE ignora os termos inválidos, 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.
| Nome | Tipo | Descrição |
|---|---|---|
| fieldName | Cadeia de caracteres | O nome do campo a ser verificado. |
| Tipo | Descrição |
|---|---|
| GlideQueryCondition | A condição de consulta adicionada ao GlideRecord. |
var target = new GlideRecord('incident');
target.addNullQuery('short_description');
target.query(); // Issue the query to the database to get all records where short_description is null
while (target.next()) {
// add code here to process the incident record
}
GlideRecord com escopo - addQuery (consulta de cadeia de caracteres)
Adiciona um filtro para retornar registros usando uma cadeia de caracteres de consulta codificada.
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 incorretos pode resultar em perda de dados.
Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeira 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_rowsdefinido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Nessas consultas, o operador WHERE ignora os termos inválidos, 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.
| Nome | Tipo | Descrição |
|---|---|---|
| consulta | Cadeia de caracteres | Um cadeia de caracteres de consulta codificada . |
| Tipo | Descrição |
|---|---|
| GlideQueryCondition | A condição de consulta adicionada ao GlideRecord. |
var rec = new GlideRecord('incident');
rec.addQuery('active=true');
rec.query();
while (rec.next()) {
rec.setValue('active', false);
gs.info('Active incident ' + rec.getValue('number') + ' closed');
rec.update();
}
GlideRecord com escopo - addQuery (nome da cadeia de caracteres, valor do objeto)
Crie uma consulta de pesquisa e retorne as linhas que correspondem à solicitação.
Se você estiver familiarizado com SQL, este método será semelhante à cláusula "WHERE". Um ou mais AddQuery() As chamadas podem ser feitas em uma única consulta; neste caso, as consultas são AND'ed. Se qualquer uma das instruções de consulta precisar ser OR'ed, use GlideQueryCondition método AddOrCondition() .
Quando AddQuery() é chamado com apenas dois parâmetros, nome da tabela e valor de comparação, como MyObj.addQuery('category','Hardware'); presume-se que o operador seja "igual a".
Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() ou DeleteMultiple() o método em resultados de consulta incorretos pode resultar em perda de dados.
Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeira 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_rowsdefinido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Nessas consultas, o operador WHERE ignora os termos inválidos, 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.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome do campo da tabela a ser consultado ou um dos seguintes nomes reservados:
Nota: Para obter mais detalhes sobre o uso dos nomes reservados, consulte Consultando tabelas no script. |
| valor | Objeto | Valor no qual consultar (não diferencia maiúsculas de minúsculas). |
| Tipo | Descrição |
|---|---|
| GlideQueryCondition | Condição de consulta adicionada ao GlideRecord. |
Este exemplo de código mostra como consultar os registros ativos na tabela de incidentes e, em seguida, defini-los como inativos.
var rec = new GlideRecord('incident');
rec.addQuery('active', true);
rec.query();
while (rec.next()) {
rec.setValue('active', false);
rec.update();
}
Este exemplo de código adiciona uma consulta para registros que correspondem a "servidor de e-mail" na tabela kb_knowledge, com valores de relevância do resultado de pesquisa calculados usando configurações do grupo de índice de texto do portal.
var now_GR = new GlideRecord("kb_knowledge);
now_GR.addQuery("123TEXTQUERY321", "email server");
now_GR.addQuery("123TEXTINDEXGROUP321", "portal");
now_GR.query();
GlideRecord com escopo - addQuery (nome da cadeia de caracteres, operador da cadeia de caracteres, valor do objeto)
Fornece a capacidade de criar uma solicitação que, quando executada, retorna as linhas da tabela especificada que correspondem à solicitação.
Se você estiver familiarizado com SQL, este método será semelhante à cláusula "WHERE". Um ou mais AddQuery() As chamadas podem ser feitas em uma única consulta; neste caso, as consultas são AND'ed. Se qualquer uma das instruções de consulta precisar ser OR'ed, use GlideQueryCondition método AddOrCondition() .
Sempre teste consultas em uma instância de subprodução antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como incluir um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usando um inserir() , atualizar() , DeleteRecord() ou DeleteMultiple() o método em resultados de consulta incorretos pode resultar em perda de dados.
Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeira 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_rowsdefinido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Nessas consultas, o operador WHERE ignora os termos inválidos, 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.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome do campo da tabela. |
| operador | Cadeia de caracteres | Operador de consulta. Os valores disponíveis dependem do tipo de dados do valor parâmetro. Números:
Cadeias de caracteres (deve estar em maiúsculas):
Nota: Use CONTÉM em vez do operador LIKE. |
| valor | Objeto | Valor no qual consultar (não diferencia maiúsculas de minúsculas). |
| Tipo | Descrição |
|---|---|
| GlideQueryCondition | A condição de consulta que foi adicionada ao GlideRecord. |
var rec = new GlideRecord('incident');
rec.addQuery('active',true);
rec.addQuery('sys_created_on', ">", "2010-01-19 04:05:00");
rec.query();
while (rec.next()) {
rec.setValue('active', false);
gs.info('Active incident ' + rec.getValue('number') + ' closed');
rec.update();
}
Usando o operador IN.
var now_GR = new GlideRecord('incident');
now_GR.addQuery('number','IN','INC00001,INC00002');
now_GR.query();
while(now_GR.next()) {
//do something....
}
GlideRecord com escopo - addUserQuery (nome da cadeia de caracteres, operador do objeto, valor do objeto)
Fornece a capacidade de impor uma verificação de ACL em uma cadeia de caracteres de consulta fornecida.
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 incorretos pode resultar em perda de dados.
Você pode definir glide.invalid_query.returns_no_rowspropriedade do sistema como verdadeira 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_rowsdefinido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Nessas consultas, o operador WHERE ignora os termos inválidos, 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.
| 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:
Cadeias de caracteres (deve estar em maiúsculas):
Nota: Use CONTÉM em vez do operador LIKE. Operadores de esquema dinâmico:
|
| valor | Objeto | Valor no qual consultar (não diferencia maiúsculas de minúsculas). |
| Tipo | Descrição |
|---|---|
| GlideQueryCondition | A condição de consulta que foi adicionada ao GlideRecord. |
var rec = new GlideRecord('incident');
rec.addUserQuery("first_name", "=", "Fred");
rec.query();
while (rec.next()) {
gs.info('Active user ' + rec.getValue('last_name'));
}
GlideRecord com escopo - canCreate()
Determina se as Regras de controle de acesso, que incluem as funções do usuário, permitem inserir novos registros nesta tabela.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se as funções do usuário permitem a criação de registros nesta tabela. Valores válidos:
|
Este exemplo de código grava se o usuário atual pode criar registros na tabela Incidente no log do sistema.
var now_GR = new GlideRecord('incident');
gs.info(now_GR.canCreate());
GlideRecord com escopo - canDelete()
Determina se as Regras de controle de acesso, que incluem as funções do usuário, permitem excluir registros nesta tabela.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| 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:
|
Este exemplo de código grava se o usuário atual pode excluir registros na tabela Incidente no log do sistema.
var att = new GlideRecord('sys_attachment');
gs.info(att.canDelete());
GlideRecord com escopo - canRead()
Determina se as ACLs (Regras de controle de acesso) permitem a leitura de registros nesta tabela. Este método avalia todos os tipos de ACL, como funções de usuário, ACLs com script, ACLs com condições com script e assim por diante.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se as funções do usuário permitem a leitura de registros nesta tabela. Valores válidos:
|
Este exemplo de código grava se o usuário atual pode ler registros na tabela Incidente no log do sistema.
var now_GR = new GlideRecord('incident');
gs.info(now_GR.canRead());
GlideRecord com escopo - canWrite()
Determina se as Regras de controle de acesso, que incluem as funções do usuário, permitem a edição de registros nesta tabela.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| 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:
|
Este exemplo de código grava se o usuário atual pode gravar registros na tabela Incidente no log do sistema.
var now_GR = new GlideRecord('incident');
gs.info(now_GR.canWrite());
GlideRecord com escopo - chooseWindow(Number firstRow, Number LastRow, boolian forceCount)
Define um intervalo de linhas a serem retornadas por consultas subsequentes.
| Nome | Tipo | Descrição |
|---|---|---|
| Primeira linha | Número | Índice baseado em zero da linha inicial do intervalo, inclusive. (Um valor de 0 retorna a primeira linha.) |
| LastRow | Número | Índice baseado em zero da linha final do intervalo, Exclusivo. Por exemplo, se firstRow1 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. Definir este sinalizador garante que a contagem de linhas ocorra. Valores válidos:
Padrão: falso |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo mostra como retornar os registros 3 e 4 da tabela Incidente [incidente].
var now_GR = new GlideRecord('incident');
now_GR.orderBy('number');
now_GR.chooseWindow(2, 4);
now_GR.query();
while (now_GR.next()) {
gs.info(now_GR.getValue('number') + ' is within window');
}
Saída:
*** Script: INC0000003 is within window
*** Script: INC0000004 is within window
GlideRecord com escopo - deleteMultiple()
Exclui todos os registros que atendem à consulta.
Este método não exclui anexos.
Não use DeleteMultiple() em tabelas com campos de moeda. Sempre exclua cada registro individualmente. Não use este método com EscolhoJanela() 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 impedir que exclusões de chaves não primárias em tabelas grandes causem problemas de replicação. Para obter mais informações, consulte Available system properties.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
Este exemplo mostra como excluir todos os registros inativos da tabela Incidente.
var now_GR = new GlideRecord('incident');
now_GR.addQuery('active','false');
now_GR.query();
now_GR.deleteMultiple();
GlideRecord com escopo - deleteRecord()
Exclui o registro atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o registro foi excluído com sucesso. Valores válidos:
|
Este exemplo mostra como excluir um registro especificado da tabela Incidente.
var now_GR = new GlideRecord('incident');
//to delete one record
if (now_GR.get('99ebb4156fa831005be8883e6b3ee4b9'))
now_GR.deleteRecord();
Este exemplo mostra como excluir um registro da tabela Incidente imediatamente após ele ser inserido. O incidente GlideRecord deve ser recarregado após a inserção antes que possa ser excluído.
var grTicket = new GlideRecord('incident');
grTicket.initialize();
grTicket.short_description = 'Example ticket';
grTicket.work_notes = 'An update about the ticket';
var ins_sys_id = grTicket.insert(); // Insert the record
grTicket.get(ins_sys_id); // Reload the inserted record
gs.info(grTicket.deleteRecord()); // Delete the record
Saída:
true
GlideRecord com escopo - disableSysIdInOtimization()
Desabilita a otimização padrão que impede que uma consulta de banco de dados extra seja executada quando um usuário passa um grande número de sys_ids, como GrIncident.addQuery(sys_id', 'IN', listOf200SysIds) .
Este método afeta somente 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 glide.db.first_pass_sys_id_list_size.maxpropriedade do sistema e passa 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.getRow Count() pode estar incorreto.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo de código a seguir mostra como usar o. DisableSysIdInOptimiation() Método para desabilitar a otimização do limite sys_id ao passar uma lista sys_id de incidente que contém 200 entradas.
var listOf200SysIds = [ ... ]; // 200 comma separated sys_ids
var grIncident = new GlideRecord('incident');
grIncident.addQuery('sys_id', 'IN', listOf200SysIds);
grIncident.disableSysIdInOptimization(); // Rowcount could be incorrect without this method call
grIncident.query();
if (grIncident.next())
gs.info("Rowcount: " + grIncident.getRowCount());
Saída:
Rowcount: 200
GlideRecord com escopo - GET (nome do objeto, valor do objeto)
Retorna o registro especificado no objeto GlideRecord atual.
Este método aceita um ou dois parâmetros. Se somente um único 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 ao valor de exibição. Se dois parâmetros forem passados, o primeiro será o nome da coluna no GlideRecord a ser pesquisada. O segundo é o valor a ser pesquisado. Se vários registros forem encontrados, use next() para acessar os registros adicionais.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Objeto | Opcional. Nome da coluna GlideRecord instanciada para pesquisar o especificado valueparâmetro. Se somente um único parâmetro for passado, o método presume que esse parâmetro é o sys_id ou o valor de exibição. |
| valor | Objeto | Valor a ser correspondido. Para campos calculados, o valor é correspondido como está em vez de executar um cálculo em um valor padrão de script para um campo no registro. |
| Tipo | Descrição |
|---|---|
| Booliano | Indica se o registro solicitado foi localizado:
|
Este exemplo mostra como obter um registro de incidente passando o sys_id.
var grIncident = new GlideRecord('incident');
var returnValue = grIncident.get('99ebb4156fa831005be8883e6b3ee4b9');
gs.info(returnValue); // logs true or false
gs.info(grIncident.short_description); // logs Incident Short description
Este exemplo mostra como obter um registro de incidente passando o campo para pesquisar (caller_id.name) e o valor a ser correspondido nesse campo.
var grIncident = new GlideRecord('incident');
var returnValue = grIncident.get('caller_id.name','Sylivia Wayland');
gs.info(returnValue); // logs true or false
gs.info(grIncident.getValue('number')); // logs Incident Number
GlideRecord com escopo - getAttribute(cadeia de caracteres fieldName)
Retorna os atributos de dicionário para o campo especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| fieldName | Cadeia de caracteres | Nome do campo para o qual os atributos do dicionário serão retornados |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Atributos do dicionário |
doit();
function doit() {
var now_GR = new GlideRecord('sys_user');
now_GR.query("user_name","admin");
if (now_GR.next()) {
gs.info("we got one");
gs.info(now_GR.location.getAttribute("tree_picker"));
}
}
GlideRecord com escopo - getClassDisplayValue()
Retorna o rótulo da tabela atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Rótulo que identifica a tabela. |
Este exemplo imprime o rótulo da tabela Passado.
// Display the incident table label
var now_GR = new GlideRecord("incident");
var value = now_GR.getClassDisplayValue();
gs.info("The table label is " + value + ".");
Saída:
The table label is Incident.
GlideRecord com escopo - getDisplayValue()
Recupera o valor de exibição do registro atual.
Os valores de exibição são manipulados com base no valor real no banco de dados e nas configurações e preferências do usuário ou do sistema.
- Campos de seleção: O valor do banco de dados pode ser um número, mas o valor de exibição será mais descritivo.
- Campos de data: O valor do banco de dados está no formato UTC, enquanto o valor de exibição é baseado no fuso horário do usuário.
- Texto criptografado: O valor do banco de dados é criptografado, enquanto o valor exibido é não criptografado com base no contexto de criptografia do usuário.
- Campos de referência: O valor do banco de dados é sys_id, mas o valor de exibição é um campo de exibição do registro referenciado.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor de exibição do registro atual. |
Este exemplo grava o valor de exibição de um registro de incidente especificado no log.
var now_GR = new GlideRecord('incident');
now_GR.get('sys_id','<sys_id>');
gs.info(now_GR.getDisplayValue());
Saída:
INC0000050
GlideRecord com escopo - getED()
Retorna o descritor do elemento.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| GlideElementDescriptor | O descritor do elemento. |
Este exemplo mostra como recuperar o campo de nome de um incidente GlideRecord.
var grInc = new GlideRecord('incident');
grInc.get('sys_id','ef43c6d40a0a0b5700c77f9bf387afe3');
var field = grInc.getElement('priority');
var ed = field.getED();
var isEdge = ed.getLabel();
gs.info("Label is - " + isEdge);
Label is - PriorityGlideRecord com escopo - getElement(cadeia de caracteres fieldName)
Recupera o objeto GlideElement para o campo especificado.
O valor retornado por este método é um objeto GlideElement completo. Os resultados são o equivalente ao valor de um campo com referência com pontos. Por exemplo, Now_GR.getElement('shhort_description') fornece o mesmo resultado que NowGR.short_description .
Na maioria dos casos, não use 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. Recuperar o 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:
var mgr = current.caller_id.manager.toString();| Nome | Tipo | Descrição |
|---|---|---|
| fieldName | Cadeia de caracteres | Nome da coluna para a qual o objeto GlideElement será retornado. |
| Tipo | Descrição |
|---|---|
| GlideElement | GlideElement da coluna especificada do registro atual. Cada objeto descreve um campo no GlideRecord atual. |
O exemplo a seguir mostra como adicionar um novo registro de incidente com detalhes em Descrição resumida campo.
var elementName = 'short_description';
var now_GR = new GlideRecord('incident');
now_GR.newRecord();
now_GR.setValue(elementName, "My DB is not working");
now_GR.insert();
var sdesc = now_GR.getElement('short_description');
gs.info(sdesc.getValue());
Saída:
My DB is not working
GlideRecord com escopo - getElements()
Retorna uma matriz de objetos GlideElement. Cada objeto descreve um campo no GlideRecord atual.
var mgr = current.caller_id.manager.toString();| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz | Matriz de GlideElement objetos. Cada objeto descreve um campo no GlideRecord atual. |
O exemplo a seguir exibe o valor do campo de nome dos cinco registros mais recentes criados na tabela Pergunta [pergunta].
var now_GR = new GlideRecord('question');
var elementArr = now_GR.getElements();
now_GR.orderByDesc('sys_created_on');
now_GR.setLimit(5);
now_GR.query();
while (now_GR.next()){
var qNames = now_GR.name.toString();
elementArr.push(qNames);
gs.info(qNames);
}
Saída:
delivery_time_var
delivery_time
sequence
priority
assigned_group
GlideRecord com escopo - getEncodedQuery()
Recupera a condição de consulta do conjunto de resultados atual como uma cadeia de caracteres de consulta codificada.
Para obter detalhes, consulte Cadeias de caracteres de consulta codificadas .
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres |
var now_GR = new GlideRecord('incident');
now_GR.addQuery('active', true);
now_GR.addQuery('priority', 1);
now_GR.query();
var encodedQuery = now_GR.getEncodedQuery();
gs.info(encodedQuery);
Saída:
active=true^priority=1
GlideRecord com escopo - getLabel()
Retorna o rótulo do campo.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Rótulo do campo |
template.print("Summary of Requested items:\n");
var now_GR = new GlideRecord("sc_req_item");
now_GR.addQuery("request", current.sysapproval);
now_GR.query();
while(now_GR.next()) {
var nicePrice = now_GR.price.toString();
if (nicePrice != '') {
nicePrice = parseFloat(nicePrice);
nicePrice = nicePrice.toFixed(2);
}
template.print(now_GR.number + ": " + now_GR.quantity + " X " + now_GR.cat_item.getDisplayValue()
+ " at $" + nicePrice + " each \n");
template.print(" Options:\n");
for (key in now_GR.variables) {
var now_V = now_GR.variables[key];
if(now_V.getGlideObject().getQuestion().getLabel() != '') {
template.space(4);
template.print(' ' + now_V.getGlideObject().getQuestion().getLabel() + " = "
+ now_V.getDisplayValue() + "\n");
}
}
}
GlideRecord com escopo - getLastErrorMessage()
Recupera a última mensagem de erro. Se não houver última mensagem de erro, nulo será retornado.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | A última mensagem de erro como uma cadeia de caracteres. |
// Setup a data policy where short_description field in incident is mandatory
var now_GR = new GlideRecord('incident');
now_GR.insert(); // insert without data in mandatory field
var errormessage = now_GR.getLastErrorMessage();
gs.info(errormessage);
Saída:
Data Policy Exception: Short description is mandatory
GlideRecord com escopo - getLink (noStack booliano)
Recupera o link para o registro atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Sem pilha | Booliano | Sinalizador que indica se o parâmetro sysparm_stack deve ser anexado ao link retornado. Este parâmetro especifica a página a ser visitada após fechar o link atual. Valores válidos: Se verdadeiro, o parâmetro sysparm_stack não será anexado ao link.
|
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Link para o registro atual. |
Este exemplo consulta todos os registros de Incidente com prioridade "1" e grava o URI do servlet e o link do registro atual no log do sistema.
var now_GR = new GlideRecord('incident');
now_GR.addActiveQuery();
now_GR.addQuery("priority", 1);
now_GR.query();
now_GR.next();
gs.info(gs.getProperty('glide.servlet.uri') + now_GR.getLink(false));
Saída:
https://instance.service-now.com/incident.do?sys_id=46e2fee9a9fe19810049b49dee0daf58&sysparm_stack=incident_list.do?sysparm_query=active=true
GlideRecord com escopo - getRecordClassName()
Recupera o nome da classe do registro atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | O nome da classe. |
var now_GR = new GlideRecord('incident');
var recordClassName = now_GR.getRecordClassName();
gs.info(recordClassName);
Saída:
incident
GlideRecord com escopo - getRow Count()
Recupera o número de linhas (registros) no objeto GlideRecord atual.
- Recuperando os registros numéricos 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 em GlideAggregate objeto antes de emitir a consulta.
Sys_id EM com mais de 100 valores sys_id, como GrIncident.addQuery(sys_id', 'IN', listOf200SysIds) , você deve: - Ligue para DisableSysIdInOtimization() GlideRecord.
- Ou ajuste glide.db.first_pass_sys_id_list_size.maxpropriedade do sistema para um valor maior que o número de sys_ids na lista.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Número | Número de linhas no GlideRecord atual. |
O exemplo a seguir mostra como obter o número de incidentes da tabela Incidente [incidente].
var numberOfIncidents = new GlideRecord('incident');
numberOfIncidents.query();
gs.info("Records in incident table: " + numberOfIncidents.getRowCount());
Saída:
Records in incident table: 6920
O exemplo de código a seguir mostra como usar o. DisableSysIdInOptimiation() Método para desabilitar a otimização do limite sys_id ao passar uma lista sys_id de incidente que contém 200 entradas.
var listOf200SysIds = [ ... ]; // 200 comma separated sys_ids
var grIncident = new GlideRecord('incident');
grIncident.addQuery('sys_id', 'IN', listOf200SysIds);
grIncident.disableSysIdInOptimization(); // Rowcount could be incorrect without this method call
grIncident.query();
if (grIncident.next())
gs.info("Rowcount: " + grIncident.getRowCount());
Saída:
Rowcount: 200
GlideRecord com escopo - getTableName()
Recupera o nome da tabela associada ao GlideRecord.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | O nome da tabela |
var now_GR = new GlideRecord('incident');
gs.info(now_GR.getTableName());
GlideRecord com escopo - getUniqueValue()
Obtém a chave primária do registro, que geralmente é o sys_id, a menos que especificado de outra forma.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | A chave primária exclusiva como uma cadeia de caracteres ou nula se a chave for nula. |
var now_GR = new GlideRecord('kb_knowledge');
now_GR.query();
now_GR.next();
var uniqueid = now_GR.getUniqueValue();
gs.info(uniqueid);
GlideRecord com escopo - getValue (nome da cadeia de caracteres)
Recupera o valor da cadeia de caracteres de um elemento subjacente em um campo.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | O nome do campo do qual obter o valor. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | O valor da cadeia de caracteres do elemento subjacente. Retorna nulo se o campo estiver vazio ou o campo não existir. Os valores boolianos retornam como "0" e. "1" valores de cadeia de caracteres em vez de falso e verdadeiro. |
var now_GR = new GlideRecord('incident');
now_GR.orderBy('number');
now_GR.query('active','true');
now_GR.next();
gs.info(now_GR.getValue('number'));
Saída:
INC0000002
GlideRecord com escopo - GlideRecord (nome da tabela de cadeia de caracteres)
Cria uma instância da classe GlideRecord para a tabela especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| tableName | Cadeia de caracteres | A tabela a ser usada. |
var now_GR = new GlideRecord('incident');
GlideRecord com escopo - hasNext()
Determina se há mais registros no objeto GlideRecord.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Verdadeiro se houver mais registros no conjunto de resultados da consulta. |
var rec = new GlideRecord('incident');
rec.query();
if (rec.hasNext()) {
gs.info("Table is not empty");
}
GlideRecord com escopo - insert()
Insere um novo registro usando os valores de campo que foram definidos para o registro atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Sys_id do registro inserido ou nulo se o registro não estiver inserido. |
var now_GR = new GlideRecord('incident');
now_GR.initialize();
now_GR.setValue('name', 'New Incident');
now_GR.setValue('description', 'Incident description');
now_GR.insert();
Saída:
138fb4111b4d4d907cf30d03cd4bcb57
GlideRecord com escopo - initialize()
Cria um registro vazio adequado para preenchimento antes de uma inserção.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
var grIncident = new GlideRecord('incident');
grIncident.initialize();
grIncident.setValue('short_description', 'New Incident');
grIncident.setValue('description', 'Incident description');
grIncident.insert();
GlideRecord com escopo - isActionAborted()
Verifica se a ação atual do banco de dados deve ser anulada.
IsActionAborted() é inicializado (definido como falso) para novos threads e por next() método.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a ação atual do banco de dados deve ser anulada. Valores válidos:
|
var now_GR = new GlideRecord('incident');
gs.info(now_GR.isActionAborted());
Saída:
false
GlideRecord com escopo - isEncodedQueryValid(consulta de cadeia de caracteres)
Verifica se a consulta codificada especificada é válida.
Se a consulta codificada especificada for válida, a consulta será aplicada, como se você tivesse chamado AddEncodedQuery() . Se a consulta codificada especificada for inválida, então Sys_idNotValidnull é adicionado como a consulta codificada.
| Nome | Tipo | Descrição |
|---|---|---|
| consulta | Cadeia de caracteres | Consulta codificada a ser validada. Consulte Cadeias de caracteres de consulta codificadas . |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a consulta codificada especificada é válida.
|
Este exemplo de código mostra como validar uma consulta codificada e executar a lógica se a consulta for válida.
var now_GR = new GlideRecord('incident_sla');
var isValidQuery = now_GR.isEncodedQueryValid('inc_impact=1^taskslatable_active=true');
if (isValidQuery) {
now_GR.query();
.
.
.
}
GlideRecord com escopo - isNewRecord()
Verifica se o registro atual é um novo registro que ainda não foi inserido no banco de dados.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Verdadeiro se o registro for novo e não tiver sido inserido no banco de dados. |
var now_GR = new GlideRecord("x_app_table");
now_GR.newRecord(); // create a new record and populate it with default values
gs.info(now_GR.isNewRecord());
GlideRecord com escopo - isValid()
Determina se a tabela atual é válida ou se o registro foi recuperado com sucesso.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a tabela é válida ou se o registro foi recuperado com sucesso. Valores possíveis:
|
var comment_GR = new GlideRecord('cf_comment');
var commentId = '99ebb4156fa831005be8883e6b3ee4b9';
comment_GR.get(commentId);
gs.info(comment_GR.isValid());
GlideRecord com escopo - isValidEncodedQuery (consulta de cadeia de caracteres)
Verifica se a sintaxe da consulta codificada está correta.
"" ) como a consulta fornecer:- A cadeia de caracteres vazia (
""representa a ausência de uma consulta e retorna falso. - Chamando
GlideRecord.addEncodedQuery("")seguido porGlideRecord.query()retorna todas as linhas. O método de consulta é semelhante a uma instrução SQL SELECT. No SQL, ao usar "SELECT * FROM FOO WHERE X", o valor X representa a consulta. Se nenhum valor de consulta for fornecido, todos os registros serão retornados (por exemplo, SELECIONE * DE foo).
| Nome | Tipo | Descrição |
|---|---|---|
| consulta | Cadeia de caracteres | Consulta codificada a ser validada. Consulte Cadeias de caracteres de consulta codificadas . |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a consulta codificada especificada é válida.
|
Este exemplo de código mostra como verificar se a consulta codificada é válida.
var queryString = "priority=1^ORpriority=2";
var now_GR = new GlideRecord('incident');
var isValidQuery = now_GR.isValidEncodedQuery(queryString);
if (isValidQuery) {
now_GR.addEncodedQuery(queryString);
now_GR.query();
.
.
.
}
GlideRecord com escopo - isValidField(cadeia de caracteres columnName)
Determina se o campo especificado está definido na tabela atual.
| Nome | Tipo | Descrição |
|---|---|---|
| columnName | Cadeia de caracteres | O nome do campo. |
| Tipo | Descrição |
|---|---|
| Booliano | Verdadeiro se o campo estiver definido para a tabela atual. |
var now_GR = new GlideRecord('incident');
now_GR.initialize();
gs.info(now_GR.isValidField("short_description"));
GlideRecord com escopo - isValidRecord()
Determina se um registro foi realmente retornado pela operação de consulta/obtenção de registro.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se um registro foi realmente retornado pela operação de consulta/GET. Valores válidos:
|
var rec = new GlideRecord('incident');
rec.query();
while (rec.next()) {
gs.info(rec.number + ' exists');
}
gs.info(rec.isValidRecord());
GlideRecord com escopo - isView()
Verifica se o registro foi criado em uma exibição ou tabela.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o registro foi criado na tabela que é uma exibição.
|
Este exemplo de código mostra como determinar se um GlideRecord foi criado em uma exibição ou tabela.
var mySLA = new GlideRecord('incident_sla');
if (mySLA.isView() == true){
gs.info('This record was created in a view.');
} else {
gs.info('This record was created in a table.');
}
Saída:
This record was created in a view.
GlideRecord com escopo - newRecord()
Cria um novo registro GlideRecord, define os valores padrão para os campos e atribui um ID exclusivo ao registro.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
var now_GR = new GlideRecord("x_app_table");
now_GR.newRecord();
gs.info(now_GR.isNewRecord());
Saída:
true
GlideRecord com escopo - next()
Move para o próximo registro no objeto GlideRecord.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se há um registro "próximo" no GlideRecord. Valores válidos:
|
var rec = new GlideRecord('incident');
rec.query();
while (rec.next()) {
gs.info(rec.getValue('number') + ' exists');
}
INC0010112 exists
INC0010114 exists
INC0010119 exists
INC0010127 existsGlideRecord com escopo - _next()
Move para o próximo registro no GlideRecord. Fornece a mesma funcionalidade que next() , Use este método se o GlideRecord tiver uma coluna chamada NEXT.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se há mais registros no conjunto de consultas. Valores possíveis:
|
O exemplo a seguir mostra como listar cada registro na tabela Incidentes [incidente].
var rec = new GlideRecord('incident');
rec.query();
while (rec._next()) {
gs.info(rec.getValue('number') + ' exists');
}
Saída:
INC0000060 exists
INC0009002 exists
INC0000009 exists
INC0000010 exists
INC0000011 exists
INC0000012 exists
...
GlideRecord com escopo - Operação ()
Determina se uma operação é inserir, atualizar ou excluir.
Conhecer a operação permite usar current.operation() para criar uma regra de negócios genérica que possa lidar com cada operação de forma exclusiva.
Para obter informações sobre como usar a variável global atual , consulte Variáveis globais em regras de negócio .
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | A operação atual. Valores possíveis:
|
O exemplo a seguir mostra como usar este método em uma regra de negócios. . operação () o método detecta qual operação acionou um evento e executa uma ação diferente dependendo das operações de atualização e inserção.
if(current.operation() == "update") {
current.updates ++; }
if(current.operation() == "insert") {
current.updates = 0; }
GlideRecord com escopo - orderBy (nome da cadeia de caracteres)
Especifica uma coluna orderBy.
Chame este método mais de uma vez para ordenar por várias colunas. Os resultados são organizados em ordem crescente. Para organizar registros em ordem decrescente, consulte GlideRecord com escopo - orderByDesc (nome da cadeia de caracteres).
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome da coluna a ser usada para ordenar os registros neste objeto GlideRecord. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como solicitar registros de incidentes em ordem crescente por Descrição resumida.
var queryString = "priority=2";
var now_GR = new GlideRecord('incident');
now_GR.orderBy('short_description'); // Ascending Order
now_GR.addEncodedQuery(queryString);
now_GR.query();
while (now_GR.next()) {
gs.info(now_GR.getValue('short_description'));
}
Saída:
Can't launch 64-bit Windows 7 virtual machine
Can't log into SAP from my laptop today
Network storage unavailable
Please remove the latest hotfix from my PC
GlideRecord com escopo - orderByDesc (nome da cadeia de caracteres)
Especifica uma coluna orderBy decrescente.
Chame este método mais de uma vez para ordenar por várias colunas. Os resultados são organizados em ordem decrescente. Para organizar registros em ordem crescente, consulte GlideRecord com escopo - orderBy (nome da cadeia de caracteres).
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome da coluna a ser usada para ordenar os registros em um objeto GlideRecord. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como solicitar registros de incidentes em ordem decrescente por Descrição resumida.
var queryString = "priority=2";
var now_GR = new GlideRecord('incident');
now_GR.orderByDesc('short_description'); //Descending Order
now_GR.addEncodedQuery(queryString);
now_GR.query();
while (now_GR.next()) {
gs.info(now_GR.getValue('short_description'));
}
Saída:
Please remove the latest hotfix from my PC
Network storage unavailable
Can't log into SAP from my laptop today
Can't launch 64-bit Windows 7 virtual machine
GlideRecord com escopo - consulta (campo de cadeia de caracteres, valor de cadeia de caracteres)
Executa uma consulta na tabela com base nos filtros especificados nos métodos de consulta, como AddQuery() e. AddEncodedQuery() .
Este método consulta a tabela GlideRecord, bem como todas as referências da tabela. Para obter mais informações, consulte Consultando tabelas no script .
Consulte GlideRecord artigo para obter detalhes sobre como criar e executar consultas.
| 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:
Normalmente, esse método é 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. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como verificar o Dicionário do sistema [sys_dictionary] em busca de tabelas com um campo de consulta.
var tableArr = [];
var now_GR = new GlideRecord('sys_dictionary');
now_GR.addQuery('element', 'query');
now_GR.setLimit(6);
now_GR.query();
while(now_GR.next()){
tableArr.push(now_GR.name.getValue());
};
gs.info('The following tables have a field column called "query":');
for (i = 0; i < tableArr.length; i++) {
gs.info(tableArr[i]);
};
Saída:
The following tables have a field column called "query":
cmdb_convert_bulk_services
cmdb_multisource_query_status
cmdb_qb_result_base
cmdb_qb_table_mapping
discovery_probes_cim_query
kb_feedback
GlideRecord com escopo - _query(campo de cadeia de caracteres, valor de cadeia de caracteres)
Executa uma consulta na tabela com base nos filtros especificados nos métodos de consulta, como AddQuery() e. AddEncodedQuery() . Este método deve ser usado em tabelas nas quais há uma coluna chamada "query", o que pode causar erros ao executar o método query().
Este método consulta a tabela GlideRecord, bem como todas as referências da tabela. Para obter mais informações, consulte Consultando tabelas no script .
Consulte GlideRecord artigo para obter detalhes sobre como criar e executar consultas.
| 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:
Normalmente, esse método é 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. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como consultar a tabela Feedback de conhecimento [kb_feedback] e listar artigos da base de conhecimento com comentários que incluem o Excel.
var rec = new GlideRecord('kb_feedback');
rec.addQuery('comments', 'CONTAINS', 'Excel');
rec._query();
while (rec.next()) {
gs.info(rec.getDisplayValue('article') + " comment: " + rec.getValue('comments'));
}
Saída:
KB0000005 comment:
Can you please add the version of Excel this applies to? All?
KB0000005 comment:
Does this work for all Excel versions? OSX and Windows alike?
GlideRecord com escopo - setAbortAction (booliano b)
Define um sinalizador para indicar se a próxima ação do banco de dados (inserir, atualizar, excluir) deve ser anulada. Isso é frequentemente usado em regras de negócios.
Use em um Antes regra de negócio para impedir que a ação do banco de dados seja realizada. A regra de negócio continua a ser executada após SetAbortAction() é chamado. Chamando SetAbortAction() não impede a execução de regras de negócios subsequentes. Chamar este método só impede que a ação do banco de dados ocorra.
| Nome | Tipo | Descrição |
|---|---|---|
| b | Booliano | Verdadeiro para anular a próxima ação. Falso se a ação for permitida. |
| Tipo | Descrição |
|---|---|
| vazio |
// Often used in business rule to check whether the current operation should be aborted.
if (current.size > 16) {
current.setAbortAction(true);
}
GlideRecord com escopo - setLimit(Number maxNumRecords)
Define o limite para o número de registros obtidos pela consulta GlideRecord.
| Nome | Tipo | Descrição |
|---|---|---|
| MaxNumRecords | Número | O número máximo de registros a serem obtidos. |
| Tipo | Descrição |
|---|---|
| vazio |
var now_GR = new GlideRecord('incident');
now_GR.orderByDesc('sys_created_on');
now_GR.setLimit(10);
now_GR.query(); // this retrieves latest 10 incident records created
GlideRecord com escopo - setNewGuidValue(cadeia de caracteres guid)
Define o valor sys_id do registro atual.
| Nome | Tipo | Descrição |
|---|---|---|
| guid | Cadeia de caracteres | GUID a ser atribuído ao registro atual. |
| Tipo | Descrição |
|---|---|
| vazio |
var now_GR = new GlideRecord('incident');
now_GR.setValue('short_description', 'The third floor printer is broken');
now_GR.setNewGuidValue('eb4636ca6f6d31005be8883e6b3ee333');
now_GR.insert();
gs.info(now_GR.getValue('sys_id'));
GlideRecord com escopo - setValue(nome da cadeia de caracteres, valor do objeto)
Define o valor do campo com o nome especificado como o valor especificado.
Normalmente, o script faz um now_GR.category: Valor . No entanto, se o nome do elemento for 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.
- Autenticação com campos password2
- . SetValue() o método passa dados password2 como texto não criptografado, o que resulta em um erro sobre a espera de dados criptografados. 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.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome do campo. |
| valor | Objeto | Valor a ser atribuído ao campo. |
| Tipo | Descrição |
|---|---|
| Nenhum |
var elementName = 'short_description';
var now_GR = new GlideRecord('incident');
now_GR.initialize();
now_GR.setValue(elementName, "My DB is not working");
now_GR.insert();
GlideRecord com escopo - setWorkflow (Habilitar booliano)
Habilita ou desabilita a execução de regras de negócios, mecanismos de script e auditoria.
| 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:
Padrão: verdadeiro |
| Tipo | Descrição |
|---|---|
| vazio |
//Enable business rules, scripts engines for x_app_table
var now_GR = new GlideRecord("x_app_table");
now_GR.setWorkflow(true);
GlideRecord com escopo - atualização (motivo da cadeia de caracteres)
Atualiza o GlideRecord com todas as mudanças que foram feitas. Se o registro ainda não existir, ele será inserido.
| Nome | Tipo | Descrição |
|---|---|---|
| motivo | Cadeia de caracteres | Opcional. Motivo da atualização. O motivo aparece no registro de auditoria. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Sys_id do registro novo ou atualizado. Retorna nulo se a atualização falhar. |
O exemplo a seguir mostra como atualizar o campo Descrição resumida de um incidente.
var now_GR = new GlideRecord('incident');
now_GR.get('99ebb4156fa831005be8883e6b3ee4b9');
now_GR.setValue('short_description', 'Update the short description');
now_GR.update();
gs.info(now_GR.getElement('short_description'));
Saída:
Update the short description.
GlideRecord com escopo - updateMultiple()
Atualiza cada GlideRecord em uma consulta informada com um conjunto especificado de mudanças.
Este método não é compatível com a adição de várias entradas de diário.
. glide.db.forced.chunk.thresholda propriedade do sistema define o limite acima do qual força exclusões e atualizações de registro de bloco. O agrupamento ajuda a impedir que exclusões de chaves não primárias em tabelas grandes causem problemas de replicação. Para obter mais informações, consulte Available system properties.
gr_Now.setValue('<field_name>', '4'); em vez de gr_now.<field_name>: 4 .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 Definir uma variável GlideRecord como "NULL".
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| 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();
var test = new GlideRecord('incident');
test.addEncodedQuery('priority=1');
test.query();
test.setValue('description','NULL');
test.updateMultiple();GlideRecord com escopo - updateWithReferences (motivo do objeto)
Atualiza um registro e também insere ou atualiza todos os registros relacionados com as informações fornecidas.
| Nome | Tipo | Descrição |
|---|---|---|
| motivo | Objeto | Motivo das atualizações. O motivo é exibido no registro de auditoria. |
| 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 solicitante está definido como 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 do chamador para 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();
}