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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.02.2011, 12:20   #1  
zkk is offline
zkk
Участник
 
14 / 10 (1) +
Регистрация: 16.02.2010
? Фильтр по роли пользователя в лукапе
В форме Сделки добавляю новый лукап Ответственного на основе всех пользователей.
Но необходимо при открытии лукапа дополнительно принудительно отфильтровать только тех пользователей, у которых есть роль Ответственный.

Как лучше это можно сделать?
Старый 28.02.2011, 12:36   #2  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Вы не указали версию системы.
Лучшее из всех поддерживаемых решений находится тут: http://mscrmfilteredlookup.codeplex.com/
Из не поддерживаемых: http://wiki.crrm.ru/index.php/Filtered_Lookup
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional

Последний раз редактировалось Артем Enot Грунин; 28.02.2011 в 12:39.
За это сообщение автора поблагодарили: zkk (1).
Старый 01.03.2011, 15:23   #3  
zkk is offline
zkk
Участник
 
14 / 10 (1) +
Регистрация: 16.02.2010
?
Спасибо за подсказки.
Да я использую 4 версию и поставил плагин из первого варианта.
Потом создал Fetch-запрос такого вида, который выбирает всех пользователей, кто имеет роль "Лидер проекта"
Код:
crmForm.all.leaderrole.additionalparams= "fetchXml=<fetch mapping='logical'>"
+  "<entity name='role'>"
+    "<filter><condition attribute='name' operator='eq' value='Лидер проекта' /></filter>"
+    "<link-entity name='systemuserroles' from='roleid' to='roleid'>"
+      "<link-entity name='systemuser' from='systemuserid' to='systemuserid'>"
+        "<attribute name='fullname' />"
+      "</link-entity></link-entity></filter></entity></fetch>");
Вставил на Onload в форму Сделки(opportunity).
И ничего не фильтруется все равно.

Сам запрос проверил, он точно выбирает то что нужно. Поля все созданы и не ругается форма ни на что. Но не делает фильтрацию.
Что может быть не так?
Старый 01.03.2011, 16:26   #4  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
В реестр внесли нужные изменения? На форме скрипт корректно отрабатывает? Отлаживать плагин пробовали?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 01.03.2011, 16:39   #5  
zkk is offline
zkk
Участник
 
14 / 10 (1) +
Регистрация: 16.02.2010
Да все внес в реестр как надо и протестировал на примере стандартном - все работает.

Пробовал также и как в примере изначально советуют

Код:
crmForm.all.leaderrole.AddParam('filters', '<filters><filter entity name='role'>"
+    "<condition attribute='name' operator='eq' value='Лидер проекта' /></filter>"
+    "<link-entity name='systemuserroles' from='roleid' to='roleid'>"
+      "<link-entity name='systemuser' from='systemuserid' to='systemuserid'>"
+        "<attribute name='fullname' />"
+      "</link-entity></link-entity></filter></filters>');
и тоже никакой реакции, но и никаких ошибок
Старый 01.03.2011, 17:19   #6  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Итак почему ваша фильтация не работает:
1. Плагин не работает с линкованными сущностями (чтобы поправить это вам необходимо будет дописать в плагин эту возможность).
2. Запрос построен вокруг сущности роль, хотя в вашем случае запрос должен быть построен вокруг системюзера, так что прийдётся ревернтуть запрос.
3. На какое поле вы пытаетесь повесить этот фильтр? Если на ownerid (потому что если мне не изменяет память такого поля как leaderrole - в стандарте нет, а если поле кастомное, то оно как минимум должно иметь префикс) то работать это будет только во время создания потому как во время редактирования у вас между окнами редактирования и лукапа есть дополнительное окно - с выбором на кого асайнить запись - на себя или другого пользователся и как раз в эту форму фильтр и пойдёт.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: zkk (1).
Старый 01.03.2011, 18:52   #7  
zkk is offline
zkk
Участник
 
14 / 10 (1) +
Регистрация: 16.02.2010
Thumbs up
Да это кастомное поле
Я перевернул запрос, от systemuser и вот в итоге что получилось и главное заработало!

Спасибо огромное за помощь всем! Всех плюсую


Код:
var field = crmForm.all.epg_leaderrole;
if(crmForm.ObjectId == null)
{
    field.Disabled = true;
}
else
{
    field.lookupbrowse = 1; 

field.AddParam("search", "<fetch mapping='logical'>"
+  "<entity name='systemuser'>"
+    "<attribute name='fullname' />"
+    "<link-entity name='systemuserroles' from='systemuserid' to='systemuserid'>"
+    "<link-entity name='role' from='roleid' to='roleid'>"
+    "<filter><condition attribute='name' operator='eq' value='Лидер проекта' />"
+    "</filter>"
+      "</link-entity></link-entity></entity></fetch>");
}
Старый 02.03.2011, 03:42   #8  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от zkk Посмотреть сообщение
Да это кастомное поле
Я перевернул запрос, от systemuser и вот в итоге что получилось и главное заработало!

Спасибо огромное за помощь всем! Всех плюсую


Код:
var field = crmForm.all.epg_leaderrole;
if(crmForm.ObjectId == null)
{
    field.Disabled = true;
}
else
{
    field.lookupbrowse = 1; 

field.AddParam("search", "<fetch mapping='logical'>"
+  "<entity name='systemuser'>"
+    "<attribute name='fullname' />"
+    "<link-entity name='systemuserroles' from='systemuserid' to='systemuserid'>"
+    "<link-entity name='role' from='roleid' to='roleid'>"
+    "<filter><condition attribute='name' operator='eq' value='Лидер проекта' />"
+    "</filter>"
+      "</link-entity></link-entity></entity></fetch>");
}
Судя по всему всё таки использовалось второе, неподдерживаемое решение.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка при создании пользователя CRM Буденый Dynamics CRM: Администрирование 11 14.07.2010 16:30
Удалили пользователя из домена. Чем это грозит Dynamics CRM? Evgenia_f Dynamics CRM: Администрирование 9 20.05.2009 15:46
Ошибка после изменениями имени пользователя в AD sergeyjb Dynamics CRM: Администрирование 20 29.10.2008 18:27
Создание пользователя через SDK Tigra Dynamics CRM: Разработка 1 18.10.2005 18:27
Добавление нового пользователя nasty_C Dynamics CRM: Администрирование 2 29.09.2005 17:37

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

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

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