Resolver conflictos de sincronización con el servidor
Este artículo proporciona información para ayudarle a resolver conflictos de sincronización móvil con el servidor.
Tabla de errores de sincronización
En caso de un error de sincronización, el sistema genera automáticamente una nueva entrada en la tabla Error de sincronización dentro de Dataverse. Esta tabla se estructura con las siguientes columnas.
Nombre de la columna | Description | Ejemplo |
---|---|---|
Hora del error | Hora en la que se creó el error. | 5/17/2024 7:16 AM |
Mensaje de error | Descripción del error. | Entity Account With Id = <RowId> Does Not Exist |
Tipo de error | Tipo de error, como un conflicto o un error de registro no encontrado. | No se encuentra el registro |
Grabar | Registro actualizado en el error de sincronización. | Contoso |
Propietario | Usuario que actualizó el registro. | John Doe |
Action | Acción aplicada al registro para sincronizar. | Update |
Datos de acción | Json que contiene la carga útil de la acción. | {"apellido": "Contoso2"} |
Datos de solicitud | Json que contiene la consulta. | {"lastname":"Contoso2","syncerror__regardingentityid":<syncerrorId>,"entitylogicalname":"account"} |
Código de error | Código de error. | -2147015424 |
Nota
Asegúrese de que el rol asignado al usuario otorgue privilegios de lectura en la tabla de Error de sincronización. Más información: Crear o editar un rol de seguridad para administrar el acceso
Recomendación sobre cómo utilizar la tabla de Error de sincronización
La tabla de Error de sincronización es una tabla estándar de Dataverse. Recomendamos que cree una aplicación basada en modelos para administrar errores de sincronización.
Si ejecuta la aplicación impulsada por modelos, puede ver los errores de sincronización de cada usuario. Si selecciona una fila de error de sincronización, puede Reintentar cambios desde la barra de comandos.
Error de sincronización en la página de estado del dispositivo
Los errores de sincronización aparecen de forma nativa en la página de Estado del dispositivo. La página Estado del dispositivo está disponible de fábrica en las aplicaciones basadas en modelos , pero debe configurarse en la aplicación de lienzo. Consulte Uso de la plantilla sin conexión y el icono de estado sin conexión para obtener más información.
Utilice un flujo de nube para tomar medidas ante errores de sincronización
Puede crear un flujo de nube automatizado en Power Automate usando el desencadenador de Dataversecuando se agrega, modifica o elimina una fila. El flujo puede automáticamente enviar un correo electrónico o enviar una notificación en el dispositivo.
Nota
Para recuperar la dirección de correo electrónico del usuario dentro del flujo, agregue la acción sw Dataverse Obtener una fila por Id. usando la columna Propietario de la fila Error de sincronización.
Conflicto de sincronización
Cuando no coinciden datos entre el cliente y el servidor, aparecen los errores de conflicto. De forma predeterminada, los cambios que realiza un usuario en modo fuera de línea se sincronizan automáticamente con el servidor cuando el usuario vuelve a estar en línea.
Cómo se resuelven los conflictos de sincronización
Cuando un usuario realiza cambios en los datos en una aplicación fuera de línea, las actualizaciones de cada columna se devuelven a Dataverse tan pronto como la red esté disponible. La última actualización de cada columna se almacena en Dataverse, por lo que esta sincronización no fallará debido a cambios contradictorios.
Los complementos y la validación del lado del servidor pueden invalidar los cambios. Esos cambios se revierten localmente y se escribe un error en la tabla de Dataverse Errores de sincronización.
Configuración de resolución de conflictos
Importante
La configuración de resolución de conflictos no se aplica a las aplicaciones de lienzo.
Si las actualizaciones realizadas sin conexión se rechazan con demasiada frecuencia, considere cambiar la configuración de resolución de conflictos a su valor predeterminado.
- Inicie sesión en el Centro de administración de Power Platform.
- En el panel de navegación, seleccione Entornos.
- Seleccione un entorno.
- Seleccione Configuración en la barra de comandos.
- Seleccione Producto > Características.
- En la sección Configuración móvil sin conexión avanzada para aplicaciones basadas en modelos, desactive la opción Habilitar detección de conflictos para la sincronización móvil sin conexión.
Nota
Cuando esta opción está activada (no recomendada), las actualizaciones en el servidor pueden impedir que se apliquen las actualizaciones del cliente. Los errores de conflicto deben resolverse manualmente.