在插件中创建帐户时忽略CRM中的重复执行规则

时间:2016-08-22 21:13:41

标签: dynamics-crm-online dynamics-crm-2016

我试图在资格赛活动插件中创建一个帐户。如果我创建的帐户名称与现有帐户的名称完全匹配,则我的重复检测规则会启动,并导致抛出异常。

我的理解是,重复检测规则始终是警告,而不是错误,默认情况下,从插件/ SDK调用运行时,您不会收到任何错误甚至是通知这是对CRM的新变化吗?有没有办法忽略插件中的重复检测规则?

2 个答案:

答案 0 :(得分:3)

显然你必须设置" SupressDuplicateDetection"创建请求中的属性:

Entity target = new Entity("account");
target["name"] = "I am a clone";
CreateRequest req = new CreateRequest();
req.Target = target;
req["SuppressDuplicateDetection"] = true;
CreateResponse response = (CreateResponse)_service.Execute(req); 

答案 1 :(得分:2)

这是基于MSDN文档Run duplicate detection的目的,显然是长期存在的行为(早在CRM 2011中列出)。

  

传递重复检测可选参数   通过向Parameters添加值来抑制重复检测   CreateRequest和UpdateRequest消息请求的属性。该   SuppressDuplicateDetection参数值是否确定   可以完成创建或更新操作:

     
      
  • true - 如果找到重复项,则创建或更新记录。
  •   
  • false - 如果找到重复项,请勿创建或更新记录。
  •   

假设false是默认的bool。

  

如果重复检测可选参数设置为false且a   找到重复,抛出异常而记录不是   创建或更新。