Delen via


'Validaties zijn opnieuw opgestart op de achtergrond vanwege inconsistente validatiegegevens'

In dit artikel wordt een probleem opgelost waarbij een synchrone beperking voor het opslaan van gebeurtenissen een foutbericht veroorzaakt in Microsoft Dynamics 365 Field Service-formulieren.

Symptomen

Wanneer bepaalde velden in een formulier worden gewijzigd, gebruikt Dynamics 365 Field Service het AsyncJobTracker patroon om gerelateerde records op te halen en op te cachen. De records in de cache worden gebruikt voor validatie tijdens de OnSave gebeurtenis. Vanwege een synchrone beperking voor het opslaan van gebeurtenissen wacht het systeem niet op asynchrone aanroepen. In het formulier Dynamics 365 Field Service wordt vervolgens het volgende foutbericht weergegeven:

Validaties zijn op de achtergrond opnieuw gestart vanwege inconsistente validatiegegevens. Probeer het binnenkort opnieuw.

Oorzaak

Dynamics 365 Field Service heeft validaties waarvoor het ophalen van gegevens uit gerelateerde entiteiten is vereist. Vanwege de beperking kan het opslaan echter niet worden geblokkeerd om te wachten tot alle asynchrone aanroepen zijn voltooid.

Het AsyncJobTracker patroon is alleen ingeschakeld in de offlinemodus om ervoor te zorgen dat de gewijzigde offlinerecords worden gevalideerd en weer naar de server kunnen worden gesynchroniseerd.

Als de records in de cache niet overeenkomen met de huidige opzoekvelden, wordt het foutbericht weergegeven.

Oplossing

Meerdere scenario's kunnen dit probleem veroorzaken. De oplossingen variƫren, afhankelijk van het scenario.

  • Scenario 1: De gebruiker heeft geen toegang tot de record. Als een entiteit bijvoorbeeld niet is opgenomen in het offlineprofiel of als de gebruiker geen toegang heeft tot de record.

    Om dit probleem op te lossen, moet u ervoor zorgen dat de entiteit wordt toegevoegd aan de offlineprofielfilters en de gebruiker een beveiligingsrol krijgt met de bevoegdheden voor toegang tot de record.

  • Scenario 2: Aanpassingen introduceren JavaScript-logica voor het bijwerken van velden, maar deze updates activeren OnChange geen gebeurtenissen.

    Als u dit probleem wilt oplossen, gebruikt u het kenmerk fireOnChange bij het bijwerken van opzoekvelden met behulp van aangepaste JavaScript.

    U kunt eventueel de setTimeout functie gebruiken om het aanroepen te vertragen en tijd voor het voltooien van validaties mogelijk te maken.

  • Scenario 3: In scenario's waarin de mobiele app niet standaard offline is, kunnen gebruikers mogelijk een formulier openen in de onlinemodus. Vervolgens gaan ze offline terwijl het formulier nog steeds is geopend. De AsyncJobTracker opdracht wordt niet uitgevoerd en slaat geen records in de cache op wanneer het formulier zich in de onlinemodus bevindt.

    Als u dit probleem wilt oplossen, gaat u online om de record op te slaan.