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 cliente: cronapi.screen.createFilter()
Retorno
Retorna uma string com expressão de comparador OData.
Ex.: banda eq 'Pink Floyd'
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: Filter or List of filters
- 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árias características de carros, na figura 2.1 podemos ver a Grade dessa fonte de dados antes de ela ser filtrada.
Figura 2.1 - Dados antes da filtragem
Após a filtragem, perceba que somente cinco registros são exibidos.
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 igual ou superior ao 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