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

Dynamics 365:更新记录时阻止插件执行的方法

绕过Dataverse插件触发的可行方法

以下是几种能实现更新字段时不触发目标插件的方案,根据你的权限和场景选择:

  • 方法一:利用BypassCustomPluginExecution请求头绕过插件
    Dataverse原生支持通过请求头跳过自定义插件执行(系统插件无法绕过)。SQL 4 CDS可能没有直接提供设置这个头的选项,你可以换用其他工具或方式:

    • 使用XrmToolBox的Dataverse REST Builder:创建更新请求时,在请求头中添加MSCRM.BypassCustomPluginExecution: true,执行更新即可跳过插件。
    • 编写简单的控制台程序(用Dataverse SDK):示例代码如下:
      var service = new CrmServiceClient(connectionString);
      var updateRequest = new UpdateRequest
      {
        Target = new Entity("entityname")
        {
          Id = new Guid("recordid"),
          ["fieldname"] = "newvalue"
        }
      };
      updateRequest.Headers.Add("MSCRM.BypassCustomPluginExecution", "true");
      service.Execute(updateRequest);
      
  • 方法二:临时禁用插件步骤
    在XrmToolBox的Plugin Registration Tool中找到该插件对应的注册步骤,右键选择“禁用”,完成字段更新后再重新启用。注意操作要在业务低峰期进行,避免影响其他用户的正常业务流程。

  • 方法三:修改插件代码添加跳过逻辑
    如果有权限修改插件代码,可以在插件中加入判断逻辑,比如:

    • 添加一个布尔型的临时字段(如skipplugin),更新时将该字段设为true,插件执行时检查这个字段,若为true则跳过子记录更新逻辑,执行完成后再把该字段改回false。
    • 或者通过ExecutionContext.SharedVariables传递标记,在更新操作中传入特定变量,插件中检测到变量存在则跳过逻辑。
  • 方法四:调整插件注册的过滤属性
    查看插件的注册配置,如果插件是注册在“更新”消息且设置了过滤属性,确认你要更新的字段是否在过滤列表中。如果不在,原本就不会触发;如果在,若业务允许,可以暂时移除该字段的过滤,更新后再恢复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 14:35:50