¿Cómo combinar cambios de dos usuarios en una aplicación de campo sin conexión?
Cuando dos personas modifican el mismo registro en una aplicación de campo sin conexión, la regla «gana la última escritura» no sirve para todas las tareas. Considere la versión del registro,…
¿Qué contiene este artículo?
Respuesta breve
Cuando dos personas modifican el mismo registro en una aplicación de campo sin conexión, la regla «gana la última escritura» no sirve para todas las tareas. Considere la versión del registro, los campos modificados y la importancia de la operación. Muestre los conflictos pendientes al usuario o al equipo operativo autorizado, en vez de ocultar pérdidas de datos tras un mensaje de éxito.
La combinación técnica y las decisiones de negocio son distintas
Cambiar notas diferentes no equivale a modificar la misma cantidad de existencias. Texto libre, estados, inventario y aprobaciones necesitan reglas propias. Registre última versión conocida y campos cambiados por cada usuario. Reenviar todo el registro sobrescribiendo campos antiguos puede perder datos.
Una orden puede cerrarse mientras otro dispositivo edita su versión antigua sin conexión. El servidor no debe aceptar la acción solo porque llegue después. Compruebe estado actual y permisos. La hora del dispositivo no ordena operaciones de forma fiable; distinga creación local y aceptación del servidor.
Mostrar tres estados al usuario
Guardado localmente, transferido al servidor y pendiente de resolución son estados diferentes. Sin conexión, “registro completado” puede interpretarse como aprobación de todo el trabajo. Explique almacenamiento y paso pendiente. Ante conflictos, muestre campos relevantes de ambas versiones y responsable.
Que Firestore admita acceso sin conexión no significa que resuelva correctamente los conflictos de negocio automáticamente. Compare la sincronización documentada con reglas de inventario, aprobación y órdenes. Relacione también colas de archivos y registros; defina el estado cuando falte una fotografía.
Una prueba repetible con dos dispositivos
Abra el mismo registro en dos dispositivos y desconéctelos. Cambie el estado del trabajo en uno y la descripción en el otro; después, vuelva a conectarlos en orden inverso. Pruebe también cambios en el mismo campo, trabajos cancelados y usuarios cuyos permisos se hayan retirado. Debe verse qué versión se aceptó y por qué, no solo que terminó la sincronización. Devuelva los registros sin resolver a la cola de procesamiento.
Lista de verificación de implementación
- ¿Cada campo crítico tiene una regla de conflicto?
- ¿Se envía la versión del registro?
- ¿Se distinguen guardado local y aceptación del servidor?
- ¿Se comprueban permisos y estado actual?
- ¿Existe una prueba con dos dispositivos y reconexión en orden inverso?
Preguntas frecuentes
¿Basta con que gane la última escritura?
Puede elegirse para notas; inventario y aprobaciones necesitan evaluación separada.
¿La hora del dispositivo demuestra el orden?
No por sí sola. Relojes incorrectos y transferencias demoradas se tratan por separado.
Alcance y límites
Las reglas dependen del tipo de datos, proveedor y proceso de la organización. Defina por separado seguridad de dispositivos y conservación de datos personales sin conexión.
Fuentes y actualidad
Revisión de fuentes: 7 de octubre de 2026. Las versiones de los documentos enlazados y las condiciones de los proveedores pueden cambiar. Compruebe la versión actual de la fuente pertinente antes de implementar.
- Firebase — Acceso sin conexión a datos Firestore
- OWASP — Estándar de verificación de seguridad de aplicaciones móviles
