我试图以编程方式创建一个主导实体,并且我已经读到动态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问题。
提前谢谢。
答案 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。