防止删除-在CRM 2011中使用插件
本文关键字:插件 2011 CRM 删除 | 更新日期: 2023-09-27 18:00:35
如何防止在Microsoft Dynamics CRM 2011中基于插件中的条件进行删除?我试过InvalidPluginExecutionException
,但它不起作用。
这是我的密码。
try
{
if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
{
Entity entity = (Entity)context.InputParameters["Target"];
new_testing testing = entity.ToEntity<new_testing>();
if (testing.new_hutang.Value == true)
{
throw new InvalidPluginExecutionException("error delete");
}
}
}
catch (InvalidPluginExecutionException e)
{
Console.WriteLine("cancel delete plugin" + e);
}
你能帮我做些什么吗?
您需要将PreImage添加到字段"new_hutang"的插件注册中。默认情况下,Target实体不会包括删除中的所有字段,但如果您在注册插件时指定了PreImage实体,则它会包括。有关详细信息,请参阅此博客文章:https://deepakexploring.wordpress.com/2011/02/04/preentityimages-and-postentityimages-in-crm-5-0-2011/
除了@Josh Painter(这是最好的方法),您还可以使用javascript指令来确保包含该字段。
Xrm.Page.getAttribute("new_hutang").setSubmitMode("always");
这一行可以在一个onsave函数中,你可以将其"附加"到表单的onsave环境中。这也可以确保该字段存在于你的插件中。