我正在使用Dynamics 365在线试用版。我需要在CRM中禁用/启用用户时触发插件。所以我创建了插件并在用户实体SetState
和SetStateDynamicEntity
消息中注册了相同但插件未被触发。
插件注册步骤: 消息:SetState和SetStateDynamicsEntity 实体:systemuser 事件:术后
用户记录已在CRM中启用/禁用(通过O365),但不会触发插件。
还尝试使用更新消息插件来满足相同的要求,但这也不会触发插件。
更新的插件注册步骤: 消息:更新 实体:systemuser 事件:术后 过滤属性:所有字段 图像:预成像
任何帮助将不胜感激。
您正在使用Update消息,因为不推荐使用SetState(据我所知)。
你可能会发现this article很有趣。它指出:
处理包含状态/状态字段和其他标准字段的更新请求时,为Update消息注册的工作流对所有非状态/状态字段执行一次,然后对状态/状态字段执行一次。为“更改状态”步骤注册的工作流将继续由状态/状态字段的更新触发。
但是,用户可能会有一点不同,因为他们有isDisabled
字段。也许尝试将触发器过滤到该字段。如果这不起作用,请尝试触发“常规”字段,以确保您的插件可以触发更新消息。
完全披露:我从来没有写过一个禁用用户的插件。
但是,由于在向下过滤到isDisabled
时似乎没有触发,我检查了OOB工作流是否可以在该字段上触发。选择对话框中缺少它,所以显然不是:
您可能希望获得Microsoft支持票据以查看他们所说的内容,但与此同时,可能会将其注册为在ModifiedOn上触发,并使用前映像并自行检查isDisabled
是否已更改。
我们也遇到过这个问题,我们无法实现插件路由。
然后我们使用SSIS + Kingswaysoft软件包进行了一个解决方案预定作业(每24小时运行一次)来查询已禁用的用户。
此系统用户状态更改不会陷入Dynamics平台,因为我们不确定O365如何更改,如许可证删除或帐户删除等AD更改正在复制到Dynamics平台中。