Partilhar via


Resolver conflitos de sincronização com o servidor

Este artigo fornece informações para ajudá-lo a resolver conflitos de sincronização móvel com o servidor.

Tabela Erro de Sincronização

Na eventualidade de um erro de sincronização, o sistema gera automaticamente uma nova entrada na tabela Erro de Sincronização no Dataverse. Esta tabela está estruturada com as seguintes colunas.

Nome da coluna Descrição Exemplo
Hora do Erro Hora em que erro foi criado. 17/5/2024 7h16
Mensagem de Erro Descrição do erro. Entity Account With Id = <RowId> Does Not Exist
Tipo de Erro Tipo de erro, como um erro de conflito ou registo não encontrado. Registo não encontrado
Registo Registo atualizado em erro de sincronização. Contoso
Proprietário Utilizador que atualizou o registo. John Doe
Ação Ação aplicada ao registo a sincronizar. Atualizar
Dados da Ação Json que contém o payload da ação. {"apelido":"Contoso2"}
Pedir Dados Json que contém a consulta. {"lastname":"Contoso2","syncerror__regardingentityid":<syncerrorId>,"entitylogicalname":"account"}
Código de Erro Código do erro. -2147015424

Nota

Certifique-se de que a função atribuída ao utilizador concede privilégios de leitura na tabela Erro de Sincronização. Mais informações: Criar ou editar um direito de acesso para gerir o acesso

Recomendação sobre como utilizar a tabela Erro de Sincronização

A tabela Erro de Sincronização é uma tabela padrão do Dataverse. Recomendamos que crie uma aplicação condicionada por modelo para gerir os erros de sincronização.

Se executar a aplicação condicionada por modelo, poderá ver os erros de sincronização de cada utilizador. Se selecionar uma linha de erro de sincronização, pode Tentar novamente as alterações a partir da barra de comandos.

Erro de sincronização na página Estado do dispositivo

Os erros de sincronização aparecem nativamente na página Estado do dispositivo. A página Status do dispositivo está disponível imediatamente em aplicativos controlados por modelo, mas deve ser configurada no aplicativo de tela. Consulte Utilizar o modelo Offline e o ícone de estado offline para mais informações.

Utilizar um fluxo de cloud para efetuar ações em erros de sincronização

Pode criar um fluxo de cloud automatizado no Power Automate utilizando o acionador do Dataverse quando uma linha é adicionada, modificada ou eliminada. O fluxo pode enviar um e-mail automaticamente ou enviar uma notificação no dispositivo.

Nota

Para obter o endereço de e-mail do utilizador dentro do fluxo, adicione a ação Obter uma linha por ID do Dataverse utilizando a coluna Proprietário da linha Erro de Sincronização.

Conflito de sincronização

Quando não existe uma correspondência de dados entre o cliente e o servidor, ocorrem erros de conflito. Por padrão, as alterações feitas por um usuário no modo offline são sincronizadas automaticamente com o servidor quando o usuário está online novamente.

Como os conflitos de sincronização são resolvidos

Quando um utilizador faz alterações aos dados numa aplicação offline, as atualizações de cada coluna são enviadas de volta para o Dataverse assim que a rede estiver disponível. A última atualização a cada coluna é armazenada no Dataverse, pelo que esta sincronização não falha devido a alterações conflituantes.

Os plug-ins e a validação do lado do servidor podem invalidar as alterações. Estas alterações são revertidas localmente e é gravado um erro na tabela Erros de sincronização do Dataverse.

Definição de resolução de conflitos

Importante

As definições de resolução de conflitos não se aplicam a aplicações de tela.

Se as atualizações efetuadas enquanto offline estiverem a ser rejeitadas com demasiada frequência, considere alterar a definição de resolução de conflitos para o valor predefinido.

  1. Inicie sessão no centro de administração do Power Platform.
  2. Selecione Ambientes no painel de navegação.
  3. Selecione um ambiente
  4. Selecione Definições na barra de comando.
  5. Selecione Produto > Funcionalidades.
  6. Na secção Definições avançadas do Mobile Offline para aplicações condicionadas por modelo, desative a opção Ativar a deteção de conflitos para a sincronização do Mobile Offline.

Nota

Quando esta opção está ativada (não recomendado), as atualizações no servidor podem impedir que as atualizações do cliente sejam aplicadas. Os erros de conflito têm de ser resolvidos manualmente.