Dynamics CRM 2016以编程方式创建和认证潜在客户c#

时间:2017-04-19 17:27:28

标签: c# dynamics-crm-2016

我试图以编程方式创建一个主导实体,并且我已经读到动态crm 2016中的特殊字段没有更多特殊消息。

所以,我从动态crm服务器检索数据,然后将其插入到另一个crm服务器中,而不使用下面的特殊消息:

account["statecode"] = new OptionSetValue(1); //inactive
account["statuscode"] = new OptionSetValue(2); //inactive

问题是,statecode中的值为“1”的潜在客户记录表示合格的潜在客户,而值{3}的statuscode表示也符合条件。< / p>

任何方式,当我尝试插入一条错误时,会显示流动的消息:

3 is not a valid status code for state code LeadState.Open

fyi,LeadState.Open的值为“0”,即使前面提到的引导状态为“1”。

我不知道什么是exatley问题。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

您应该使用SDK中记录的QualifyLeadRequest。此消息与SetState不同,尚未标记为弃用。限定潜在客户工作流程比设置状态流程更复杂,因为它包括(可选)创建和链接到帐户,联系人和机会记录。

以下是SDK中使用现有opportunity创建account资格的示例。

            // Qualify the second lead, creating an opportunity from it, and not
            // creating an account or a contact.  We use an existing account for the
            // opportunity customer instead.
            var qualifyIntoOpportunityReq = new QualifyLeadRequest
            {
                CreateOpportunity = true,
                OpportunityCurrencyId = currencyId,
                OpportunityCustomerId = new EntityReference(
                    Account.EntityLogicalName,
                    _accountId),
                Status = new OptionSetValue((int)lead_statuscode.Qualified),
                LeadId = new EntityReference(Lead.EntityLogicalName, _lead2Id)
            };

            var qualifyIntoOpportunityRes =
                (QualifyLeadResponse)_serviceProxy.Execute(qualifyIntoOpportunityReq);
            Console.WriteLine("  The second lead was qualified.");

            foreach (var entity in qualifyIntoOpportunityRes.CreatedEntities)
            {
                NotifyEntityCreated(entity.LogicalName, entity.Id);
                if (entity.LogicalName == Opportunity.EntityLogicalName)
                {
                    _opportunityId = entity.Id;
                }
            }

从中获取此代码的示例包含更多详细信息:https://msdn.microsoft.com/en-us/library/hh547458.aspx