GlideQueryCondition - Com escopo

  • Versão de lançamento: Australia
  • Atualizado 12 de mar. de 2026
  • 12 min. de leitura
  • Esta API fornece E. ou OU condições que podem ser adicionadas à condição atual, permitindo criar consultas complexas.

    Você pode usar esta API para criar consultas complexas, como as seguintes:
    category='hardware' OR category='software' AND priority='2' AND priority='1'

    No caso de AddCondition() , um implícito E. foi adicionado.

    Esta classe não tem construtor. R GlideQueryCondition o objeto é retornado pelos seguintes métodos:
    • AddActiveQuery()
    • AddInactiveQuery()
    • AddJoinQuery()
    • AddNotNullQuery()
    • AddNullQuery()
    • AddQuery()

    Se houver um conjunto complicado de E. e. OU consultas, uma única consulta codificada que contém todas as condições simplifica a criação da consulta. Para simplificar a criação da consulta, crie uma consulta em uma exibição de lista, clique com o botão direito do mouse na consulta e selecione Consulta de cópia . Ele cria uma única cadeia de caracteres de consulta codificada para retornar seu conjunto de resultados. Use essa cadeia de caracteres como parâmetro em um AddEncodedQuery() chamada.

    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.

    GlideQueryCondition - addCondition(nome da cadeia de caracteres, cadeia de caracteres operacional, valor do objeto)

    Adiciona uma condição AND à condição atual.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo
    oper Cadeia de caracteres (Opcional) Operador de consulta. Os valores disponíveis dependem do tipo de dados do valor parâmetro.

    Se você não especificar um operador, a condição usará um operador de igual.

    Números:
    • =
    • !=
    • >
    • >=
    • <
    • menor ou igual a
    Cadeias de caracteres (devem estar em maiúsculas):
    • =
    • !=
    • IN
    • INICIAR
    • ENDSWITH
    • contém
    • NÃO CONTATINANÃO
    valor Objeto Valor no qual consultar (não diferencia maiúsculas de minúsculas).
    Nota:
    Todas as matrizes passadas devem conter no mínimo dois elementos. Matrizes de elemento único não são compatíveis.
    Tabela 2. Retornos
    Tipo Descrição
    GlideQueryCondition Uma referência a Condição de consulta do GlideQueriConditon que foi adicionado ao GlideRecord .

    O exemplo a seguir mostra como adicionar uma condição AND a uma consulta.

    var now_GR = new GlideRecord('incident');
    var qc = now_GR.addQuery('category', 'Hardware');
    qc.addCondition('category', 'Network');
    now_GR.addQuery('number','INC0000003');
    now_GR.next();
    now_GR.number;
    gs.info(now_GR.getEncodedQuery());

    Saída:

    category=Hardware^ORcategory=Network^number=INC0000003

    GlideQueryCondition - addOrCondition(nome da cadeia de caracteres, cadeia de caracteres operacional, valor do objeto)

    Anexa um parâmetro OU condição de dois ou três a uma GlideQueryCondition existente.

    Este método funciona em conjunto com GlideRecord addQuery() para OU os parâmetros de consulta especificados para a consulta construída anteriormente usando AddQuery() .

    . AddOrCondition() pode ser chamado com apenas dois parâmetros, campo de tabela e valor de comparação, como AddOrCondition('category', 'software'); . O operador neste caso é considerado "igual a".

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo
    oper Cadeia de caracteres (Opcional) Operador de consulta. Os valores disponíveis dependem do tipo de dados do valor parâmetro.

    Se você não especificar um operador, a condição usará um operador de igual.

    Números:
    • =
    • !=
    • >
    • >=
    • <
    • menor ou igual a
    Cadeias de caracteres (devem estar em maiúsculas):
    • =
    • !=
    • IN
    • INICIAR
    • ENDSWITH
    • contém
    • NÃO CONTATINANÃO
    valor Objeto Valor no qual consultar (não diferencia maiúsculas de minúsculas).
    Nota:
    Todas as matrizes passadas devem conter no mínimo dois elementos. Matrizes de elemento único não são compatíveis.
    Tabela 4. Retornos
    Tipo Descrição
    GlideQueryCondition Uma referência a Condição de consulta do GlideQueriConditon que foi adicionado ao GlideRecord .

    O exemplo a seguir mostra como adicionar uma condição OU a uma consulta.

    var now_GR = new GlideRecord('incident');
    var qc = now_GR.addQuery('category', 'Hardware');
    qc.addOrCondition('category', 'Network');
    now_GR.addQuery('number','INC0000004');
    now_GR.next();
    now_GR.number;
    gs.info(now_GR.getEncodedQuery());

    Saída:

    category=Hardware^ORcategory=Network^number=INC0000004

    Para agrupar E/OU declarações para fazer consultas complexas, como obter 10 incidentes com um estado menor que 3 OU maior que 5 E (a prioridade é 1 OU a prioridade é 5).

    var myObj = new GlideRecord('incident');
    var q1 = myObj.addQuery('state', '<', 3);
    q1.addOrCondition('state', '>', 5);
    var q2 = myObj.addQuery('priority', 1);
    q2.addOrCondition('priority', 5);
    myObj.setLimit(10);
    myObj.query();
    
    while (myObj.next()) {
      gs.info('Incident: ' + myObj.getValue('number') + ' State: ' + myObj.getValue('state') + ' Priority: ' + myObj.getValue('priority'));
    }

    Saída:

    Incident: INC0000001 State: 7 Priority: 1
    Incident: INC0000004 State: 7 Priority: 1
    Incident: INC0000012 State: 7 Priority: 5
    Incident: INC0000013 State: 7 Priority: 1
    Incident: INC0000024 State: 7 Priority: 5
    Incident: INC0000028 State: 7 Priority: 5
    Incident: INC0000031 State: 2 Priority: 1
    Incident: INC0000057 State: 7 Priority: 5
    Incident: INC0000057 State: 2 Priority: 5
    Incident: INC0000058 State: 7 Priority: 5

    GlideQueryCondition - addSystemCondition(nome da cadeia de caracteres, cadeia de caracteres operacional, valor do objeto)

    Adiciona uma condição AND à condição atual. 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 AddUserCondition() para impor o acesso à consulta.

    Métodos adicionais para acesso no nível do sistema que ignoram as verificações de ACL de consulta:
    Tabela 5. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo
    oper Cadeia de caracteres (Opcional) Operador de consulta. Os valores disponíveis dependem do tipo de dados do valor parâmetro.

    Se você não especificar um operador, a condição usará um operador de igual.

    Números:
    • =
    • !=
    • >
    • >=
    • <
    • menor ou igual a
    Cadeias de caracteres (devem estar em maiúsculas):
    • =
    • !=
    • IN
    • INICIAR
    • ENDSWITH
    • contém
    • NÃO CONTATINANÃO
    valor Objeto Valor no qual consultar (não diferencia maiúsculas de minúsculas).
    Nota:
    Todas as matrizes passadas devem conter no mínimo dois elementos. Matrizes de elemento único não são compatíveis.
    Tabela 6. Retornos
    Tipo Descrição
    GlideQueryCondition Uma referência a Condição de consulta do GlideQueriConditon que foi adicionado ao GlideRecord .

    Para agrupar E declarações para fazer consultas complexas, como obter 20 incidentes com um (estado menor que 3 E não 2) e (a prioridade é maior que 1 E a prioridade não é 5).

    var myObj = new GlideRecord('incident');
    var q1 = myObj.addSystemQuery('state', '<', 3);
    q1.addSystemCondition('state', '!=', 2);
    var q2 = myObj.addSystemQuery('priority', '>', 1);
    q2.addSystemCondition('priority', '!=', 5);
    myObj.setLimit(20);
    myObj.query();
    
    while (myObj.next()) {
      gs.info('Incident: ' + myObj.getValue('number') + ' State: ' + myObj.getValue('state') + ' Priority: ' + myObj.getValue('priority'));
    }

    Saída:

    Incident: INC0011238 State: 1 Priority: 4
    Incident: INC0010127 State: 1 Priority: 2
    Incident: INC0010143 State: 1 Priority: 2
    Incident: INC0011760 State: 1 Priority: 2
    Incident: INC0010708 State: 1 Priority: 3
    Incident: INC0013048 State: 1 Priority: 4
    Incident: INC0010658 State: 1 Priority: 2
    Incident: INC0012021 State: 1 Priority: 3
    Incident: INC0013308 State: 1 Priority: 4
    Incident: INC0010155 State: 1 Priority: 3
    Incident: INC0013312 State: 1 Priority: 4
    Incident: INC0013049 State: 1 Priority: 3
    Incident: INC0010068 State: 1 Priority: 4
    Incident: INC0010135 State: 1 Priority: 2
    Incident: INC0010132 State: 1 Priority: 4
    Incident: INC0010700 State: 1 Priority: 3
    Incident: INC0013311 State: 1 Priority: 2
    Incident: INC0011758 State: 1 Priority: 4
    Incident: INC0012278 State: 1 Priority: 3
    Incident: INC0013306 State: 1 Priority: 4

    GlideQueryCondition - addSystemOrCondition(nome da cadeia de caracteres, cadeia de caracteres operacional, valor do objeto)

    Anexa um parâmetro OU condição de dois ou três a uma GlideQueryCondition existente. 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 AddUserOrCondition para impor o acesso à consulta.

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

    . AddSystemOrCondition() o método funciona com GlideRecord addSystemQuery() método para OU os parâmetros de consulta especificados para a consulta construída anteriormente usando AddSystemQuery() .

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo
    oper Cadeia de caracteres (Opcional) Operador de consulta. Os valores disponíveis dependem do tipo de dados do valor parâmetro.

    Se você não especificar um operador, a condição usará um operador de igual.

    Números:
    • =
    • !=
    • >
    • >=
    • <
    • menor ou igual a
    Cadeias de caracteres (devem estar em maiúsculas):
    • =
    • !=
    • IN
    • INICIAR
    • ENDSWITH
    • contém
    • NÃO CONTATINANÃO
    valor Objeto Valor no qual consultar (não diferencia maiúsculas de minúsculas).
    Nota:
    Todas as matrizes passadas devem conter no mínimo dois elementos. Matrizes de elemento único não são compatíveis.
    Tabela 8. Retornos
    Tipo Descrição
    GlideQueryCondition Uma referência a Condição de consulta do GlideQueriConditon que foi adicionado ao GlideRecord .

    Para agrupar E/OU declarações para fazer consultas complexas, como obter 20 incidentes com um estado menor que 3 OU maior que 5 E (a prioridade é 1 OU a prioridade é 5).

    var myObj = new GlideRecord('incident');
    var q1 = myObj.addSystemQuery('state', '<', 3);
    q1.addSystemOrCondition('state', '>', 5);
    var q2 = myObj.addSystemQuery('priority', 1);
    q2.addSystemOrCondition('priority', 5);
    myObj.setLimit(20);
    myObj.query();
    
    while (myObj.next()) {
      gs.info('Incident: ' + myObj.getValue('number') + ' State: ' + myObj.getValue('state') + ' Priority: ' + myObj.getValue('priority'));
    }

    Saída:

    Incident: INC0000001 State: 7 Priority: 1
    Incident: INC0000004 State: 7 Priority: 1
    Incident: INC0000012 State: 7 Priority: 5
    Incident: INC0000013 State: 7 Priority: 1
    Incident: INC0000024 State: 7 Priority: 5
    Incident: INC0000028 State: 7 Priority: 5
    Incident: INC0000031 State: 2 Priority: 1
    Incident: INC0000057 State: 7 Priority: 5
    Incident: INC0000057 State: 2 Priority: 5
    Incident: INC0000058 State: 7 Priority: 5
    Incident: INC0000058 State: 2 Priority: 5
    Incident: INC0000059 State: 7 Priority: 5
    Incident: INC0000060 State: 7 Priority: 5
    Incident: INC0000061 State: 7 Priority: 5
    Incident: INC0000062 State: 7 Priority: 5
    Incident: INC0000064 State: 7 Priority: 5
    Incident: INC0000065 State: 7 Priority: 5
    Incident: INC0000066 State: 7 Priority: 5
    Incident: INC0000069 State: 7 Priority: 5
    Incident: INC0000072 State: 7 Priority: 5

    GlideQueryCondition - addUserCondition (nome da cadeia de caracteres, cadeia de caracteres operacional, valor do objeto)

    Adiciona uma condição AND à condição atual. 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:
    Tabela 9. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo
    oper Cadeia de caracteres (Opcional) Operador de consulta. Os valores disponíveis dependem do tipo de dados do valor parâmetro.

    Se você não especificar um operador, a condição usará um operador de igual.

    Números:
    • =
    • !=
    • >
    • >=
    • <
    • menor ou igual a
    Cadeias de caracteres (devem estar em maiúsculas):
    • =
    • !=
    • IN
    • INICIAR
    • ENDSWITH
    • contém
    • NÃO CONTATINANÃO
    valor Objeto Valor no qual consultar (não diferencia maiúsculas de minúsculas).
    Nota:
    Todas as matrizes passadas devem conter no mínimo dois elementos. Matrizes de elemento único não são compatíveis.
    Tabela 10. Retornos
    Tipo Descrição
    GlideQueryCondition Uma referência a Condição de consulta do GlideQueriConditon que foi adicionado ao GlideRecord .

    Para agrupar E declarações para fazer consultas complexas, como obter 20 incidentes com um (estado menor que 3 E não 2) e (a prioridade é maior que 1 E a prioridade não é 5).

    var myObj = new GlideRecord('incident');
    var q1 = myObj.addUserQuery('state', '<', 3);
    q1.addUserCondition('state', '!=', 2);
    var q2 = myObj.addUserQuery('priority', '>', 1);
    q2.addUserCondition('priority', '!=', 5);
    myObj.setLimit(20);
    myObj.query();
    
    while (myObj.next()) {
      gs.info('Incident: ' + myObj.getValue('number') + ' State: ' + myObj.getValue('state') + ' Priority: ' + myObj.getValue('priority'));
    }

    Saída:

    Incident: INC0011238 State: 1 Priority: 4
    Incident: INC0010127 State: 1 Priority: 2
    Incident: INC0010143 State: 1 Priority: 2
    Incident: INC0011760 State: 1 Priority: 2
    Incident: INC0010708 State: 1 Priority: 3
    Incident: INC0013048 State: 1 Priority: 4
    Incident: INC0010658 State: 1 Priority: 2
    Incident: INC0012021 State: 1 Priority: 3
    Incident: INC0013308 State: 1 Priority: 4
    Incident: INC0010155 State: 1 Priority: 3
    Incident: INC0013312 State: 1 Priority: 4
    Incident: INC0013049 State: 1 Priority: 3
    Incident: INC0010068 State: 1 Priority: 4
    Incident: INC0010135 State: 1 Priority: 2
    Incident: INC0010132 State: 1 Priority: 4
    Incident: INC0010700 State: 1 Priority: 3
    Incident: INC0013311 State: 1 Priority: 2
    Incident: INC0011758 State: 1 Priority: 4
    Incident: INC0012278 State: 1 Priority: 3
    Incident: INC0013306 State: 1 Priority: 4

    GlideQueryCondition - addUserOrCondition (nome da cadeia de caracteres, cadeia de caracteres operacional, valor do objeto)

    Anexa um parâmetro OU condição de dois ou três a uma GlideQueryCondition existente. 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).

    . AddUserOrCondition() o método funciona com GlideRecord addUserQuery() método para OU os parâmetros de consulta especificados para a consulta construída anteriormente usando AddUserQuery() .

    Métodos relacionados:
    Tabela 11. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo
    oper Cadeia de caracteres (Opcional) Operador de consulta. Os valores disponíveis dependem do tipo de dados do valor parâmetro.

    Se você não especificar um operador, a condição usará um operador de igual.

    Números:
    • =
    • !=
    • >
    • >=
    • <
    • menor ou igual a
    Cadeias de caracteres (devem estar em maiúsculas):
    • =
    • !=
    • IN
    • INICIAR
    • ENDSWITH
    • contém
    • NÃO CONTATINANÃO
    valor Objeto Valor no qual consultar (não diferencia maiúsculas de minúsculas).
    Nota:
    Todas as matrizes passadas devem conter no mínimo dois elementos. Matrizes de elemento único não são compatíveis.
    Tabela 12. Retornos
    Tipo Descrição
    GlideQueryCondition Uma referência a Condição de consulta do GlideQueriConditon que foi adicionado ao GlideRecord .

    Para agrupar E/OU declarações para fazer consultas complexas, como obter 20 incidentes com um estado menor que 3 OU maior que 5 E (a prioridade é 1 OU a prioridade é 5).

    var myObj = new GlideRecord('incident');
    var q1 = myObj.addUserQuery('state', '<', 3);
    q1.addUserOrCondition('state', '>', 5);
    var q2 = myObj.addUserQuery('priority', 1);
    q2.addUserOrCondition('priority', 5);
    myObj.setLimit(20);
    myObj.query();
    
    while (myObj.next()) {
      gs.info('Incident: ' + myObj.getValue('number') + ' State: ' + myObj.getValue('state') + ' Priority: ' + myObj.getValue('priority'));
    }

    Saída:

    Incident: INC0000001 State: 7 Priority: 1
    Incident: INC0000004 State: 7 Priority: 1
    Incident: INC0000012 State: 7 Priority: 5
    Incident: INC0000013 State: 7 Priority: 1
    Incident: INC0000024 State: 7 Priority: 5
    Incident: INC0000028 State: 7 Priority: 5
    Incident: INC0000031 State: 2 Priority: 1
    Incident: INC0000057 State: 7 Priority: 5
    Incident: INC0000057 State: 2 Priority: 5
    Incident: INC0000058 State: 7 Priority: 5
    Incident: INC0000058 State: 2 Priority: 5
    Incident: INC0000059 State: 7 Priority: 5
    Incident: INC0000060 State: 7 Priority: 5
    Incident: INC0000061 State: 7 Priority: 5
    Incident: INC0000062 State: 7 Priority: 5
    Incident: INC0000064 State: 7 Priority: 5
    Incident: INC0000065 State: 7 Priority: 5
    Incident: INC0000066 State: 7 Priority: 5
    Incident: INC0000069 State: 7 Priority: 5
    Incident: INC0000072 State: 7 Priority: 5