Power Platform

Dataverse em tempo real em Canvas Apps offline no campo

Luiz Antonio Sgargeta
Sócio fundador e CEO da Trinapse, IA aplicada, Microsoft 365 e Power Platform
· 10 min de leitura
Dataverse em tempo real em Canvas Apps offline

O que você vai configurar quando o sinal falha no talhão

Este tutorial mostra como configurar Dataverse em tempo real em Canvas Apps offline para operações de campo sem conexão estável, o cenário típico de inspeção de safra, vistoria de maquinário em usina ou checagem de silo. Ao final, você terá um app que grava dados críticos localmente quando não há sinal e sincroniza automaticamente assim que o dispositivo volta a se conectar, enquanto mantém dados de referência voláteis, como preço de commodity ou disponibilidade de agrônomo, atualizados em tempo real quando a conexão existe.

O modelo até agora era binário. Um app de Canvas Apps configurado como offline tratava tudo pelo cache local, mesmo quando o técnico estava com 4G funcionando dentro da sede da cooperativa. A atualização de Power Platform de julho e agosto de 2026 muda isso: agora é possível misturar, na mesma tela, tabelas com sincronização em tempo real e tabelas com cache offline-first, escolhidas por finalidade de negócio, não por limitação técnica do app inteiro.

Isso importa especialmente para quem opera no agronegócio. Um técnico inspecionando um talhão a 40 km da sede não tem sinal estável, mas o preço da soja no dia da colheita muda, e o status de disponibilidade de um agrônomo para retorno urgente também muda. Antes, ou tudo ficava defasado até a próxima sincronização manual, ou o app inteiro dependia de conexão para funcionar. Agora dá para separar os dois comportamentos dentro do mesmo aplicativo.

Pré-requisitos antes de tocar no perfil de sincronização

  • Licenciamento: Power Apps per app ou per user plan com acesso ao conector premium de Dataverse. Apps que usam apenas SharePoint ou Excel como fonte não se beneficiam deste recurso, ele é específico de tabelas Dataverse.
  • Ambiente: ambiente Dataverse dedicado, de preferência Managed Environment. Ambientes do tipo Teams (Dataverse for Teams) não expõem o novo controle de sincronização por tabela.
  • Papel no tenant: System Administrator ou System Customizer no ambiente para configurar o perfil de sincronização móvel e habilitar sincronização offline por tabela. O App Maker configura o app em si, mas não altera perfis de sincronização sem um desses dois papéis.
  • Dispositivo de teste: Power Apps mobile app atualizado em Android ou iOS. O cache offline completo não funciona no navegador nem no Power Apps para desktop, apenas no app móvel nativo.
  • Recurso em versão prévia: confirme antes de qualquer coisa se a funcionalidade está habilitada na sua região. Acesse o Power Platform admin center, selecione o ambiente, entre em Configurações > Funcionalidades > Recursos em versão prévia e procure por acesso Dataverse em tempo real em apps offline. Se não aparecer, o rollout ainda não chegou à sua região.
  • Modelagem prévia: tabelas Dataverse já criadas para o cenário. No exemplo deste tutorial: Inspeções de Talhão, Safra, Ocorrência de Praga (cache local, preenchidas em campo) e Preço de Commodity (tempo real, consultada, não editada em campo).
Este recurso está em preview no momento da atualização de julho e agosto de 2026. Nem todo tenant e nem toda região tem disponibilidade no lançamento. Confirme no Power Platform admin center e no Centro de mensagens antes de prometer prazo a um cliente ou incluir a funcionalidade num escopo fechado de projeto.

Sequência de cinco passos para configurar Dataverse em tempo real em Canvas Apps offline, do ambiente ao teste em campo

Passo a passo: do ambiente ao dispositivo do técnico

Passo 1. Habilitar o recurso em versão prévia no ambiente

No Power Platform admin center, abra o ambiente Dataverse onde vive o app, vá em Configurações > Funcionalidades > Recursos em versão prévia e ative o acesso Dataverse em tempo real para apps offline. Esse toggle é por ambiente, não por app nem por tenant inteiro, o que significa que você pode testar em um ambiente de desenvolvimento antes de habilitar em produção. É exatamente isso que recomendamos: valide o comportamento num ambiente sandbox usando dados de um talhão fictício antes de tocar no ambiente onde os técnicos já trabalham.

Passo 2. Configurar o perfil de sincronização móvel no Dataverse

Com o recurso habilitado, vá até a definição das tabelas que vão ao dispositivo. Em cada tabela usada offline, confirme que a opção Habilitar sincronização offline para dispositivos móveis está marcada. Depois, crie ou edite um perfil de sincronização móvel específico para o time de campo, definindo filtros de linha. Isso é decisivo em operação agrícola: sem um filtro bem dimensionado, o dispositivo do técnico tenta baixar o histórico completo de inspeções da cooperativa inteira, o que trava o app e consome dados móveis desnecessariamente.

