|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от Likefire
![]() X++: // Пример для CRM2011 var lookupValue = lookupAttrib.getValue(); if (lookupValue != null && lookupValue.length > 0) { // здесь первый элемент массива - это и есть выбранное в Lookup-поле значение, у которого есть три атрибута: id, name и type (либо entityType), которые характеризуют выбранный объект var lookupValueId = lookupValue[0].id; // далее: нужно получить атрибут в который нужно присвоить значение и собственно присвоить (пример для текстового атрибута) var assignAttrib = Xrm.Page.getAttribute('E'); // если атрибут в форме только для чтения - перед присвоением установим submit mode assignAttrib.setSubmitMode('always'); assignAttrib.setValue(fieldValue); } function SetValueto{ var lookupValue = Xrm.Page.data.entity.attributes.get("new_productgroupid").getValue(); // или так не правильно? if (lookupValue != null && lookupValue.length > 0) { // здесь первый элемент массива - это и есть выбранное в Lookup-поле значение, у которого есть три атрибута: id, name и type (либо entityType), которые характеризуют выбранный объект var lookupValueId = lookupValue[0].id; // далее: нужно получить атрибут в который нужно присвоить значение и собственно присвоить (пример для текстового атрибута) var assignAttrib = Xrm.Page.getAttribute(“[new_brend_test]”);// // если атрибут в форме только для чтения - перед присвоением установим submit mode assignAttrib.setSubmitMode('always'); assignAttrib.setValue(fieldValue); } } |
|
![]() |
#2 |
Участник
|
пропущены скобки, нужно
function SetValueto() { Цитата:
var lookupValue = Xrm.Page.getAttribute("new_productgroupid").getValue(); переменная fieldValue не определена если нужно не id, а текст с лукапа, то нужно писать так var lookupValueName = lookupValue[0].name; ... assignAttrib.setValue(lookupValueName ); |
|
![]() |
#3 |
Участник
|
Цитата:
Цитата:
Сообщение от Anros
![]() пропущены скобки, нужно
function SetValueto() { правильно, но можно короче var lookupValue = Xrm.Page.getAttribute("new_productgroupid").getValue(); переменная fieldValue не определена если нужно не id, а текст с лукапа, то нужно писать так var lookupValueName = lookupValue[0].name; ... assignAttrib.setValue(lookupValueName ); Спасибо большое. Вот что получилось на выходе: function SetValueto () { var lookupValue = Xrm.Page.getAttribute("new_productgroupid").getValue(); if (lookupValue != null && lookupValue.length > 0) { var lookupValueName = lookupValue[0].name; var assignAttrib = Xrm.Page.getAttribute(“new_brend_test”); assignAttrib.setSubmitMode('always'); assignAttrib.setValue(lookupValueName); } } Но, СРМ выдает ошибки при загрузке: --------------------------- Сообщение с веб-страницы Ошибка в изменяемом событии поля. Поле:window Событие ![]() Ошибка:Значением свойства "SetValueto" или является NULL, или оно не определено, или не является объектом Function |
|
![]() |
#4 |
Участник
|
|
|
![]() |
#5 |
Участник
|
Круто, спасибо, остался последний штрих.
|
|
![]() |
#6 |
Участник
|
Не понятно в чем проблема, опишите подробнее что не так.
|
|
![]() |
#7 |
Участник
|
Скрипт присваивает имя Lookup в то поле, что нужно. Проблема в том, что при первом выборе атрибут "Серийный номер" = название Lookup, но при сохранении подставляется название экземпляра кастомной сущности на которую ссылается Lookup.
А мне нужно, чтобы в поле присваивалось значение атрибута "Серийный номер". Не знаю корректно выразился или нет. |
|