无法在 MS Dynamics CRM 2011 中为团队实体注册预删除验证插件步骤

Could not register pre-delete validatation plugin step for the Team entity in MS Dynamics CRM 2011

我想在删除团队实体之前添加验证。为此,我需要为删除消息和团队实体添加预验证插件步骤。

然而,当我尝试通过插件注册工具执行此操作时,出现错误:

Invalid Entity Name

Invalid Primary Entity or Secondary Entity specified. Please re-enter the data.

这是我在注册新步骤中填写的数据:

我正在使用 Microsoft Dynamics CRM 2011。

我找不到任何解释。我要问的是:

  1. 这是什么原因?
  2. 在删除团队实体期间应用自定义验证的预期方式是什么?

那是因为不支持在 CRM 2011 中删除团队实体的消息

而当您查找 CRM 2016 及更高版本时,Team Entity 确实支持删除消息

摘要:CRM 2011 团队实体不支持删除消息

可以通过更新对应的SdkMessageFilterBase记录来启用注册插件。

  1. 连接到您的数据库服务器。
  2. 导航到您的 %ORGANIZATION_NAME%_MSCRM 数据库。
  3. 运行 脚本:
  SELECT
      [dbo].[SdkMessageFilterBase].[PrimaryObjectTypeCode],
      [dbo].[SdkMessageFilterBase].[CustomizationLevel],
      [dbo].[SdkMessageFilterBase].[SecondaryObjectTypeCode],
      [dbo].[SdkMessageFilterBase].[IsCustomProcessingStepAllowed],
      [dbo].[SdkMessageFilterBase].[Availability],
      [dbo].[SdkMessageFilterBase].[SdkMessageId],
      [dbo].[SdkMessageFilterBase].[IsVisible]
  FROM
      [dbo].[SdkMessageFilterBase]
      INNER JOIN [dbo].[SdkMessageBase]
          ON [dbo].[SdkMessageFilterBase].[SdkMessageId] = [dbo].[SdkMessageBase].[SdkMessageId]
  WHERE
      [dbo].[SdkMessageBase].[Name] = 'Delete' AND
      [dbo].[SdkMessageFilterBase].[PrimaryObjectTypeCode] = 9 -- Team entity code is 9
  1. 检查结果。如果 IsCustomProcessingStepAllowed 字段设置为 0,它会阻止您注册插件步骤。
  2. IsCustomProcessingStepAllowed 更新为 1 以便能够注册自定义插件步骤。

这个解决方案对我有用。

描述此类解决方案的文章: