Administração do sistema

Como utilizar Query Operators?

RT.FAQ-7960
Os Query Operators são os tipos de operações permitidas para filtrar registros da base de dados. Eles permitem filtrar registros que tenham um determinado campo igual a um determinado valor, ou através de semelhança, faixa de valores, etc.
Cada domínio já tem pré configurado um conjunto de operações possíveis, mas em determinados casos, o desenvolvedor pode optar em alterar este conjunto padrão.
Para isso, ele deverá incluir um método (sugerimos usar o nome DEFINIR_FILTROS) chamado pelo evento PRE-DISPLAY da respectiva QUERY.

Teclas de atalho:

Em produção


Para alterar o query operator default em produção deve-se utilizar a preferencia
[SISTEMA].[INTERFACE].[FUNÇÃO].[CAMPO].DEFAULT_QUERY_VALUE

É necessário utilizar a barra vertical(pipe) antes do operador como valor
ex:
 Preferência: PROJET.CAD_FAQ.QUERY.ATIVIDADE.DEFAULT_QUERY_VALUE
 Valor:|!=

Definir as operações de filtro de um campo:

qCidade.setQueryOperators("!=", "=", "nn");

Excluir uma ou mais operações de query de um campo

qCidade.delQueryOperator("!=");
ou
qCidade.delQueryOperators("!=", "=");

Excluir todas as operações de query de um campo

qCidade.delAllQueryOperators();

Adicionar operações de filtro de um campo:

qCidade.addQueryOperator("!=");

Como identificar o que foi informado em um filtro

O comando abaixo irá retornar a expressão SQL que será usada como filtro usando "c" para a coluna de binding ou null caso não exista filtro.
qDataTerminoEfetivo.getQueryFilter().getWhereExpression("c")
Retorna valores como:



Relação de Query Operators disponíveis:

Operador Operação Descrição
d Default Trata como like se existir um "%" ou "_" no filtro ou como "=" caso contrário.
s Contém (Search) Busca por registros que tenham todas palavras informadas no campo (indiferente da ordem).
ns Não contém Busca por registros que não tenham as palavras informadas no campo (indiferente da ordem).
= Igualdade Lista apenas quando o atributo é exatamente igual ao que foi informado.
!= Diferente Lista apenas quando o atributo é diferente do que foi informado.
l Like Usa o operador like do SQL.
nl Not like Usa o operador not like do SQL.
< Menor que Lista apenas registros cujo atributo seja menor que o valor informado.
<= Menor ou igual Lista apenas registros cujo atributo seja ou igual ao valor informado.
> Maior que Lista apenas registros cujo atributo seja maior que o valor informado.
>= Maior ou igual Lista apenas registros cujo atributo seja maior ou igual ao valor informado.
b Between Equivale ao operador "between" do SQL.
nb Not between Equivale ao operador "not betweem" do SQL.
i é um destes - In Equivale ao operador "in" do SQL.
ni Não é um destes - Not in Equivale ao operador "not in" do SQL.
n Null Equivale ao operador "is null" do SQL.
nn Not null Equivale ao operador "is not null" do SQL.

Query Operators exclusivos para domínios como ADSRT.SELECTION_BOX (Seleção associativa) e ADSRT.SELECTION_CHECK (Seleção múltipla de opções com check-boxes):
Operador Operação Descrição
ks Contém Busca apenas os registros que contém todas as opções selecionadas.
nks Não contém Busca apenas os registros que não contém nenhuma das opções selecionadas.
k= Igualdade Busca apenas registros que tenham exatamente as opções selecionadas, indiferente de ordem.
!k= Diferente Busca apenas os registros que não tenham exatamente as opções selecionadas, indiferente da ordem.
ki É um destes Busca apenas os registro que tenham alguma (não necessariamente todas) das opções selecionadas.
nki Não é um destes Busca apenas os registro que não tenham nenhuma das opções selecionadas.

Ver também: