Compartir a través de


Error "Las validaciones se han reiniciado en segundo plano debido a datos de validación incoherentes"

Este artículo ayuda a resolver un problema en el que una limitación de eventos de guardado sincrónico provoca un mensaje de error en Microsoft Dynamics 365 Field Service formularios.

Síntomas

Cuando se cambian determinados campos de un formulario, Dynamics 365 Field Service usa el AsyncJobTracker patrón para recuperar y almacenar en caché los registros relacionados. Los registros almacenados en caché se usan para la validación durante el OnSave evento. Debido a una limitación de eventos de guardado sincrónico, el sistema no espera llamadas asincrónicas. A continuación, el formulario Dynamics 365 Field Service muestra el siguiente mensaje de error:

Las validaciones se han reiniciado en segundo plano debido a datos de validación incoherentes. Inténtelo de nuevo en breve.

Causa

Dynamics 365 Field Service tiene validaciones que requieren la recuperación de datos de entidades relacionadas. Sin embargo, debido a la limitación, no puede bloquear el guardado para esperar a que se completen todas las llamadas asincrónicas.

El AsyncJobTracker patrón solo está habilitado en modo sin conexión para asegurarse de que los registros sin conexión modificados se validan y se pueden sincronizar de nuevo con el servidor.

Si los registros almacenados en caché no coinciden con los campos de búsqueda actuales, recibirá el mensaje de error.

Solución

Varios escenarios pueden causar este problema. Las resoluciones varían en función del escenario.

  • Escenario 1: El usuario no tiene acceso al registro. Por ejemplo, si una entidad no se incluye en el perfil sin conexión o el usuario no tiene permiso para acceder al registro.

    Para solucionar este problema, asegúrese de que la entidad se agrega a los filtros de perfil sin conexión y al usuario se le concede un rol de seguridad con los privilegios para acceder al registro.

  • Escenario 2: Las personalizaciones presentan lógica de JavaScript para actualizar campos, pero estas actualizaciones no desencadenan OnChange eventos.

    Para solucionar este problema, use el atributo fireOnChange al actualizar campos de búsqueda mediante JavaScript personalizado.

    Opcionalmente, use la setTimeout función para retrasar la llamada y permitir que se complete el tiempo necesario para que se completen las validaciones.

  • Escenario 3: en escenarios en los que la aplicación móvil no está sin conexión de forma predeterminada, los usuarios pueden abrir un formulario en modo en línea. A continuación, se desconectan mientras el formulario sigue abierto. AsyncJobTracker no se ejecuta y no almacena en caché ningún registro cuando el formulario está en modo en línea.

    Para solucionar este problema, vaya a Internet para guardar el registro.