Um filtro razoável para Inspeções de Talhão seria trazer apenas registros do usuário atual, dos últimos 90 dias, e vinculados às safras ativas. Para Preço de Commodity, que será tratada em tempo real e não em cache, esse filtro nem se aplica, ela não vai para o armazenamento local do dispositivo.

Passo 3. Ativar o modo offline no Canvas App

No Power Apps Studio, abra o app, vá em Configurações do app > Geral e ative o toggle Offline. Conecte as fontes de dados Dataverse normalmente pelo painel de dados. Até este ponto, o comportamento é o mesmo de qualquer app offline-first já existente: tudo que for marcado como offline vai para o cache local do dispositivo.

Passo 4. Definir tempo real versus cache por tabela

Este é o passo novo. Em Configurações do app > Avançado > Dados, cada tabela conectada agora exibe um seletor de modo de sincronização com duas opções: Cache local (offline-first) e Tempo real (somente quando conectado). Marque Inspeções de Talhão, Ocorrência de Praga e Safra como cache local, porque são os dados que o técnico precisa criar e editar mesmo sem sinal nenhum. Marque Preço de Commodity como tempo real, porque é um dado que muda ao longo do dia e não faz sentido o técnico decidir alguma coisa com base num preço de três dias atrás só porque ficou em cache.

O racional de negócio por trás dessa divisão é simples: cache local para tudo que é produção de dado em campo, tempo real para tudo que é consulta de referência que perde valor rápido. Confundir os dois é o erro mais comum nessa configuração, e volta no tópico de erros comuns mais abaixo.

Passo 5. Sinalizar o estado da conexão na interface

Use a propriedade Connection.Connected para avisar o usuário quando os dados de tempo real estão realmente atualizados ou vindo de uma última leitura em cache de sessão. Isso evita que o técnico tome decisão de campo achando que o preço exibido é do minuto atual quando, na verdade, o dispositivo está sem sinal há vinte minutos.

If(
    Connection.Connected,
    Notify(
        "Conectado - preço de commodity atualizado em tempo real",
        NotificationType.Success
    ),
    Notify(
        "Sem conexão - exibindo o último preço sincronizado",
        NotificationType.Warning
    )
)

Coloque essa fórmula no OnVisible da tela que exibe o preço de commodity, ou vincule diretamente a propriedade Visible de um ícone de status a Connection.Connected, para o indicador atualizar em tempo real conforme o técnico entra e sai de área de cobertura.

Passo 6. Gravar dados de campo com Patch, mesmo sem conexão

O formulário de inspeção continua usando Patch normalmente. A diferença é que, com a tabela marcada como cache local no passo 4, o Canvas Apps enfileira a gravação no armazenamento do dispositivo quando não há conexão, e sincroniza essa fila automaticamente com o Dataverse assim que a conectividade volta. Não é preciso escrever lógica própria de fila, o runtime do app cuida disso.

Patch(
    'Inspeções de Talhão',
    Defaults('Inspeções de Talhão'),
    {
        Talhao: varTalhaoSelecionado,
        DataInspecao: Today(),
        StatusPraga: varStatusPraga,
        Observacao: TextInputObservacao.Text,
        Latitude: Location.Latitude,
        Longitude: Location.Longitude
    }
)

Note que o Patch é idêntico ao que você já escreveria num app sem esse recurso. A mudança não está na fórmula, está na configuração da tabela feita no passo 4. Isso é bom para quem já tem apps offline em produção: adicionar a tabela de preço em tempo real não exige reescrever as telas de gravação de inspeção.

Passo 7. Publicar e testar em condição real de campo

Publique o app e abra-o no Power Apps mobile app instalado no celular ou tablet do técnico. Ative o modo avião, preencha uma inspeção completa de talhão, tire uma foto de evidência de praga e salve. Em seguida, desative o modo avião e observe a sincronização acontecer em segundo plano, sem precisar reabrir o app.

Como validar que a sincronização em tempo real está funcionando

Com o app funcionando corretamente, você deve observar três coisas concretas:

  • No dispositivo, ao ativar o modo avião, a tela de Preço de Commodity mostra o indicador de "sem conexão" configurado no passo 5, enquanto a tela de Inspeção de Talhão continua permitindo criar e editar registros normalmente.
  • Ao reconectar, o registro criado offline aparece no Dataverse com o campo de data de criação correspondente ao momento em que foi salvo no dispositivo, não ao momento da sincronização. Isso é auditável e importa para rastreabilidade de inspeção agrícola.
  • No Power Platform admin center, em Ambientes > Monitor > Status de sincronização móvel offline, o registro do dispositivo do técnico mostra a fila de sincronização zerada após a reconexão, confirmando que não ficaram registros pendentes.

Se o preço de commodity muda no meio do dia e o técnico, ainda conectado, reabre a tela, o valor exibido deve refletir a mudança sem exigir sincronização manual nem reinício do app. Esse é o comportamento de tempo real que diferencia essa tabela das demais.

