本文可帮助解决同步保存事件限制导致 Microsoft Dynamics 365 Field Service 窗体中的错误消息的问题。
现象
更改窗体上的某些字段时,Dynamics 365 Field Service 使用 AsyncJobTracker 模式来检索和缓存相关记录。 缓存记录用于事件期间 OnSave 验证。 由于同步保存事件限制,系统不会等待异步调用。 然后,Dynamics 365 Field Service 窗体会显示以下错误消息:
由于验证数据不一致,验证已在后台重启。 请稍后重试。
原因
Dynamics 365 Field Service 具有需要从相关实体检索数据的验证。 但是,由于限制,它无法阻止保存以等待所有异步调用完成。
模式 AsyncJobTracker 仅在脱机模式下启用,以确保已更改的脱机记录得到验证,并且可以同步回服务器。
如果缓存的记录与当前查找字段不匹配,则会收到错误消息。
解决方法
多个方案可能会导致此问题。 解决方法因方案而异。
方案 1:用户无权访问记录。 例如,如果实体未包含在脱机配置文件中,或者用户无权访问记录。
若要解决此问题,请确保将实体添加到脱机配置文件筛选器,并向用户授予访问记录的权限的安全角色。
方案 2:自定义项引入了 JavaScript 逻辑来更新字段,但这些更新不会触发
OnChange事件。若要解决此问题,请使用 使用自定义 JavaScript 更新查找字段时的 fireOnChange 属性。
(可选)使用
setTimeout函数延迟调用并允许验证完成时间。方案 3:在移动应用默认不脱机的情况下,用户可能会在联机模式下打开窗体。 然后,在窗体仍处于打开状态时,它们会脱机。 窗体
AsyncJobTracker处于联机模式时不会运行,也不会缓存任何记录。若要解决此问题,请联机保存记录。