使用Retrieve消息获取实体

时间:2014-01-16 12:25:04

标签: plugins dynamics-crm-2011 dynamics-crm

我正在创建一个Dynamics CRM 2011的插件,以便在用户打开潜在客户时执行。所以我正在使用Retrieve消息来执行插件。

IPluginExecutionContext context = (IPluginExecutionContext)

serviceProvider.GetService(typeof(IPluginExecutionContext));

Entity entity;

if (context.InputParameters.Contains("Target") &&

context.InputParameters["Target"] is Entity)
{
    entity = (Entity)context.InputParameters["Target"];
}
else
{
    return;
}

但我总是以回归结束。当我使用它时更新消息它完全正常。如何在Retrive消息上执行插件时获得主要实体?

1 个答案:

答案 0 :(得分:1)

对于Retrieve消息,要检查的正确参数是BusinessEntity内的OutputParameters

尝试

IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));

Entity entity;

if (context.OutputParameters.Contains("BusinessEntity") &&

context.OutputParameters["BusinessEntity"] is Entity)
{
    entity = (Entity)context.OutputParameters["BusinessEntity"];
}
else
{
    return;
}