Цитата:
Сообщение от
Артем Enot Грунин
Список сущностей и их коды можно посмотреть на странице http://<CRM Server>/sdk/list.aspx То что вы пытаетесь реализовать (одно поле лукапа для нескольких сущностей) не поддерживается системой. Ну, или вы хотите смоделировать поведение такого лукапа и реализовать подобную логику при помощи JS. Однако исходя из я что-то сомневаюсь... Поведение лукапа определяется связями между объектами - схемой метаданных, а не теми опциями которые можно установить через JS на форме объекта. У ряда системных объектов, действительно, можно выбирать объекты разных типов в одном лукапе, но подобный функционал для настройки не доступен.
Кое что получилось... На OnLoad повесил:
var userLookup = crmForm.all.qav_visaowneruserid;
var teamLookup = crmForm.all.qav_visaownerteamid;
teamLookup.lookuptypes = "8,9";
teamLookup.lookuptypenames = "systemuser:8,team:9";
// Устанавливаем иконку отображаемую при выборе
teamLookup.lookuptypeIcons = "/_imgs/ico_16_8.gif:/_imgs/ico_16_9.gif";
// Если в лукапе user хранится значение, тогда передаем его в лукап team
if (userLookup.DataValue != null) {
teamLookup.DefaultValue = userLookup.DataValue;
teamLookup.DataValue = userLookup.DataValue;
if (typeof (teamLookup.DataValue[0].data) != "undefined") {
teamLookup.DefaultValue[0].data = teamLookup.DataValue[0].data;
}
}
// Скрываем лукап user
crmForm.all.qav_visaowneruserid_c.style.display = 'none';
crmForm.all.qav_visaowneruserid_d.style.display= 'none';
а на onsave:
var userLookup = crmForm.all.qav_visaowneruserid;
var teamLookup = crmForm.all.qav_visaownerteamid;
// Если в лукапе team ничего не выбрано очищаем, лукап user.
if (teamLookup.DataValue == null) {
userLookup.DataValue = null;
}
else {
var vizaownertype = teamLookup.DataValue[0];
// Код 8 соответствует team
if (vizaownertype.type == "9") {
userLookup.DataValue = null;
} else {
userLookup.DataValue = teamLookup.DataValue;
teamLookup.DataValue = null;
}
}
Всё работает, за исключением того что в лукапе по пользователям (точнее в лукапе по рабочим группам с фильтром по пользователям) показываются удаленные и системные пользователи... но это не особая проблема...