Partager via


Erreur « Les validations ont été redémarrées en arrière-plan en raison de données de validation incohérentes »

Cet article vous aide à résoudre un problème où une limitation d’événement d’enregistrement synchrone provoque un message d’erreur dans les formulaires Microsoft Dynamics 365 Field Service.

Symptômes

Lorsque certains champs d’un formulaire sont modifiés, Dynamics 365 Field Service utilise le AsyncJobTracker modèle pour récupérer et mettre en cache les enregistrements associés. Les enregistrements mis en cache sont utilisés pour la validation pendant l’événement OnSave . En raison d’une limitation d’événement d’enregistrement synchrone, le système n’attend pas les appels asynchrones. Le formulaire Dynamics 365 Field Service affiche ensuite le message d’erreur suivant :

Les validations ont été redémarrées en arrière-plan en raison de données de validation incohérentes. Veuillez réessayer peu de temps.

Cause

Dynamics 365 Field Service a des validations qui nécessitent la récupération de données à partir d’entités associées. Toutefois, en raison de la limitation, il ne peut pas bloquer l’enregistrement pour attendre que tous les appels asynchrones se terminent.

Le AsyncJobTracker modèle est activé uniquement en mode hors connexion pour vous assurer que les enregistrements hors connexion modifiés sont validés et peuvent être synchronisés avec le serveur.

Si les enregistrements mis en cache ne correspondent pas aux champs de recherche actuels, vous recevez le message d’erreur.

Résolution

Plusieurs scénarios peuvent provoquer ce problème. Les résolutions varient en fonction du scénario.

  • Scénario 1 : l’utilisateur n’a pas accès à l’enregistrement. Par exemple, si une entité n’est pas incluse dans le profil hors connexion ou si l’utilisateur n’a pas l’autorisation d’accéder à l’enregistrement.

    Pour résoudre ce problème, vérifiez que l’entité est ajoutée aux filtres de profil hors connexion et que l’utilisateur dispose d’un rôle de sécurité avec les privilèges nécessaires pour accéder à l’enregistrement.

  • Scénario 2 : Les personnalisations introduisent une logique JavaScript pour mettre à jour les champs, mais ces mises à jour ne déclenchent OnChange pas d’événements.

    Pour résoudre ce problème, utilisez l’attribut fireOnChange lors de la mise à jour des champs de recherche à l’aide de JavaScript personnalisé.

    Si vous le souhaitez, utilisez la setTimeout fonction pour retarder l’appel et autoriser la fin des validations.

  • Scénario 3 : Dans les scénarios où l’application mobile n’est pas hors connexion par défaut, les utilisateurs peuvent ouvrir un formulaire en mode en ligne. Ensuite, ils sont hors connexion pendant que le formulaire est toujours ouvert. Le AsyncJobTracker fichier ne s’exécute pas et ne met pas en cache les enregistrements lorsque le formulaire est en mode en ligne.

    Pour résoudre ce problème, accédez en ligne pour enregistrer l’enregistrement.