Erros comuns e o que realmente está acontecendo

Mensagem ou sintoma

Causa provável

"Este recurso não está disponível neste ambiente"

O toggle de preview não foi habilitado no ambiente, ou o ambiente é do tipo Dataverse for Teams, que não suporta o novo modo de sincronização por tabela.

App trava ou demora minutos para carregar o cache inicial

Filtro do perfil de sincronização móvel mal dimensionado, trazendo histórico completo de inspeções em vez de apenas os registros recentes e relevantes ao usuário.

"Foi feita uma alteração conflitante neste registro"

Dois técnicos editaram a mesma inspeção offline, cada um no próprio dispositivo, e ambos sincronizaram depois. É esperado em operação de campo com equipe grande, trate com regra de concorrência baseada no campo modifiedon.

Tabela não aparece no seletor de tempo real dentro do app

A tabela não tem a opção "Habilitar sincronização offline para dispositivos móveis" marcada na definição em Dataverse, condição necessária mesmo para tabelas que serão tratadas como tempo real.

Preço de commodity continua defasado mesmo com sinal bom

A tabela foi marcada como cache local no passo 4 por engano, em vez de tempo real. Revise a configuração em Configurações do app > Avançado > Dados.

A armadilha da disponibilidade regional

Vale repetir porque é o ponto onde consultorias e times internos mais se queimam com cliente: este recurso chegou como preview na atualização de julho e agosto de 2026, e o rollout de recursos do Power Platform historicamente é escalonado por região do Azure e por tipo de licenciamento do tenant. Antes de incluir "Dataverse em tempo real offline" numa proposta comercial, num cronograma de implantação ou numa promessa verbal a um gerente de cooperativa, confirme a disponibilidade real no ambiente de destino, não apenas num ambiente de testes que por acaso já recebeu o rollout.

A forma correta de confirmar é checar o toggle em Configurações > Funcionalidades > Recursos em versão prévia diretamente no ambiente de produção do cliente, e cruzar com o Centro de mensagens do Microsoft 365 admin center, que normalmente traz o cronograma de disponibilização por região antes do recurso aparecer no admin center do ambiente.

Fechando o ciclo

Separar cache local de leitura em tempo real dentro do mesmo Canvas App resolve um problema real de quem opera no agronegócio: dado de produção não pode esperar sinal, e dado de referência não pode ficar defasado quando o sinal existe. Se sua operação já tem apps de inspeção rodando em modo offline puro, vale revisar quais tabelas hoje ficam presas ao cache sem necessidade e poderiam se beneficiar do modo tempo real assim que o recurso estiver confirmado na sua região. É esse tipo de ajuste fino de arquitetura que costuma render mais retorno do que construir um app novo do zero.

Luiz Antonio Sgargeta
Sócio fundador e CEO da Trinapse, IA aplicada, Microsoft 365 e Power Platform

Luiz Antonio Sgargeta é sócio fundador e CEO da Trinapse, consultoria brasileira de Microsoft 365 com quase duas décadas de operação, acumula mais de 20 anos em desenvolvimento de software e em ambientes corporativos de alta complexidade.

Trabalha com SharePoint desde o SharePoint Portal Server 2003 e com .NET desde a versão 1.0. Acompanhou a plataforma em todas as suas reinvenções, do portal de documentos on-premises ao SharePoint Online dentro do Microsoft 365, o que dá a ele uma leitura rara sobre o que muda de verdade e o que é apenas nome novo para o mesmo problema.

No início da carreira atuou em uma das maiores operações de e-commerce do país, em sistemas que não toleram degradação de performance nem indisponibilidade, essa origem definiu o critério que ele aplica até hoje: solução boa é a que sustenta volume real, integra com o legado que já existe e não quebra no pico.

Depois disso, passou por praticamente todo tipo de projeto corporativo, de portais e intranets de milhares de usuários a integrações críticas e automação de processos de ponta a ponta, sempre em grandes empresas e em desafios de alta exigência.

A marca do trabalho dele é a tradução entre tecnologia e negócio, levanta a necessidade real por trás do pedido do cliente, questiona o processo antes de automatizá-lo e desenha a solução pelo resultado esperado, não pela ferramenta disponível, é o que permite conversar com a diretoria sobre retorno e com o time técnico sobre arquitetura na mesma reunião.

Hoje lidera a frente comercial e estratégica da Trinapse e conduz a empresa no novo ciclo da inteligência artificial, com foco em agentes de IA e operação de processos assistida por IA para cooperativas de crédito, agronegócio e indústria. Escreve no blog da Trinapse desde 2019, com mais de 450 artigos sobre IA, SharePoint, Power Platform, Modern Workplace e transformação de processos, sempre a partir de projeto entregue e não de teoria.

LinkedIn
Compartilhar:

Precisa aplicar isso na sua empresa? Fale com nossos especialistas.

Falar com um especialista