28.03.2012, 10:18 | #1 |
Участник
|
CRM 4 и JavaScript
Задача такого плана: имеется пользовательская сущность (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 |
|
|
|