C# 检索记录的Guid并在Dynamics CRM中创建新记录
我想在CRM中创建新的opportunity记录。机会记录将基于此条件创建。它将比较CRM中的帐户和pipedrive中的组织。如果找到匹配的名称,它将直接创建opportunity,否则它将首先创建account,然后创建opportunity 我如何向Opportunity中的“帐户”字段(即查找字段)添加值 下面是我到现在为止写的代码 要从CRM获取帐户记录,请执行以下操作:C# 检索记录的Guid并在Dynamics CRM中创建新记录,c#,dynamics-crm,microsoft-dynamics,dynamics-crm-online,C#,Dynamics Crm,Microsoft Dynamics,Dynamics Crm Online,我想在CRM中创建新的opportunity记录。机会记录将基于此条件创建。它将比较CRM中的帐户和pipedrive中的组织。如果找到匹配的名称,它将直接创建opportunity,否则它将首先创建account,然后创建opportunity 我如何向Opportunity中的“帐户”字段(即查找字段)添加值 下面是我到现在为止写的代码 要从CRM获取帐户记录,请执行以下操作: public EntityCollection GetAccount() { QueryExpressio
public EntityCollection GetAccount()
{
QueryExpression query = new QueryExpression { EntityName = "account", ColumnSet = new ColumnSet("name", "accountid") };
EntityCollection accountname = this.crmService.RetrieveMultiple(query);
return accountname;
}
对于支票账户是否已存在:
int accountCount = account.Entities.Count;
string[] name = new string[accountCount];
for (int i = 0; i < accountCount; i++)
{
name[i] = account.Entities[i].Attributes["name"].ToString();
if (name[i] == message.Current.org_name || name[i].Contains(message.Current.org_name))
{
this.counter++;
this.flag = 1;
continue;
}
}
if (this.counter == 1)
{
c.CreateOpportunity(message);
}
else if (this.counter > 1)
{
c.CreateAccount(message);
c.CreateOpportunity(message);
}
if (this.flag == 0)
{
c.CreateAccount(message);
c.CreateOpportunity(message);
}
您必须在
CreateOpportunity
方法中使用如下方法:
opportunity["CustomerId"] = new EntityReference("account", accountId);
“CustomerId”是客户属性的逻辑名称,“account”是帐户实体的逻辑名称,accountId
应该从创建的帐户记录主键Guid或您拥有的实体集合中匹配的帐户主键传递
Guid accountId = account.Entities[i].Id;
您是否为发布的代码运行了调试器。。?你能告诉我们
name
是在哪里声明的吗?它的数据类型是什么?查看for循环,这行中的name
似乎是一个单独的char
`name[i]=account.Entities[i].Attributes[“name”].ToString();`请告诉我们你叫什么名字。。或者声明的位置。@MethodMan我做了更改,您现在可以检查。我在创建记录时得到了不正确的属性值类型System.Int32错误。opportunity[“parentaccountid”]=新的实体引用(“帐户”,accountID)@vidhi该错误可能是关于estimatedvalue的,您调试了吗?是的,该错误是关于estimatedvalue的,但对于guid,我得到的是“预期的非空guid”。
Guid accountId = account.Entities[i].Id;