Risolvere i conflitti di sincronizzazione con il server
Questo articolo fornisce informazioni utili per risolvere i conflitti di sincronizzazione mobile con il server.
Tabella degli errori di sincronizzazione
In caso di errore di sincronizzazione, il sistema genera automaticamente una nuova voce nella tabella Errore di sincronizzazione all'interno di Dataverse. Questa tabella è strutturata con le seguenti colonne.
Nome colonna | Descrzione | Esempio |
---|---|---|
Ora errore | Ora di creazione dell'errore. | 17/05/2024 7:16 |
Messaggio di errore | Descrizione dell'errore. | Entity Account With Id = <RowId> Does Not Exist |
Tipo di errore | Tipo di errore, ad esempio un conflitto o un errore di record non trovato. | Record non trovato |
Registra | Record aggiornato nell'errore di sincronizzazione. | Contoso |
Proprietario | Utente che ha aggiornato il record. | John Doe |
Azione | Azione applicata al record da sincronizzare. | Update |
Dati azione | Json contenente il payload dell'azione. | {"lastname":"Contoso2"} |
Richiedi dati | Json contenente la query. | {"lastname":"Contoso2","syncerror__regardingentityid":<syncerrorId>,"entitylogicalname":"account"} |
Codice errore | Codice errore. | -2147015424 |
Nota
Assicurati che il ruolo assegnato all'utente conceda i privilegi di lettura sulla tabella Errore di sincronizzazione. Altre informazioni: Creare o modificare un ruolo di sicurezza per gestire l'accesso
Raccomandazione su come utilizzare la tabella degli errori di sincronizzazione
La tabella Errore di sincronizzazione è una tabella Dataverse standard. Ti consigliamo di creare un'app basata su modello per gestire gli errori di sincronizzazione.
Se esegui l'app basata su modello, puoi visualizzare gli errori di sincronizzazione di ciascun utente. Se selezioni una riga di errore di sincronizzazione, puoi riprovare le modifiche dalla barra dei comandi.
Errore di sincronizzazione nella pagina Stato del dispositivo
Gli errori di sincronizzazione vengono visualizzati in modo nativo nella pagina Stato del dispositivo. La pagina Stato dispositivo è disponibile pronta all'uso nelle app basate su modello, ma deve essere configurata nell'app canvas. Vedi Utilizzo del modello offline e dell'icona di stato offline per ulteriori informazioni.
Utilizza un flusso cloud per intraprendere azioni sugli errori di sincronizzazione
È possibile creare un flusso cloud automatizzato in Power Automate usando il trigger Dataverse quando viene aggiunta, modificata o eliminata una riga. Il flusso può inviare automaticamente un'e-mail o inviare una notifica sul dispositivo.
Nota
Per recuperare l'indirizzo email dell'utente all'interno del flusso, aggiungi l'azione Dataverse Ottieni una riga per ID utilizzando la colonna Proprietario della riga Errore di sincronizzazione.
Conflitto di sincronizzazione
In caso di mancata corrispondenza dei dati tra il client e il server, si verificano errori di conflitto. Per impostazione predefinita, le modifiche apportate da un utente in modalità offline vengono automaticamente sincronizzate sul server quando l'utente torna online.
Come vengono risolti i conflitti di sincronizzazione
Quando un utente apporta modifiche ai dati in un'app offline, gli aggiornamenti a ciascuna colonna vengono rinviati a Dataverse non appena la rete sarà disponibile. L'ultimo aggiornamento di ciascuna colonna viene archiviato in Dataverse, quindi questa sincronizzazione non fallirà a causa di modifiche contrastanti.
I plug-in e la convalida lato server possono invalidare le modifiche. Tali modifiche vengono annullate localmente e viene scritto un errore nella tabella Errori di sincronizzazione di Dataverse.
Impostazioni di risoluzione dei conflitti
Importante
Le impostazioni di risoluzione dei conflitti non si applicano alle app canvas.
Se gli aggiornamenti effettuati offline vengono rifiutati troppo spesso, valuta la possibilità di modificare l'impostazione di risoluzione dei conflitti riportandola al valore predefinito.
- Accedi all'interfaccia di amministrazione di Power Platform.
- Nel riquadro di spostamento seleziona Ambienti.
- Seleziona un ambiente.
- Seleziona Impostazioni nella barra dei comandi.
- Seleziona Prodotto > Funzionalità.
- Nella sezione Impostazioni Mobile Offline avanzate per app basate su modello, disattiva l'opzione Abilita rilevamento conflitti per la sincronizzazione Mobile Offline.
Nota
Quando questa opzione è attivata (non consigliata), gli aggiornamenti sul server potrebbero impedire l'applicazione degli aggiornamenti del client. Gli errori relativi ai conflitti devono essere risolti manualmente.