Essa função é responsável por informar os parâmetros de busca que serão utilizados pelo bloco Filtrar dados e retorna um comparador OData.

Figura 1 - Bloco Criar Filtro
Compatibilidade
- Bloco servidor: cronapi.screen.Operations.createChart()
Retorno
Retorna uma string com expressão de comparador OData.
Ex.: marca eq 'Renault'
Características do bloco
Os parâmetros 1 e 3 devem ter tipos de dados compatíveis para comparações corretas. Por exemplo: se o parâmetro Campo for uma data, o parâmetro Valor também deve ser do tipo data.
Salvo algumas exceções, o Cronapp fará conversões de tipo quando necessário para permitir a comparação. Por exemplo, ao usar o comparador "Contém" com um tipo de dado inteiro, o Cronapp detectará que o valor não é uma string e o converterá para realizar a comparação. Portanto, a expressão "ano contém 20
", sendo o ano 2023, se tornará verdadeira, pois o inteiro é convertido em string e o valor '2023' possui a substring '20'.
O parâmetro Valor aceita blocos de lógica verdadeiro e falso, porém, seu uso só faz sentido com os comparadores Igual ou Diferente.
Parâmetros
Campo
Local destinado a informar o atributo da fonte de dados que será filtrado.
- Posição: 1
- Inglês: Field
- Tipo: Texto / String
- Exemplo: Fonte de dados proveniente de uma classe.
Operador
Define o operador de comparação do filtro.
- Posição: 2
- Inglês: Operator
- Tipo: Texto / String
- Exemplo: "Igual"
- Opções:
Igual: testa se um campo é igual a um valor constante.
Diferente: testa se um campo é diferente de um valor constante.
Maior que: testa se um campo é maior que um valor constante.
Menor que: testa se um campo é menor que um valor constante.
Maior ou igual a: testa se um campo é superior ou igual a um valor constante.
Menor ou igual a: testa se um campo é inferior ou igual a um valor constante.
Contém: testa se um campo contém um elemento específico de um valor constante. Não funciona para o tipo de dado Data.
Valor
Informa o valor que será comparado com o conteúdo do parâmetro 1.
- Posição: 3
- Inglês: Value to filter
- Tipo: Texto / String
- Exemplo: podemos utilizar o bloco Obter valor do campo
Exemplo 1
A função abaixo utiliza o bloco de programação Filtrar dados para realizar uma filtragem a partir da marca do carro. O bloco Criar Filtro está retornando a expressão: marca eq 'Renault'
.

Figura 2 - Bloco de programação Criar Filtro criando um filtro simples
A fonte de dados utilizada nesse exemplo contém vários dados de carros, na Figura 2.1 podemos visualizar a Grade dessa fonte de dados antes de ser filtrada.

Figura 2.1 - Dados antes da filtragem
Após a filtragem, observe que apenas três registros são exibidos de acordo com o filtro criado.

Figura 2.2 - Dados depois da filtragem
Exemplo 2
Também é possível utilizar o bloco Criar Filtro para selecionar registros da fonte de dados a partir de dados do tipo data. O bloco Criar Filtro está retornando a expressão: dataCompra ge '16/09/2023'
.

Figura 3 - Bloco de programação Criar Filtro criando um filtro de data
Após a filtragem, perceba que somente valores com data menor que o conteúdo informado no campo Valor são apresentadas. Este tipo de dado funciona com todas as opções do parâmetro Operador, com exceção do parâmetro Contém.

Figura 3.1 - Dados depois da filtragem por data