#c# #dynamics-crm #crm #dynamics-crm-2016
#c# #dynamics-crm #crm #dynamics-crm-2016
Вопрос:
Я создал новый объект CRM с 2 полями Name и Value. В моем коде C # я извлекаю те же два значения с их именами из Microsoft Unified Service Desk. Теперь у меня есть эти записи в моем коде C #, и теперь я хочу сохранить их в объекте CRM. Я использую приведенный ниже код для извлечения значений на данный момент,
string QuestionAnswer = string.Empty;
if (dialog.QuestionControlValidate)
{
if (ContextParameterName != string.Empty)
{
var ctx = Context.GetContext();
if (dialog.QuestionControlType == "TextBox")
QuestionAnswer = dialog.QuestionControlTextQuestionAnswer.ToString();
else if (dialog.QuestionControlType == "RadioButton")
QuestionAnswer = dialog.QuestionControlRadioButtonSelectionAnswer.ToString();
var updatedContext = new Context(ctx)
{
[ContextParameterName] = QuestionAnswer
};
// Code to be added here
}
Я получаю имя внутри ContextParameterName и значение внутри QuestionAnswer. Я хочу сохранить эти записи внутри объекта CRM, который имеет поля имени и значения.
Ответ №1:
Ваш код для создания записи в CRM будет выглядеть примерно так, как показано ниже
Пользовательская сущность = новая сущность
Entity abc = new Entity()
{
LogicalName = "new_EntityName",
["fieldName"] = ContextParameterName,
["fieldValue"] = QuestionAnswer
};
Guid newEntityRecordGuid = CrmConn.Create(abc);
newEntityRecordGuid будет иметь вновь созданный идентификатор записи Guid
Комментарии:
1. Я хочу создать запись с помощью ICrmUtilityHostedControl
Ответ №2:
Я получаю данные из Microsoft USD внутри кода C #, а затем хотел сохранить их в объекте CRM. И поскольку в долларах США соединение создается автоматически со средой CRM, поэтому я добился этого без явного определения соединения.
dictionary.Add("name", new CrmDataTypeWrapper(ContextParameterName, CrmFieldType.Raw));
dictionary.Add("value", new CrmDataTypeWrapper(QuestionAnswer, CrmFieldType.Raw));
dictionary.Add("id", new CrmDataTypeWrapper(updatedContext["Id"], CrmFieldType.Raw));
Guid EvntId = _client.CrmInterface.CreateNewRecord("historicaldata",dictionary,"",false,new System.Guid());
Метод CreateNewRecord создает новое действие для целевого типа сущности
Комментарии:
1. Где находится ICrmUtilityHostedControl?
2. защищенный ICrmUtilityHostedControl _client;
Ответ №3:
Вы можете использовать размещенный элемент управления Global Manager и использовать действие createEntity. Проверьте эту ссылку https://learn.microsoft.com/en-us/dynamics365/customer-engagement/unified-service-desk/global-manager-hosted-control?view=dynamics-usd-4.1