Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Esse bloco permite obter os registros de uma Fonte de dados dos tipos Classe ou Entidade (servidor) e carregá-los no cache da aplicação móvel, aumentando a quantidade de registros ou atualizando os registros já existentes localmente. Sendo muito útil para carregar e manter os registros que serão manipulados enquanto estiver offline.

Para funcionar, é necessário que o componente visual fonte de dados (cliente) esteja com a propriedade Suporte a dados offline marcada com a opção "Sim" e vinculada com a Fonte de dados (servidor) selecionada (veja mais detalhes no tópico "Suporte a dados offline (mobile)" na documentação Fonte de dados).


Figura 1 - Bloco Preencher cache da Fonte de Dados


O conteúdo em cache pode ser obtido através de paginação na tela que possui o componente fonte de dados configurado e, a cada nova requisição, mais registros são adicionados no cache local. O bloco Preencher cache da Fonte de Dados pode ser utilizado para obter todos os registros aceitos pelo filtro da Fonte de dados ou realizar um segundo filtro, em cima dos registros que já são aceitos pela Fonte de dados. O diagrama abaixo representa essa estrutura.


Figura 1.1 - Diagrama de Venn representando o universo em que o bloco atua

Compatibilidade

  • Bloco cliente (mobile): cronapi.util.fillDatasource()

Retorno

Bloco sem retorno.

Parâmetros

Os parâmetros deste bloco são incluídos a partir dos filtros criados (destaque 2 da figura 2).

Característica do bloco

O bloco possui um botão engrenagem que abre uma janela parecida com o Assistente JPQL e SQL, porém, após a configuração ele irá montar uma expressão OData em cima das query strings $filter e $orderby.

Essa janela não permite definir os atributos dos objetos, a Fonte de dados seleciona é quem define automaticamente quais os atributos serão obtidos. 


Figura 2 - Janela de configuração do bloco


  1. Entidade: permite selecionar apenas uma Fonte de dados dos tipos Classe ou Entidade.
    1. "...": abre a janela de seleção da Fonte de dados.
  2. Filtro: permite incluir uma ou mais regras utilizando o condicional E (AND). As regras são aplicadas em cima dos campos da Fonte de dados selecionada.
    1. valor: esse campo pode ser utilizado para informar exatamente o valor a ser passado na regra ou definir uma parâmetro para ser alimentado pelo bloco de programação (destaque 3 da figura 2). Para criar uma variável, basta informar o caractere dois pontos ":" e informar o nome da variável. Ex.: :minhaVar
  3. Parâmetro do bloco: parâmetro criado a partir do campo valor (destaque 2a da figura 2).
  4. Ordenar: permite incluir uma ou mais regras de ordenação. As regras são aplicadas em cima dos campos da Fonte de dados selecionada.
  5. Testar Consulta: executa a fonte de dados selecionada. Caso existam regras com parâmetros, uma pequena janela será exibira para informar os valores antes da consulta.
  6. Editar como Texto: permite editar a expressão OData gerada. Uma vez editado, não será possível retornar retornar ao modo low-code.
  7. Visualizar como Texto: permite visualizar a expressão OData gerada (Figura 2.1).


Figura 2.1 - expressão OData gerado a partir da configuração da figura 2

Exemplo

<Descrever um exemplo de uso desse bloco. Utilizar um exemplo simples e real. Mostrar a figura do bloco configurado e o resultado obtido, quando existir>

<Mostrar o bloco configurado>

Para demonstrar o uso do bloco, vamos criar uma Fonte de dados e depois habilitar o recurso de suporte a dados offline. 

Neste exemplo estamos utilizando uma classe chamada "LetraAleatoria", contendo 1 identificado e 2 outros campos: numero, campo inteiro que possui números em sequência e únicos, e letra, campo de texto que possui uma letra do alfabeto, escolhida randomicamente.

A figura 3 apresenta como a Fonte de dados do tipo Entidade foi configurada, uma consulta simples contendo um filtro, passado diretamente na consulta, que retorna todos os registros que possuem letra "A" em ordem decrescente a partir do campo numero.


Image Added

Figura 3 - Consulta da Fonte de dados


Para simplificar os passos, vamos gerar uma página CRUD utilizando a própria Fonte de dados. Acesse o menu de contexto da Fonte de dados na árvore de recursos e selecione Ação > Criar visão para a entidade (Figura 3.1). Esse procedimento irá abrir a janela do Assistente de View, selecione o modelo Formulário CRUD Mobile, informe o nome da tela e um local na aplicação mobile, avance até finalizar.


Image Added

Figura 3.1 - Criação do formulário a partir da Fonte de dados



Após abrir a tela gerada com o Editor de Views, selecionamos o componente visual fonte de dados (destaque 1 da figura 3.2) para alterar suas propriedade. Primeiro, definimos com "2" a propriedade Linhas por página (destaque 2 da figura 3.1), isso garantirá que, enquanto a lista não preencher toda a tela do smartphone ou sempre que for deslizado para cima, uma nova requisição de 2 registros será feita para exibição. Em seguida, basta habilitar a propriedade Suporte a dados offline (3), responsável por criar o cache local dessa Fonte de dados.

Apenas para exibir a quantidade de registros obtidos pela fonte de dados naquele momento, incluímos um componente parágrafo (destaque 4 da figura 3.2). Esse componente é atualizado por um bloco de programação que é chamado pelo evento Após preencher do componente visual fonte de dados.


Image Added

Figura 3.2 - Criação do formulário a partir da Fonte de dados


O próximo passo será a criação da função cliente mobile que executará o bloco Preencher cache da Fonte de dados. Após abrir a janela Configurar Bloco de programação, selecionamos a Fonte de dados (destaque 1 da figura 3.3) e, em seguida, adicionamos 2 regras que serão alimentadas nos parâmetros do bloco. Nessa configuração, o bloco irá obter e salvar em cache todos os registros que possuem a letra "A" no campo letra e que o campo numero seja menor que 50 (destaques 2 da figura 3.3).

Importante lembrar que, como a Fonte de dados selecionada (1) já filtra os registros que possui a letra "A" (figura 3), não seria possível obter registros que possuem outras letras utilizando o bloco Preencher cache da Fonte de dados.


Image Added

Figura 3.2 - Criação do formulário a partir da Fonte de dadosFigura 2.1 - <Descrição da figura>


Nesta página

Índice