12.01.2009, 13:27 | #1 |
Участник
|
Как наложить фильтр на форму выбора значений?
Всем привет!!
Мне необходимо в форме выбора значений (форма которая в CRM вместо lookup по нажатии на лупу) динамически накладывать фильтр на отображаемые записи, как это можно сделать? Например выбрать ответственного для обращения, из списка только тех пользователей у которых есть адрес электронной почты? Спасибо! |
|
12.01.2009, 14:18 | #2 |
Moderator
|
Не ясно о какой форме идет речь.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
12.01.2009, 14:20 | #3 |
Kostya Afendikov
|
Ищите информацию по FetchXml
Пример: crmForm.all.primarycontactid.lookupbrowse=1; //переводим лукап в режим для фильтрации if(crmForm.ObjectId == null){ //Указываем в additionalparams строку FetchXml-запроса для нашего фильтра crmForm.all.primarycontactid.additionalparams = "fetchXml=<fetch mapping='logical'><entity name='contact'><all-attributes/><filter type='and'><condition attribute='parentcustomerid' operator='eq' value='' /></filter></entity></fetch> "; } else { crmForm.all.primarycontactid.additionalparams = "fetchXml=<fetch mapping='logical'><entity name='contact'><all-attributes/><filter type='and'><condition attribute='parentcustomerid' operator='eq' value='" + crmForm.ObjectId+"' /></filter></entity></fetch> "; } после того, как вы сделаете crmForm.all.primarycontactid.lookupbrowse = 1, в форме лукапа исчезнет поле для быстрого поиска, поэтому лучше фильтровать если уверены, что мало записей будет, ну < 100 |
|
12.01.2009, 18:24 | #4 |
Участник
|
|
|
13.01.2009, 09:08 | #5 |
Moderator
|
Ну тогда предыдущий респондент высказался правильно. Единственное я не уверен, что нужно отключать lookupbrowse. Вот топик на эту тему: http://crm.georged.id.au/post/2008/0...-in-CRM-4.aspx
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
19.01.2009, 12:21 | #6 |
Участник
|
А можно сделать как-нибудь так, чтобы применив вышеописанный фильтр к лукапному диалогу, еще осталась возможность поискать значения внутри получившейся выборки?
__________________
С уважением, Tony Green |
|
19.01.2009, 12:49 | #7 |
Moderator
|
Я думаю не надо запрещать поиск: закоментируйте строчку
Код: crmForm.all.primarycontactid.lookupbrowse=1;
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
19.01.2009, 12:54 | #8 |
Участник
|
Пробовал: поле для поиска действительно не исчезает, а болтается на прежнем месте, но в нем прописан ровно тот кусок от fetch-XML, который накладывали в OnLoad формы Можно как-нибудь выкрутиться?
__________________
С уважением, Tony Green |
|
19.01.2009, 13:22 | #9 |
Moderator
|
Вы делали как в приведенной мной ссылке или как предлагает Bondonello?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
19.01.2009, 13:29 | #10 |
Участник
|
Я лазил по ссылке, и сделал по образу и подобию.
__________________
С уважением, Tony Green |
|
19.01.2009, 13:48 | #11 |
Moderator
|
Хм... Видимо только так эта штука и работает... Есть сторонний продукт который добавляет в систему нужную вам функциональность, но он платный.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
19.01.2009, 14:01 | #12 |
Kostya Afendikov
|
|
|
19.01.2009, 14:28 | #13 |
Moderator
|
Да да, это самое. Его даже MS рекомендует. В следующем году 5.0 (она же V.Next) выйдет, так что накроется их нехитрый бизнес.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
21.07.2009, 11:44 | #14 |
Участник
|
Написал скрипт:
if(crmForm.ObjectId == null) { crmForm.all.primarycontactid.Disabled = true; } else { crmForm.all.primarycontactid.lookupbrowse = 1; crmForm.all.primarycontactid.AddParam("search", "<fetch mapping='logical'><entity name='contact'>" + "<filter><condition attribute='parentcustomerid' operator='eq' value='" + crmForm.ObjectId + "' /></filter></entity></fetch>"); } Однако при открытии формы пишет: crmForm.all.primarycontactid is null or not an object. CRM 4.0 Последний раз редактировалось vital.mih; 21.07.2009 в 11:49. |
|
21.07.2009, 11:56 | #15 |
Консультант-джедай
|
А поле существует?
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
21.07.2009, 12:00 | #16 |
Участник
|
да, конечно
|
|
21.07.2009, 12:03 | #17 |
Консультант-джедай
|
попробуйте убрать crmForm.all.primarycontactid.Disabled = true;
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
21.07.2009, 12:05 | #18 |
Участник
|
|
|
21.07.2009, 12:11 | #19 |
Участник
|
разобрался, действительно поля не было, у меня оказалось 2 одинаковых поля с таким именем, и на форме стояло не то.
|
|
Теги |
javascript, lookup, lookup filter |
|
Похожие темы | ||||
Тема | Ответов | |||
Вызов стандартного окна выбора из кастом-страницы | 6 | |||
Как изменить печатную форму счета | 8 | |||
Про фильтр в отчетах | 2 | |||
Фильтр улиц по городу | 6 | |||
фильтр CRMAF_ в отчетах | 5 |
|