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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.07.2011, 11:06   #1  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
ещё раз о фильтре Lookup и lookupbrowse filter
Всем доброго времени суток. Столкнулся с проблемой фильтрации Lookup. Как делать фильтр я знаю. Прочитал статьи и всё сделал как там написано и всё работает ровно так, как там написано. Однако возникают 2 проблемы.

1. В самой форме лукапа есть поле lookupbrowse. (Поле фильтра в правом верхнем углу). Если ввеcти туда значения и нажать фильтр, то плагин, который просматривает адресную строку, не будет производить фильтрацию, т.к. в адресной строке уже нет необходимого параметра. Аналогичная проблема при попытке отсортировать лукап. Насколько я понимаю в этот момент опять идёт обращение к плагину фильтрации.

2. Если ввести в поле Lookup на форме текстовое значение параметра, то фильтрации не произойдет.

Заранее спасибо
Старый 04.07.2011, 11:18   #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
Еще есть помощник по заполнению форм, который так же промахнется мимо вашего плагина. Проблему 2 можно решить отключением данной опции на форме (помощник тоже отключается). Фильтрацию в окне лукапа, насколько помню, тоже можно забороть, установкой нужного параметра на поле лукапа (что-то вроде browseenabled - нужно смотреть в атрибутах поля) - в этом случае поле поиска в лукапе будет неактивно.
Ну и, наконец, если все описанное выше не помогает, остается последний вариант - проверка выбранного значения по OnChange и карательные меры, если пользователь как-то обошел ваши фильтры.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 04.07.2011, 11:33   #3  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Эти методы известны. Но не хотеось бы применять радикальные. Хотелось получить полностью аналогичный функционал.
Старый 04.07.2011, 11:41   #4  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Проблему может решить если я научусь отлавливать следующий FETCH, то есть перед тем как будет отправлен запрос я имел возможность уснановить параметр, не важно куда. Возможно в тот же фетч, или куки. А уже в плагине распарсить это и применить фильтрацию
Старый 04.07.2011, 11:44   #5  
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
Зачем придумывать велосипед. Данный плагин уже написан - http://mscrmfilteredlookup.codeplex.com/
Но при этом всё равно прийдётся отключать авторезолв и помощник, для того чтобы лукап работал. Так же не стоит забывать про множественное редактирование и заблокировать поле для него.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

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

Последний раз редактировалось a33ik; 04.07.2011 в 11:50.
Старый 04.07.2011, 13:28   #6  
Артем 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
Цитата:
Сообщение от a33ik Посмотреть сообщение
Зачем придумывать велосипед. Данный плагин уже написан - http://mscrmfilteredlookup.codeplex.com/
Но при этом всё равно прийдётся отключать авторезолв и помощник, для того чтобы лукап работал. Так же не стоит забывать про множественное редактирование и заблокировать поле для него.
Я думаю уважаемый и имел в виду этот плагин.
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Проблему может решить если я научусь отлавливать следующий FETCH, то есть перед тем как будет отправлен запрос я имел возможность уснановить параметр, не важно куда. Возможно в тот же фетч, или куки. А уже в плагине распарсить это и применить фильтрацию
Вариант у вас, по сути, один: вносить изменения в страницу лукапа или вообще писать свой диалог и подменять системный. Все прочие более-менее поддерживаемые решения мы вам обозначили.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 04.07.2011, 13:32   #7  
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
Тому плагину по барабану какой пришёл запрос - с доп фильтром или без. Он принимает на вход Fetch, добавляет необходимый фильтр, который был добавлен скриптом и пропускает его далее. Я знаю, потому что мне необходимо было его расширять, потому как linked entity синтаксис он не понимал и я переписывал всё что внутри его.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 04.07.2011, 13:35   #8  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Плагин действительно помог.

var pageUrl = HttpContext.Current.Request.Url.ToString();
var refererUrl = HttpContext.Current.Request.ServerVariables["HTTP_REFERER"];

Вот эти строки.

В первой находится адрес, объекта, который вызвал. В случае если я введу данные из формы, прямо в поле лукапа, то в pageUrl будет адрес моей страницы.
Если с фильтрую или сортирую данные лукапа, то в refererUrl всё равно будет мой параметр из адресной строки, который я передаю.
Так что вот решение.
Если на 1 форме будет 2 связи с одной сущностью, при этом фильтровать надо только одну, то будет не весело, иначе всё вроде должно работать
Старый 04.07.2011, 16:44   #9  
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
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Плагин действительно помог.

