Permite criar filtros para uma fonte de dados utilizando expressões OData que utilizam operadores de comparação e lógico.

Figura 1 - Bloco Filtrar
Compatibilidade
- Bloco cliente: cronapi.screen.filter()
- Bloco servidor: cronapi.screen.filter() - executado a partir da chamada do bloco cliente.
Retorno
Bloco sem retorno.
Parâmetros
Fonte de dados
Seleciona a fonte de dados que será utilizada para realizar a filtragem.
Para selecionar uma fonte de dados é preciso vincular um formulário de referência ao arquivo do bloco, acesse o tópico "Propriedades do Blockly" da documentação Bloco de programação para mais detalhes.
- Posição: 1
- Inglês: Datasource
- Tipo: Objeto / Object
- Exemplo: Fonte de dados vinculada a classe User.
Caminho
Recebe uma expressão OData contendo atributos da fonte de dados selecionada e operadores de comparação e lógico.
Como o filtro é criado a partir de uma string, é possível utilizar o bloco Concatenar para montar a expressão. É necessário incluir aspas simples ('
) nos valores de alguns tipos, como String.
- Posição: 2
- Inglês: Path
- Tipo: Texto / String
- Exemplo:
modelo eq 'Clio' and donoUnico ne false
Características do bloco
Tanto o atributo da fonte de dados quanto o valor comparado devem ser compatíveis. Por exemplo, se o parâmetro atributo for uma data, o seu valor deve ser compatível com o tipo data.
Também é necessário ficar atento com os comparadores OData utilizados em atributos de determinados tipos. No caso dos tipos boleanos, não faz sentido utilizar outros comparadores que não seja Igual (eq
) ou Diferente (ne
).
Operadores de comparação OData
Os seguintes operadores de comparação podem ser utilizados no bloco:
- eq: testa se o campo é igual ao valor informado.
- ne: testa se o campo é diferente de valor informado
- gt: testa se o campo é maior que o valor informado.
- lt: testa se o campo é menor que o valor informado.
- ge: testa se o campo é maior ou igual a um valor informado.
- le: testa se o campo é menor ou igual a um valor informado.
Operadores lógicos OData
Os seguintes valores lógicos podem ser utilizados no bloco:
- and: operador binário que será avaliado como true se as duas subexpressões forem verdadeiras.
- or: operador binário que será avaliado como true se pelo menos uma das subexpressões forem verdadeiras.
- not: esse operador unário inverte o resultado boleano da expressão.
Exemplo
A função abaixo utiliza uma expressão OData para filtrar a fonte de dados Carro, exibindo somente os carros da marca Renault
que foram comprados com data superior a 16/09/2023
.

Figura 2 - Função que busca registros baseados em dois parâmetros
A tabela abaixo exibe os dados antes da filtragem.

Figura 2.1 - Dados antes da filtragem
Após a filtragem, apenas 2 registros se encaixam na descrição passada no segundo parâmetro do bloco.

Figura 2.2 - Resultado do filtro aplicado na fonte de dados