我有一个 Dynamics 365 活动任务记录,其中包含一个值为“测试描述值”的描述。我想在插件中检索这个值。
我的主要代码概述如下。
public void Execute(IServiceProvider serviceProvider)
{
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService((typeof(IPluginExecutionContext)));
IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = factory.CreateOrganizationService(context.UserId);
ITracingService tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService));
if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
{
Entity task = (Entity)context.InputParameters["Target"];
if (task.LogicalName == "task")
{
ColumnSet cs = new ColumnSet(new string[] { "description", "ownerid" });
service.Retrieve("task", task.Id, cs);
foreach (KeyValuePair<String, Object> attribute in task.Attributes)
{
tracingService.Trace(attribute.Key + ": " + attribute.Value);
}
}
}
}
迭代 foreach 循环表明task.Attributes
不包含用于描述的键,我也无法使用 获取描述的当前值task["description"]
。两者都返回 System.Collections.Generic.KeyNotFoundException。
是否可以在插件中获取活动任务记录的描述字段的当前值?如何?