'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.