我正在使用 prevalidate 插件将自定义实体的所有权授予团队。我有一个特定的角色,允许拥有这个自定义实体。在我的插件中,如果此授权尚不存在,我将使用 Associate 消息将角色授予团队。
我看到的问题是 Associate 消息是异步处理的。在保存记录之前并不总是提交授权。在这些情况下,我会收到缺少权限的错误。第二次保存点击始终有效。
是否有回调或方法来轮询 CRMService 消息的结果?当然,我可以循环睡眠,直到看到数据库更新。希望有更好的方法...
我正在使用 prevalidate 插件将自定义实体的所有权授予团队。我有一个特定的角色,允许拥有这个自定义实体。在我的插件中,如果此授权尚不存在,我将使用 Associate 消息将角色授予团队。
我看到的问题是 Associate 消息是异步处理的。在保存记录之前并不总是提交授权。在这些情况下,我会收到缺少权限的错误。第二次保存点击始终有效。
是否有回调或方法来轮询 CRMService 消息的结果?当然,我可以循环睡眠,直到看到数据库更新。希望有更好的方法...
是什么让您说 Associate 异步操作?我在文档中没有看到任何让我相信它的东西。 我想知道 CRM 是否正在读取数据库以获得在预验证事件触发之前执行保存的权限。然后它失败了,因为权限不在那里,但是当你再次运行它时,它们是并且它可以成功运行。
如果是这种情况,使用 SOAP 调用在 javascript 的 onSave 中执行关联操作将解决您的问题。