24.09.2010, 09:57 | #1 |
Участник
|
избирательность сущьности в плагине на Execute
Доброго времени суток) Хотел спросить совета у знающих людей: есть плагин на событие Execute на prestage(фильтрует продукты нужным образом но не в этом суть) он СЕЙЧАС действует на ВСЕ поиски продуктов, а мне надо чтобы он фильтровал только в конкретной сущности а еще конкретнее при вызове одной определенной вьюшки.
Вопрос: как это можно реализовать? как из плагина проверять из какой сущности было execute?
__________________
rurik |
|
24.09.2010, 10:35 | #2 |
Чайный пьяница
|
По идее можно это сделать. Объясните конкретнее, пожалуйста - из какой вьюхи плнируется эти данные фильтровать?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
24.09.2010, 11:04 | #3 |
Участник
|
Все делалось на основе вот этой статьи http://mmcrm.ru/?p=1230&cpage=1#comment-1419 для связи N:N
есть кастомная сущность,у нее есть кнопка на одной из вкладок "добавить существующий продукт", нажимаешь на кнопку открывается вьювка, в ней показываются отфильтрованные по теме продукты(это еще скрипт),НО поиск все портит(на нем фильтра нет),тут то и нужен плагин на execute, НО на текущий момент он работает на ЛЮБОЙ поиск продукта,чего естественно быть не должно. скрин вьювки прикрепил. это вьювка продукта с фильтром по "тема"
__________________
rurik |
|
24.09.2010, 11:22 | #4 |
Чайный пьяница
|
Возможное решение:
1. Судя по всему вы использовали это решение, чтобы добавить возможность фильтрации. К сожалению придётся всё вернуть к первоначальному. 2. Ознакомьтесь с этой статьёй. Надеюсь она сможет направить Вас в правильную сторону. PS По поводу вышеобозначенного блога - рекомендую читать первоисточники, а не перепечатки.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
24.09.2010, 11:40 | #5 |
Участник
|
Спс за первоисточник я именно этим плагином и пользуюсь(из 2 вашего комента) только я немного его подправил : у меня в HttpContext.Current.Request.QueryString при вызове конкретно из этой вьювке нет ни одного параметра(ее значение =={}) поэтому я просто из context беру fetch запрос и чисто работая как со строкой добавляю в него свое <condition ........>.
P.S а что вы скажете насчет того что мне подсказали что можно использовать " передача дополнительных параметров при вызове WebService CRM" ? это можно использовать чтобы в плагине узнавать из какой сущности был вызван execute ??
__________________
rurik |
|
24.09.2010, 12:04 | #6 |
Чайный пьяница
|
А в онлоад карточки код добавляете, который позволит отследить откуда пришёл вызов?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
24.09.2010, 22:13 | #7 |
Участник
|
нет, не добавляю, но такой вариант решения мне очень нравится. расскажите пожалуйста поподробнее как можно это реализовать из onload формы) буду очень благодарен)
__________________
rurik |
|
24.09.2010, 22:52 | #8 |
Чайный пьяница
|
Цитата:
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
27.09.2010, 09:57 | #9 |
Участник
|
Спс,кажется до меня начало доходить)
__________________
rurik |
|
28.09.2010, 10:39 | #10 |
Участник
|
до меня начало доходить и часть даже дошла в статье механизм такой: подменяем вьвку и в скрипте добавляем параметр lookupSrc = lookupSrc + "&id=" + lookupId.DataValue[0].id; и плагин на него то и срабатывает,НО этот вариант НЕ отрабатывает на поиск в уже открытой вьвке
я видимо немного по другому сделал: в скрипте вывожу заранее сделанную вьвку с нужным фильтром , а плагин у меня по задумке должен обрабатывать этот поиск в уже открытой вьвке. на данный момент он обрабатывает этот поиск и фильтрует как надо,НО !!! он также отрабатывает и на любой другой поиск нужной сущности ( встает вопрос: Как заставить плагин отрабатывать только на нужную вьвку?
__________________
rurik |
|
28.09.2010, 10:51 | #11 |
Чайный пьяница
|
Цитата:
Сообщение от u.rastegaev
до меня начало доходить и часть даже дошла в статье механизм такой: подменяем вьвку и в скрипте добавляем параметр lookupSrc = lookupSrc + "&id=" + lookupId.DataValue[0].id; и плагин на него то и срабатывает,НО этот вариант НЕ отрабатывает на поиск в уже открытой вьвке
я видимо немного по другому сделал: в скрипте вывожу заранее сделанную вьвку с нужным фильтром , а плагин у меня по задумке должен обрабатывать этот поиск в уже открытой вьвке. на данный момент он обрабатывает этот поиск и фильтрует как надо,НО !!! он также отрабатывает и на любой другой поиск нужной сущности ( встает вопрос: Как заставить плагин отрабатывать только на нужную вьвку?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
28.09.2010, 11:29 | #12 |
Участник
|
да в том то и проблема, что я хочу чтобы плагин работал на поле "поиск" я его на скрине выше отмечал, а когда этим поиском ищешь то уже никакой параметр не передается впринципе, он передается только при подмене вьюшки, а когда она уже загрузилась и мы сверху вводим часть названия и потом клацаем на "найти" то то что мы передавали параметр в скрипте это уже не работает.
это мой скрипт на onload Цитата:
var nnId = "gar_gar_comments_product";
var addParam = "&n=gar_comments"; // Дополнительный параметр который необходимо передать в строке запроса var lookupTypeCode = 1024; // entity type code var lookupViewId = "84913017-68C1-DF11-B604-00155D00282B"; // the view id of referenced entity var lookupSrc = "/" + ORG_UNIQUE_NAME + "/ISV/lookup/lookupmulti.aspx"; var lookupArg = "/" + ORG_UNIQUE_NAME + "/_root/homepage.aspx?etc=" + lookupTypeCode +"&viewid=" + lookupViewId; // Добавляем к URL диалогового окна мульти-лукапа дополнительный параметр // lookupArg += addParam; var lookupEntityTypeCode; var navId = document.getElementById("nav" + nnId); if (navId != null) { var la = navId.onclick.toString(); la = la.substring(la.indexOf("loadArea"), la.indexOf(";")); navId.onclick = function() { eval(la); var areaId = document.getElementById("area" + nnId + "Frame"); if(areaId != null) { areaId.onreadystatechange = function() { if (areaId.readyState == "complete") { var frame = frames[window.event.srcElement.id]; var li = frame.document.getElementsByTagName("li"); for (var i = 0; i < li.length; i++) { var action = li[i].getAttribute("action"); if(action != null && action.indexOf(nnId) > 1) { lookupEntityTypeCode = action.substring(action.indexOf("\(")+1, action.indexOf(",")); li[i].onclick = CustomLookup; break; } } } } } } } function CustomLookup() { var lookupItems = window.showModalDialog(lookupSrc ,lookupArg , "dialogWidth:800px; dialogHeight:600px;"); if (lookupItems) // This is the CRM internal JS funciton on \_static\_grid\action.js { if ( lookupItems.items.length > 0 ) { AssociateObjects( crmFormSubmit.crmFormSubmitObjectType.value, crmFormSubmit.crmFormSubmitId.value, Product , lookupItems, true, null, nnId); } } }
__________________
rurik |
|
28.09.2010, 11:36 | #13 |
Чайный пьяница
|
Цитата:
Сообщение от u.rastegaev
да в том то и проблема, что я хочу чтобы плагин работал на поле "поиск" я его на скрине выше отмечал, а когда этим поиском ищешь то уже никакой параметр не передается впринципе, он передается только при подмене вьюшки, а когда она уже загрузилась и мы сверху вводим часть названия и потом клацаем на "найти" то то что мы передавали параметр в скрипте это уже не работает.
это мой скрипт на onload Цитата:
Сообщение от a33ik
Возможное решение:
1. Судя по всему вы использовали это решение, чтобы добавить возможность фильтрации. К сожалению придётся всё вернуть к первоначальному.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
30.09.2010, 11:36 | #14 |
Участник
|
а можете посоветовать какую нибудь статью по webservice crm? что нибудь типа " первое знакомство с webservice crm " и т.д. если есть на примете на русском то лучше такую, на англ тоже можно есессно) И будет очень хорошо если что нибудь по "передаче параметров при вызове webservice crm" заранее благодарен)))
__________________
rurik |
|
30.09.2010, 12:20 | #15 |
Чайный пьяница
|
Цитата:
Сообщение от u.rastegaev
а можете посоветовать какую нибудь статью по webservice crm? что нибудь типа " первое знакомство с webservice crm " и т.д. если есть на примете на русском то лучше такую, на англ тоже можно есессно) И будет очень хорошо если что нибудь по "передаче параметров при вызове webservice crm" заранее благодарен)))
http://technet.microsoft.com/en-us/l.../bb887784.aspx http://technet.microsoft.com/en-us/l.../cc150864.aspx
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
|