var pageUrl = HttpContext.Current.Request.Url.ToString();
var refererUrl = HttpContext.Current.Request.ServerVariables["HTTP_REFERER"];

Вот эти строки.

В первой находится адрес, объекта, который вызвал. В случае если я введу данные из формы, прямо в поле лукапа, то в pageUrl будет адрес моей страницы.
Если с фильтрую или сортирую данные лукапа, то в refererUrl всё равно будет мой параметр из адресной строки, который я передаю.
Так что вот решение.
Если на 1 форме будет 2 связи с одной сущностью, при этом фильтровать надо только одну, то будет не весело, иначе всё вроде должно работать
Вроде как бы в плагине такая логика и закладывалась, если я не ошибаюсь...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 04.07.2011, 17:50   #10  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Цитата:
Сообщение от a33ik Посмотреть сообщение
Зачем придумывать велосипед. Данный плагин уже написан - http://mscrmfilteredlookup.codeplex.com/
Но при этом всё равно прийдётся отключать авторезолв и помощник, для того чтобы лукап работал. Так же не стоит забывать про множественное редактирование и заблокировать поле для него.

авторезолв не надо отключать. Остальное пока не проверял.
Старый 04.07.2011, 18:21   #11  
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
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
авторезолв не надо отключать. Остальное пока не проверял.
Авторезолв не подчиняется указанному плагину насколько я помню.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.07.2011, 12:11   #12  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Возможно не силён в терминологии. Авторезолв это ввод данных в поле лукапа, после минуя формы. Если речь об этом, то в pageUrl будет адрес нашёй формы. Мы смотрим, что это наша форма и фтльтруемая сущность тоже наша. значит фильтруем. Если на форме есть одинаковые сущности и одну из них надо фильтровать, то это не сработает, в противном случае все работает.
Старый 05.07.2011, 13:59   #13  
Артем 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
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Возможно не силён в терминологии. Авторезолв это ввод данных в поле лукапа, после минуя формы
Возможно я не силен в русском. Авторезолв - это автоматическое заполнение лукапа, при вводе в него текстового значения. Интересный момент состоит в том, что авторезолв может работать по нескольким связанным сущностям одновременно, а так же предлагать несколько результатов на выбор. Если мне не изменяет память, то при этом используется отдельный веб сервис. Так что лично у меня нет четкой уверенности, что в этом случае вы увидите адрес формы, откуда пришел этот вызов.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 05.07.2011, 15:10   #14  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Возможно. пробовал в singlelookup вижу адрес формы.
Старый 05.07.2011, 15:55   #15  
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
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Если мне не изменяет память, то при этом используется отдельный веб сервис.
Не старина - тут ты неправ - используется тот же самый Execute и FetchXml. Раскопал это ещё тогда, когда свой record counter писал.

Проблема заключается в том, что даже если можно увидеть адрес формы, но не получится получить фильтр который наложен на контрол лукапа при помощи скрипта как не старайся. Ну конечно же кроме случая, что фильтр статический, а не динамический.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.07.2011, 16:14   #16  
Артем 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://server/org/AppWebServices/LookupService.asmx. Насколько я понимаю именно он отвечает за работу авторезолв и формасистант. То что он в конечном итоге использует стандартные системные механизмы меня совершенно не удивляет
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 05.07.2011, 16:33   #17  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Цитата:
Сообщение от a33ik Посмотреть сообщение
Не старина - тут ты неправ - используется тот же самый Execute и FetchXml. Раскопал это ещё тогда, когда свой record counter писал.

Проблема заключается в том, что даже если можно увидеть адрес формы, но не получится получить фильтр который наложен на контрол лукапа при помощи скрипта как не старайся. Ну конечно же кроме случая, что фильтр статический, а не динамический.
Да действительно. Я упустил этот момент.
Теги
browse, filter, lookup, фильтр, crm

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM DE LA CREME! Some more useful javascripts for MS CRM Blog bot Dynamics CRM: Blogs 0 04.05.2010 11:05
mscrmblog: Mini Preview Window for Contact Lookup Field Blog bot Dynamics CRM: Blogs 0 10.03.2010 01:05
Ещё вопрос по lookup Dekan Dynamics CRM: Разработка 5 05.10.2009 07:23
Jim Wang: CRM Filtered Lookup Multi Blog bot Dynamics CRM: Blogs 0 06.08.2009 06:11
mscrm4ever: Displaying a lookup with related entity fields Blog bot Dynamics CRM: Blogs 0 19.03.2009 07:05
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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