「由於驗證數據不一致,已在背景重新啟動驗證」 錯誤
本文可協助解決同步儲存事件限制導致 Dynamics 365 Field Service 窗體Microsoft錯誤訊息的問題。
徵兆
當窗體上的特定欄位變更時,Dynamics 365 Field Service 會使用 AsyncJobTracker
模式來擷取和快取相關的記錄。 快取的記錄會在事件期間 OnSave
用於驗證。 由於同步儲存事件限制,系統不會等候異步呼叫。 Dynamics 365 Field Service 窗體接著會顯示下列錯誤訊息:
由於驗證數據不一致,在背景中已重新啟動驗證。 請不久再試一次。
原因
Dynamics 365 Field Service 具有需要從相關實體擷取數據的驗證。 不過,由於限制,它無法封鎖儲存以等候所有異步呼叫完成。
模式 AsyncJobTracker
只會在離線模式中啟用,以確保已變更的離線記錄會經過驗證,而且可以同步處理回伺服器。
如果快取的記錄不符合目前的查閱欄位,您會收到錯誤訊息。
解決方法
多個案例可能會導致此問題。 解決方案會根據案例而有所不同。
案例 1:使用者無法存取記錄。 例如,如果實體未包含在離線配置檔中,或使用者沒有存取記錄的許可權。
若要解決此問題,請確定實體已新增至離線配置檔篩選,並授與具有存取記錄許可權的安全性角色。
案例 2:自定義引進 JavaScript 邏輯來更新欄位,但這些更新不會觸發
OnChange
事件。若要解決此問題,請在使用自定義 JavaScript 更新查閱欄位時,使用 fireOnChange 屬性。
或者,使用函
setTimeout
式來延遲呼叫,並允許驗證完成的時間。案例 3:在行動應用程式預設未離線的情況下,使用者可能會在在線模式中開啟表單。 然後,當表單仍然開啟時,它們會脫機。
AsyncJobTracker
不會執行 ,也不會在窗體處於在線模式時快取任何記錄。若要解決此問題,請移至在線以儲存記錄。