Получить Guid из записи и создания новой записи в Dynamics CRM

Я хочу создать новую запись о возможностях в CRM. Запись о возможности будет создана на основе этого условия. Он будет сравнивать аккаунт в CRM с организацией в pipedrive. Если совпадающее Имя найдено, оно будет напрямую создавать возможность, иначе сначала будет создана учетная запись, а затем возможность.

Как я могу добавить значение в поле Учетная запись, которое является полем поиска в Opportunity?

Ниже приведен кодекс, который я написал до сих пор.

Для получения учетных записей из CRM:

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

Чтобы создать запись о возможности:

public void CreateOpportunity(Message message)
{
    Entity opportunity = new Entity("opportunity");
    opportunity["name"] = message.Current.Title;
    opportunity["estimatedvalue"] = message.Current.value;
    this.crmService.Create(opportunity);
}

1 ответ

Решение

Вы должны использовать как ниже в CreateOpportunity метод:

opportunity["CustomerId"] = new EntityReference("account", accountId);

"CustomerId" - логическое имя атрибута клиента, "account" - логическое имя объекта Account, accountId следует передать из созданной учетной записи PK Guid или сопоставленной учетной записи PK из имеющейся у вас коллекции сущностей

Guid accountId = account.Entities[i].Id;
Другие вопросы по тегам