【发布时间】:2014-02-21 15:33:14
【问题描述】:
在我们公司,我们有一个使用 CRM Web 服务的应用程序。 由于我们从 CRM 4.0 升级到 CRM 2011,我正在尝试将我们的代码迁移到新的 CRM 2011。我还必须防止使用强类型。因此,我对所有实体使用 CRM 2011 Web 服务提供的 Entity-Class。
我们的应用程序执行以下操作:
- 从 HTML 表单创建潜在客户
- 创建活动响应并将其与潜在客户链接
- 将活动响应与特定活动联系起来
这是 CRM 4.0 代码:
Dim lookup As New Lookup()
lookup.Value = New Guid(linkCampaignGuid)
lookup.type = "campaign"
Dim activity As New activityparty()
activity.partyid = New Lookup()
activity.partyid.type = "lead"
' the CreateLead method creates a lead and returns its guid
' linkCustomer is the object wich is filled by the HTML form
activity.partyid.Value = New Guid(CreateLead(linkCustomer))
Dim cr As New campaignresponse()
cr.regardingobjectid = lookup
cr.customer = New activityparty() {activity}
' my CrmService object
_service.Create(cr)
到目前为止的 CRM 2011 代码:
Dim lookup As New EntityReference()
lookup.LogicalName = "campaign"
lookup.Id = New Guid(linkCampaignGuid)
Dim lead As New EntityReference()
lead.LogicalName = "lead"
lead.Id = New Guid(CreateLead(linkCustomer))
Dim activity As New Entity
activity.LogicalName = "activityparty"
activity.Id = lead.Id
activity.Attributes = New AttributeCollection
activity.Attributes.Add(New KeyValuePair(Of String, Object)("partyid", lead))
Dim campaignResponse As New Entity
campaignResponse.LogicalName = "campaignresponse"
campaignResponse.Attributes = New AttributeCollection
campaignResponse.Attributes.Add(New KeyValuePair(Of String, Object)("regardingobjectid", lookup))
campaignResponse.Attributes.Add(New KeyValuePair(Of String, Object)("customer", activity))
_service.Create(campaignResponse)
创建活动响应,将其与活动链接并创建潜在客户正在工作。
我的问题是活动响应和领导之间的联系不起作用。
感谢您的任何帮助!
更新:
在尝试了几乎所有方法之后,我终于找到了一种方法:
Dim campaignId As Guid = New Guid(linkCampaignGuid)
Dim leadId As Guid = New Guid(CreateLead(linkCustomer))
Dim campaignReference As New EntityReference("campaign", campaignId)
Dim leadReference As New EntityReference("lead", leadId)
Dim activityParty As New Entity("activityparty")
activityParty.AddAttribute("partyid", leadReference)
Dim entityCollection As New EntityCollection()
entityCollection.EntityName = "activityparty"
entityCollection.Entities.Add(activityParty)
Dim campaignResponse = New Entity("campaignresponse")
campaignResponse.Attributes.Add("regardingobjectid", campaignReference)
campaignResponse.Attributes.Add("customer", entityCollection)
_service.Create(campaignResponse)
【问题讨论】: