AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.06.2010, 23:52   #5  
guenberg is offline
guenberg
Участник
 
41 / 11 (1) +
Регистрация: 24.05.2010
Цитата:
Сообщение от Артем 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;
}
}


Всё работает, за исключением того что в лукапе по пользователям (точнее в лукапе по рабочим группам с фильтром по пользователям) показываются удаленные и системные пользователи... но это не особая проблема...
За это сообщение автора поблагодарили: Артем Enot Грунин (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Получить список записей, к которым есть доступ Bondonello Dynamics CRM: Разработка 10 16.01.2010 00:55
Где можно посмотреть сколько дней осталось пользоваться демо лицензией CRM4.0? Grigoriy Dynamics CRM: Администрирование 4 30.10.2009 09:25
Список с выбором нескольких значений Talisman2005 Dynamics CRM: Функционал 11 28.10.2008 19:18
Где можно хранить системные невидимые пользователям поля в CRM 4.0 ? Bakai Madybaev Dynamics CRM: Разработка 17 08.07.2008 09:41
Маркетинговый список Lazarus Dynamics CRM: Функционал 3 09.06.2008 20:15

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:25.