当我尝试在更新后的插件阶段创建另一种类型的实体记录时,我已经得到了#34;在第20阶段插件中不允许更改安全属性"错误。 它在Dynamics CRM 2013 SP1 CRM中运行良好。 将CRM 2013更新到CRM 2015后,我收到此错误
答案 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)
从预创建中删除逻辑并将其移动到另一个实体的创建后。然后它会正常工作