CRM 2015更新 - 插件错误 - '在第20阶段插件中不允许更改安全属性'

时间:2015-06-12 07:32:07

标签: dynamics-crm-2013 dynamics-crm-2015

当我尝试在更新后的插件阶段创建另一种类型的实体记录时,我已经得到了#34;在第20阶段插件中不允许更改安全属性"错误。 它在Dynamics CRM 2013 SP1 CRM中运行良好。 将CRM 2013更新到CRM 2015后,我收到此错误

3 个答案:

答案 0 :(得分:2)

从插件中删除不需要的属性。只需在插件中选择您需要的属性。您可以在注册插件时设置它(不要勾选所有属性复选框)。删除安全相关属性(所有者,修改者,创建)上)

答案 1 :(得分:2)

当组织迁移到CRM 2015时,有些人可能会在插件步骤中遇到此错误。 原因:

  • 您在记录预创建
  • 中更改记录的所有权

决议:

示例代码:

//Runs on the Pre-Validation step, when a Contact is created
if (context.Stage == 10)
{
    if (!targetEntity.Attributes.Contains("parentcustomerid"))
    {
        throw new InvalidPluginExecutionException("Message to show....");
    }
    try
    {
        var accountOwner = (from a in orgServiceContext.AccountSet
                        where a.Id == targetContact.ParentCustomerId.Id
                                select a).Single();
            targetEntity.Attributes["ownerid"] = new EntityReference("team", accountOwner.OwnerId.Id);
            targetEntity.Attributes["owningbusinessunit"] = new EntityReference("businessunit", accountOwner.OwningBusinessUnit.Id);
            }
            catch
            {
                throw new InvalidPluginExecutionException("Message to show...");
            }
        }

找到另一个解决方案:将插件步骤移至预验证。

答案 2 :(得分:1)

从预创建中删除逻辑并将其移动到另一个实体的创建后。然后它会正常工作