Добавьте событие onchange к & # 8220; заблокированному & # 8221; поле в динамике CRM 4

StackOverflow https://stackoverflow.com/questions/1209845

Вопрос

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

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

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

Это было полезно?

Решение 2

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

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

Другие советы

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

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

function onChangeEventHandler()
{
    // do something 
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top