Добавить событие onchange в «заблокированное» поле в Dynamics CRM 4 - PullRequest
0 голосов
/ 31 июля 2009

Я настраиваю Dynamics CRM 4 и хотел бы изменить форму для сущности Case, чтобы добавить немного JavaScript в событие onchange для поля поиска в статье базы знаний (kbarticleid_ledit). Однако, когда я нажимаю Изменить свойства для этого поля, я получаю сообщение об ошибке:

Это поле принадлежит заблокированному разделу и его свойства не могут быть изменены.

Как мне обойти это и отредактировать? Есть ли обходной путь, подобный , настраивающий вид статьи ? Или я могу как-то взломать БД, чтобы "разблокировать" это поле?

Ответы [ 2 ]

2 голосов
/ 31 июля 2009

Вы также можете добавить код onchange из события onload. Например, если идентификатор заблокированного поля был заблокирован, вы можете сделать что-то вроде этого.

var field = crmForm.all.lockedField;
if (field)
    field.attachEvent('onchange', onChangeEventHandler);

function onChangeEventHandler()
{
    // do something 
}
2 голосов
/ 31 июля 2009

Ладно, я разобрался - пост здесь на случай, если кто-то столкнется с такой же проблемой. Вам необходимо экспортировать настройки для сущности Case в XML и отредактировать XML. Вы можете «разблокировать» раздел, найдя соответствующий элемент в XML и изменив атрибут locklevel = "1" на locklevel = "0" .

Однако разблокировка не помогла мне отредактировать код события onchange. В CRM уже был некоторый код для этого события, и когда я добавил свой код в пользовательский интерфейс, он добавил второе событие «onchange» в XML! Поэтому я был вынужден вручную отредактировать код в XML (с правильной XML-кодировкой, конечно), а затем повторно импортировать и опубликовать настройки.

...