2016-10-28 1 views
2

Я создаю новую запись contact, и при создании я должен установить поле lastusedincampaign. Но моя сущность создается с пустым полем lastusedincampaign. Я могу установить его программно с помощью метода Update после Create.CRM: Не удается установить lastusedincampaign поле при создании объекта

Где проблема?

P.S .: Создание, а затем обновление записи сущности не является хорошей идеей, потому что у меня есть около 4 тыс. Записей сущности для создания сразу.

UPDATE 1 (тестовый код):

Entity contact = new Entity("contact"); 
contact["fullname"] = "New contact"; 
contact["lastusedincampaign"] = DateTime.UtcNow; 
CrmHelper.InitializeCrmService().Create(contact); 
+0

Вы используете плагин для установки значения? Что вы сейчас делаете, чтобы установить 'lastusedincampaign'? – mmcrae

+0

Нет, не плагин. Я написал пользовательское приложение .net, где я получаю службу crm, а затем использую ее. –

ответ

3

Похоже игнорирует CRM lastusedincampaign атрибут, как он делает несколько других во время операции создания. Если вы не хотите одновременно выполнять операции создания/обновления, почему бы вам не создать временный рабочий процесс, который будет выполняться асинхронно и обновить значение поля? Таким образом, асинхронный сервер занимает большую часть нагрузки, а записи создаются быстрее.

Заметка 4k записей не очень много записей для одновременного создания/обновления, я работал с записями в десятках тысяч, а CRM никогда не заставлял меня заклеить.

+0

К сожалению, похоже, это правда. Я создал простой код (Update 1), чтобы проверить именно этот атрибут, и в результате поле lastusedincampaign не было заполнено. Рабочий процесс и т. Д. Не подходит для меня, потому что сразу после создания всех контактов мое приложение начинает собирать статистику. –

2

Ожидаемое поведение. Если вы проверите Метаданные для атрибута lastusedincampaign, вы обнаружите, что поле имеет IsValidForCreate, установленное на false и IsValidForUpdate, установленное на true.

Вы должны обновить запись после ее создания, если хотите заполнить это поле.

Смежные вопросы