Dynamics CRM:如何在actualend字段变更时触发插件或工作流?
解决思路
1. 借助PostOperation阶段+预实体镜像对比值
在任务的Update事件PostOperation阶段注册插件,同时添加PreEntityImage(选择包含actualend属性的视图)。插件逻辑里:
- 从PreEntityImage获取更新前的
actualend旧值 - 通过
activityid查询任务实体的完整数据,拿到更新后的actualend新值 - 对比新旧值,若存在差异则执行目标逻辑
2. 直接注册在Close消息上
任务关闭操作触发的是Close消息而非普通Update。将插件注册到Task实体的Close消息的PostOperation阶段,此时系统已经完成actualend的赋值,可直接从PostEntityImage或查询到的实体数据中获取该字段的最新值。
3. 工作流触发的替代方案
若使用工作流,优先选择**“当字段值变更时”**并指定actualend字段。若系统自动赋值的actualend无法触发该工作流,可通过Close消息触发的插件手动调用工作流,或直接将工作流绑定到Close消息上。
4. 确认属性的跟踪更改设置
检查任务实体的actualend属性是否开启**“跟踪更改”**(系统默认开启,但需确认未被修改)。该选项未开启时,字段变更可能无法被插件/工作流检测到。
内容的提问来源于stack exchange,提问作者user9564952
相关产品推荐
相关产品推荐

