You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS CRM中work order product实体如何避免重复创建 自动更新已有记录

Dynamics 365 CRM Online 需求实现方案

核心实现方式

采用workorderproduct实体Create消息的PreOperation同步插件实现,该方案天然覆盖所有系统创建入口:表单提交、数据导入、API调用、跨环境导出导入等场景,无需额外适配。

插件逻辑设计

  • 注册配置:在插件注册工具中,对workorderproduct实体的Create消息注册同步步骤,执行阶段选择PreOperation,执行优先级设置在系统内置逻辑之前即可,执行身份选择系统管理员避免权限问题。
  • 执行逻辑:
    1. 从插件上下文的Target实体中提取本次新建提交的product(产品关联ID)、quantity(数量)字段值,若需按所属工单维度去重,额外提取workorderid(关联工单ID)。
    2. 构造QueryExpression或FetchXML查询,筛选条件为product等于本次提交的产品ID,若按工单调去重则增加workorderid等于本次提交的工单ID。
    3. 若查询到匹配的已有workorderproduct记录:
      • 累加数量:已有记录的quantity值 + 本次提交的quantity值,更新到已有记录中。
      • 调用组织服务的Update方法提交更新。
      • 清空上下文的Target实体,取消本次新建操作,无需抛出异常,避免前端或导入工具返回错误,实现无感知。
    4. 若未查询到匹配记录,直接放行原有新建逻辑即可。

注意事项

  • PreOperation阶段默认加入系统数据库事务,更新旧记录和取消新建操作天然保证数据一致性,无需额外处理事务。
  • 若业务要求仅判断有效状态的重复记录,查询时可额外增加status字段的筛选条件,匹配你要校验的有效状态枚举值。

内容的提问来源于stack exchange,提问作者Ravi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 17:18:02