05.09.2008, 15:55 | #1 |
Участник
|
Фильтрация многоуровневых отчетов
Добрый день!
Есть отчет - диаграмма, по клику мыши на столбце проваливаемся в подотчет - таблицу. НО фильтр, заданный пользователем перед запуском отчета не действует на подчиненный отчет, а только на первый - основной (диаграмму). Подскажите, пожалуйста, можно ли заставить подчиненный отчет автоматически принимать фильтр основного отчета? |
|
05.09.2008, 21:40 | #2 |
Moderator
|
Думаю что нет. Фильтр он неявно передается.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
07.09.2008, 13:43 | #3 |
Участник
|
Вот тут:
http://blog.customereffective.com/bl...ing/index.html человек, как я понял, пишет, что простое использование CRMAF_Filtered не позволяет использовать фильтр основного отчета на подотчете, а вместо этого надо брать фильтр как строку запроса и делать в подотчете динамический запрос селект фром селект... Только так и не понял, откуда он берет запрос фильтра - какая-то глобальная переменная в подотчете, в основном отчете, которую потом тащить через параметр, или параметр основного отчета, который потом надо будет тащить в подотчет. Перепробовал все, то не работает, то CRM не принимает репорт. Может кто сталкивался с этим, объясните, пожалуйста русским языком, как это делается |
|
07.09.2008, 15:16 | #4 |
Moderator
|
Надо же, я и не знал, что такая фишка работает. Все просто - надо завести в отчете параметр который будет называться CRM_Filtered<Название записи> в этом случае к отчету построенному на динамической генерации запроса дудет применяться фильтрация CRM. Это мы знали и до этого, НО фишка в том, что такой параметр автоматически будет заменяться строкой фильтрующего запроса! Иными словами передавая этот параметр в подотчет вы передаете туда пользовательский фильтр. Иными словами пользователь действительно проваливается в детализацию выборки. Все просто!
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
За это сообщение автора поблагодарили: Олег Михайлов (1). |
07.09.2008, 15:20 | #5 |
Moderator
|
Где-то в свойствах вашей диаграммы есть параметр Jump to report и там же пункт propertys. В нем задается какие параметры передавать в поддотчет. В вашем случае надо передать CRM_Filtered<Название записи> а в подотчете испотзовать его в конструкции типа
SELECT * FROM ('+@CRM_FilteredOpportunity+') AS Opportunity В этом случае вы сделаете запрос из фильтрованного подзапроса.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
07.09.2008, 20:10 | #6 |
Участник
|
Эх, жаль поздно прочитал ваш ответ, уже все по-другому сделал:
на основном отчете завел новый DataSet, в котором вытащил id записей для всех сущностей всех отчетов, фильтрованные по CRMAF_ как обычно, потом завел внутренние multivalue параметры, в которые выгрузил отфильтрованные id и использовал их в качестве фильтра на всех DataSet отчетов. Получилась жутко запутанная вещь, но кое-как работает |
|
22.09.2008, 13:15 | #7 |
Участник
|
2Артем Enot Грунин.
Не получается так сделать. Цитата:
Где-то в свойствах вашей диаграммы есть параметр Jump to report и там же пункт propertys. В нем задается какие параметры передавать в поддотчет. В вашем случае надо передать CRM_Filtered<Название записи> а в подотчете испотзовать его в конструкции типа
SELECT * FROM ('+@CRM_FilteredOpportunity+') AS Opportunity В этом случае вы сделаете запрос из фильтрованного подзапроса. там ведь нужно указать имя и значение параметра. Если прописать только имя CRM_FilteredOpportunity - этого будет достаточно (ведь value тогда остается пустым)? 2. На приеме параметра в подотчете: если просто прописать в коде запроса @CRM_FilteredOpportunity, то отчет ругается, что CRM_FilteredOpportunity не объявлен в этом отчете. Если его завести, то он конечно будет пустым. Может еще какие-нить моменты нужно указать для работы этой функциональности? |
|
28.09.2008, 13:36 | #8 |
Moderator
|
2Alir:
2. Почитайте, пожалуйста, раздел Report Writers Guide, SDK CRM. Через @ объявляются параметра отчета. Если создать подобный параметр (с префиксом CRM_), то отчету станет доступна автофильтрация CRM. В этом случае, если пользователь наложит ограничение, система сама заменит значение этого параметра, на троку запроса. 1. В подотчете так же должен быть аналогичный параметр.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Не работает модуль отчетов | 25 | |||
Предварительная фильтрация по теме | 3 | |||
формирование отчетов | 6 | |||
Настройки категории в списки отчетов с помощью ISV.config | 1 | |||
Доставка отчетов по e-mail | 0 |
|