Dynamics CRM 2015 - обновить идентификатор владельца возможности с помощью javascript

Я пытаюсь обновить OwnerId для возможности в Dynamics CRM 2015.

Пока я использую следующий код, но мои изменения не вступают в силу.

Xrm.Page.data.entity.attributes.get('ownerid').setValue('487ecd0c-d8c1-e411-80eb-c4346bade4b0')
Xrm.Page.data.entity.save();

Это вид вызова GetValue.

введите здесь описание изображения

Тип атрибута - «поиск», и когда я вызываю getIsDirty (), он возвращает false после того, как я выполняю setValue, поэтому я не уверен, что это правильный способ установить значение для типа «поиск».


person TWilly    schedule 11.09.2015    source источник


Ответы (1)


Owner - это специальное поле, его можно изменить только с помощью AssignRequest.

С CRM Online Update 1 это изменилось, специальные поля, такие как Owner или StateCode, могут быть обновлены с помощью запроса на обновление, но, насколько я знаю, это действительно со стороны сервера, для изменений на стороне клиента вам все равно нужно будет использовать AssignRequest.

Вот пример кода:

Использование запросов на назначение для назначения сущностей пользователю Использование Jscript и .NET в Microsoft Dynamics CRM 2011

РЕДАКТИРОВАТЬ: просто для справки, это способ установить поле поиска

var lookup = new Array();
lookup[0] = new Object();
lookup[0].id = '{487ecd0c-d8c1-e411-80eb-c4346bade4b0}';
lookup[0].name = 'Test Account';
lookup[0].entityType = 'account';
Xrm.Page.getAttribute("new_account").setValue(lookup);

или короткая версия

Xrm.Page.getAttribute("new_account").setValue([{ id: '{487ecd0c-d8c1-e411-80eb-c4346bade4b0}', name: 'Test Account', entityType: 'account'}]);
person Guido Preite    schedule 11.09.2015
comment
Спасибо, мне пришлось установить entityType на systemuser, но код javascript, который вы опубликовали, работал идеально для меня. - person TWilly; 11.09.2015
comment
просто любопытство, можете ли вы опубликовать точную версию CRM, над которой работаете? 7.X.X? - person Guido Preite; 11.09.2015
comment
7.0.1.247 DB 7.0.1.237 В нем говорится об обновлении CRM Online 2015, хотя я не вижу 1 - person TWilly; 11.09.2015
comment
Спасибо, мне нужно будет проверить это поведение с разными версиями CRM, однако хорошо, что опубликованный мной JS сработал для вас. - person Guido Preite; 11.09.2015
comment
@TWilly извините, если я беспокою вас другим вопросом, этот скрипт для смены владельца запускается, когда запись еще не создана или для существующих записей? - person Guido Preite; 12.09.2015
comment
Сейчас использую только для существующих записей. Я не пробовал создавать новую запись, но предполагаю, что это сработает. - person TWilly; 14.09.2015