约会删除时的 CRM 2011 插件未获取所需的与会者

CRM 2011 PlugIn on appointment delete not fetching required attendees

谁能告诉我如何在删除约会时获取约会的“requiredattendees”。 在删除约会时,我需要对这些与会者进行更新。我没有在 PRE 或 POST.

上获得该派对列表中的值

即使 PreImage 实体也没有捕获仅那个 'requiredattendees' 字段的信息,其余字段在那个 PreImage 实体中是可以的。

谁能说我做错了什么?

非常感谢。

假设您已经在 Delete Preoperation

上注册了插件
var appointment = pluginExecutionContext.InputParameters["Target"] as EntityReference;
var response = organizationService.Retrieve("appointment", appointment.Id, new ColumnSet("requiredattendees"));
var requiredAttendees = response.GetAttributeValue<EntityCollection>("requiredattendees");

foreach (var attendee in requiredAttendees.Entities)
{
       //your logic
}

您需要检索 PreValidation 插件中的子记录列表,因为级联 deletes/disassociations 可能 发生在 PreOperation 之前。

假设您跨国诚信,您应该在 PreValidation 中收集此信息并将其保存(IPluginExecutionContext.SharedVariables 是保存 guid 的好地方。)在 PreOperationPostOperation 插件,您可以根据您存储的所需与会者指南列表执行您的逻辑。