我有一条记录,当停用时我想要一个插件来自动删除记录。所以我将我的代码设置为SetStateDynamically事件,它一直工作到我实际上获取服务以删除记录的位置,在那里我得到“发生意外错误”。
我的代码在下面,任何人都可以看到问题所在,或者能够指出我正确的方向吗?
由于
private void MarkForDeleteDeactivatedRole(EntityReference entity)
{
Entity role = Service.Retrieve("sb_contactsecurityrole", entity.Id, new ColumnSet(true));
OptionSetValue statusValue = (OptionSetValue)role["statecode"];
if (statusValue.Value == 1)
{
Service.Delete(entity.LogicalName, entity.Id);
}
}
答案 0 :(得分:1)
我也见过同样的事情。我不认为CRM事件管道支持在处理该对象时删除的记录。您可能做的最好的事情是异步注册您的插件,因此错误(您无法捕获,因为它位于CRM事件管道内部)不会冒泡到UI(和你不在交易中。)