在 Phonecall activity 中将线索分配给客户字段

assigning a lead to customer field in Phonecall activity

我的代码在 Microsoft Dynamics CRM 系统中生成潜在客户。有 phone 个与潜在客户相关的呼叫活动。 phone 呼叫活动中有 "To" 和 "From" 属性,可以是联系人或潜在客户。我需要我的代码来将潜在客户分配给这些属性。我实现了这个:

Entity account = new Entity("lead");
lead_id= service.Create(account);
Entity activity1 = new Entity("phonecall");
activity1["description"] = "Phone call activity";
activity1["to"]=account;
activity1.Attributes.Add("regardingobjectid", new EntityReference("lead", lead_id));
service.Create(activity1);

它没有显示任何错误,但不起作用。我可以看到 activity 中的 "to" 字段在 CRM 系统中为空。

public static Guid createActivity(Guid lead_id, Entity sendr, Entity recvr)
{
Entity activity1 = new Entity("phonecall");
activity1["description"] = ImgURL;
var activityParty1 = new Entity("activityparty");
activityParty1["partyid"] = sendr.ToEntityReference();
activity1["from"] = new[] { activityParty1 };

var activityParty = new Entity("activityparty");
activityParty["partyid"] = recvr.ToEntityReference();
activity1["to"] = new[] { activityParty };
activity1.Attributes.Add("regardingobjectid", new EntityReference("lead", lead_id));
Guid acc_id = service.Create(activity1);
return acc_id;
}

例外情况:Guid acc_id = service.Create(activity1);

Activity Party 是 PhoneCall 和相关 "to" 字段之间的连接。创建一个 activity 派对。

早期绑定:

  activity1.To = new[]
  {
     new ActivityParty() {PartyId = account.ToEntityReference()}
  };

后期绑定:

 var activityParty = new Entity("activityparty");
 activityParty["partyid"] = account.ToEntityReference();
 activity1["to"] = new[] {activityParty};

你每次都应该引用一个 EntityReference 来关联实体。此外,您关联的实体应该已经存在。 因此,您可以将代码重写为:

Entity account = new Entity("lead");
lead_id= service.Create(account);
Entity activity1 = new Entity("phonecall");
activity1["description"] = "Phone call activity";
activity1["to"]=**account.ToEntityReference()**;
activity1["regardingobjectid"] = **account.ToEntityReference()**;
service.Create(activity1);