Задача такого плана: имеется пользовательская сущность (
new_request), связанная связью
Многие-к-Одному с сущностями
Бизнес-партнёр и
Контакты. В этой сущности есть лукапы для выбора
Бизнес-партнёра и
Контакта. Суть в следующем: после выбора
Бизнес-партнёра, в лукапе
Контактов необходимо отобразить список
Контактов, непосредственно связанных с выбранным ранее
Бизнес-партнёром, а по умолчанию там отображён список всех сохранённых в базе
Контактов, что совсем неудобно. К тому же, после выбора
Контактов желательно, чтобы автоматически заполнились дополнительные поля
Электронная почта и
Телефон, указанные в выбранном
Контакте, но это позже. Думаю, если решу первую часть задачи, то решать вторую часть будет уже проще.
Самый оптимальный способ реализации по моему мнению - это использование JavaScript. Проблема в том, что с ним Я совершенно не знаком. К тому же проблема осложняется отсутствием компилятора, поэтому не совсем ясно, где же именно у меня ошибка и вообще, верным ли является мой код. Покопавшись в сущностях, атрибутах и связях нашёл атрибут
parentcustomerid в сущности contact. Судя по всему, в нём помещаются идентификаторы
Контактов, которые привязаны пользователем к
Бизнес-партнёрам. Описав задачу на бумаге пришёл к серии выводов:
1) Мне необходимо получить значение
account.accountid из моего лукапа, в котором выбирается Бизнес-партнёр (в моей сущности он называется
new_accountid);
2) Затем нужно получить значение
contact.parentcustomerid, который должен совпадать с
account.accountid;
3) Скрыть записи из списка выбора лукапа контактов, при условии, что
contact.parentcustomerid != new_request.new.accountid
Изучив кое-какие обучающие материалы в инете, Я так и не нашёл толкового кода, который бы работал с CRM 4. Почему-то не работает даже простейший вариант, в котором запоминается значение из лукапа, взятый с mmcrm.ru:
Цитата:
var lookup = crmForm.all.<имя_лукап_поля>.DataValue;
if (lookup[0] != null) {
var theText = lookup[0].name;
}
При выполнении этого скрипта появляется вот такое сообщение:
Подскажите хотя бы с чего мне начать и куда двигать, а то весь проект на этом месте застопорился. И какова вообще структура JavaScript-кода, предназначенного для кастомизации.
PS Важно это или нет, но добавлю, что весь код пишу в самой CRM на событии onChange