Résoudre les conflits de synchronisation avec le serveur
Cet article fournit des informations pour vous aider à résoudre les conflits de synchronisation mobile avec le serveur.
Table des erreurs de synchronisation
En cas d’erreur de synchronisation, le système génère automatiquement une nouvelle entrée dans la table Erreur de synchronisation dans Dataverse. Cette table est structurée avec les colonnes suivantes.
Nom de la colonne | Description | Exemple |
---|---|---|
Heure de l’erreur | Heure de création de l’erreur. | 5/17/2024 7:16 AM |
Message d’erreur | Description de l’erreur. | Entity Account With Id = <RowId> Does Not Exist |
Type d’erreur | Type d’erreur, tel qu’un conflit ou un enregistrement introuvable. | Enregistrement introuvable |
Enregistrement | Enregistrement mis à jour dans l’erreur de synchronisation. | Contoso |
Propriétaire | Utilisateur qui a mis à jour l’enregistrement. | John Doe |
Action | Action appliquée à l’enregistrement à synchroniser. | Mise à jour |
Données de l’action | Json contenant la charge utile de l’action. | {« nom » : « Contoso2 »} |
Données de la requête | Json contenant la requête. | {"lastname":"Contoso2","syncerror__regardingentityid":<syncerrorId>,"entitylogicalname":"account"} |
Code d’erreur | Code de l’erreur. | -2147015424 |
Notes
Assurez-vous que le rôle attribué à l’utilisateur accorde des privilèges de lecture sur la table Erreur de synchronisation. En savoir plus : Créer ou modifier un rôle de sécurité pour gérer l’accès
Recommandation sur la façon d’utiliser la table Erreur de synchronisation
La table Erreur de synchronisation est une table Dataverse standard. Nous vous recommandons de créer une application pilotée par modèle pour gérer les erreurs de synchronisation.
Si vous exécutez l’application pilotée par modèle, vous pouvez voir les erreurs de synchronisation de chaque utilisateur. Si vous sélectionnez une ligne d’erreur de synchronisation, vous pouvez Réessayer les modifications à partir de la barre de commandes.
Erreur de synchronisation sur la page Statut de l’appareil
Les erreurs de synchronisation s’affichent de manière native sur la page Statut de l’appareil. La page État de l’appareil est disponible prête à l’emploi dans les applications pilotées par modèle, mais doit être configurée dans l’application canevas. Consultez Utilisation du modèle hors connexion et l’icône de statut hors connexion pour plus d’informations.
Utiliser un flux de cloud pour prendre des mesures en cas d’erreurs de synchronisation
Vous pouvez créer un flux de cloud automatisé dans Power Automate à l’aide du déclencheur Dataverse quand une ligne est ajoutée, modifiée ou supprimée. Le flux peut automatiquement envoyer un e-mail ou envoyer une notification sur l’appareil.
Notes
Pour récupérer l’adresse e-mail de l’utilisateur dans le flux, ajoutez l’action Dataverse Obtenir une ligne par ID à l’aide de la colonne Propriétaire de la ligne Erreur de synchronisation.
Conflit de synchronisation
En cas d’incohérences entre les données du client et du serveur, des erreurs de conflit se produisent. Par défaut, les modifications apportées par un utilisateur en mode hors connexion sont automatiquement synchronisées avec le serveur quand l’utilisateur est reconnecté.
Comment les conflits de synchronisation sont résolus
Lorsqu’un utilisateur apporte des modifications aux données dans une application hors ligne, les mises à jour de chaque colonne sont repoussées vers Dataverse dès que le réseau est disponible. La dernière mise à jour de chaque colonne est stockée dans Dataverse, cette synchronisation n’échoue donc pas en raison de modifications contradictoires.
Les plug-ins et la validation côté serveur peuvent invalider les modifications. Ces modifications sont annulées localement et une erreur est écrite dans le tableau Erreurs de synchronisation Dataverse.
Paramètres de résolution des conflits
Important
Les paramètres de résolution des conflits ne s’appliquent pas aux applications canevas.
Si les mises à jour effectuées en mode hors connexion sont rejetées trop fréquemment, envisagez de modifier le paramètre de résolution des conflits sur sa valeur par défaut.
- Connectez-vous au centre d'administration Power Platform.
- Sélectionnez Environnements dans le volet de navigation.
- Sélectionnez un environnement.
- Sélectionnez Paramètres dans la barre de commandes.
- Sélectionnez Produit > Fonctionnalités.
- Dans la section Paramètres avancés du mode hors connexion mobile pour les applications pilotées par modèle, désactivez l’option Activer la détection de conflits pour la synchronisation hors connexion mobile.
Notes
Lorsque cette option est activée (non recommandée), les mises à jour sur le serveur peuvent empêcher l’application des mises à jour du client. Les erreurs de conflit doivent être résolues manuellement.