【问题标题】:assigning a lead to customer field in Phonecall activity在电话活动中将潜在客户分配给客户字段
【发布时间】:2016-07-20 21:07:41
【问题描述】:

我的代码在 Microsoft 动态 CRM 系统中生成潜在客户。有与潜在客户相关的电话活动。电话活动中有“收件人”和“发件人”属性,可以是联系人也可以是潜在客户。我需要我的代码将线索分配给这些属性。我实现了这个:

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);

它没有显示任何错误但不起作用。我可以看到活动中的“收件人”字段在 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);

【问题讨论】:

  • 如果lead_id 不是默认的guid 并且sendr 和recvr 参数不为空,我看不出代码有什么问题。它到底是哪条线失败了?您能否更新您的问题并在它失败的确切行上添加评论?
  • 嗨,我已经更新了我截取的屏幕截图的链接。 Lead_id 不为空,但活动无法创建并显示它为空的消息。当我删除这些行时,它工作得很好。
  • 您是否检查了您的 sendr 和 recvr 对象及其 GUID?其中之一必须是具有空 GUID 的“潜在客户”类型的实体。
  • 谢谢。接收 ID 为空。我会调试问题

标签: c# dynamics-crm microsoft-dynamics dynamics-crm-2015


【解决方案1】:

Activity Party 是 PhoneCall 和相关“to”字段之间的连接。创建添加活动派对。

早期绑定:

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

后期绑定:

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

【讨论】:

  • ActivityParty - 缺少参考。有没有我遗漏的 dll?
  • 对 CRM 中强类型对象的任何引用都表明代理类型已启用。只需将答案转换为支持后期绑定类型。尽管我强烈建议使用早期绑定类型,因为它会指向“to”期望的对象(活动方)类型。我已经更新了答案以涵盖后期绑定类型场景。
  • 当我在 service.Create(activity1) 之前添加这些行时,我的代码会抛出一个异常,指出 Lead_id 是 000-00-000... 当我评论这些行时,我的代码工作得很好。
  • 当我在创建活动后添加这些行时,它们显然不起作用。 activity1.Attributes.Add("关于objectid", new EntityReference("lead", myLeadId)); service.Create(activity1);
  • 究竟是什么问题?您能否更新您的问题并将代码发布在似乎失败的地方?
【解决方案2】:

您应该每次都引用一个 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2014-10-27
    相关资源
    最近更新 更多