Help!!! Для построения отчета, нужно добавить фильтрацию, причем все путем конфигурирования в сервисе типа sq_ (ни каких scr_), создаю нужный мне пользовательский SQL-фильтр с текстом:
[tbl_Opportunity].[ChannelID] = (SELECT [DepartmentID] From [tbl_Contact] where [tbl_Contact].[ID]=:DefDepartmentID)
где :DefDepartmentID я так обращаюсь к созданному мной параметру DefDepartmentID типа "функция" значение "Кoнтaкт тeкyщeгo пoльзoвaтeля", запускаю на использование отчет - отчет пуст, смотрю в профайлере как система видит заданный мной параметр:
,@P1 varchar(1)',NULL
вообщем не правильно видимо я к параметру обратился, подскажите как правильно в данном случае переписать код?

Нравится

12 комментариев

Здравствуйте. Попробуйте создать вместо sql-фильтра обычный Фильтр сравнения (Compare filter), только в качестве правого операнда выбрать Value subquery (подзапрос):

Блин, ваша картинка не отображается, выбрал Value subquery (подзапрос), не пойму где этот подзапрос создать?

Нет туплю уже вижу, сейчас буду пробывать. Спасибо.

Отлично, помогло, спасибо, сам бы ни когда такое волшебное слово Value subquery не увидел.

Вот опять задача похожая, все тоже самое как и раньше,но теперь нужно поставить фильтр типа IN, т.е WHERE [tbl_Opportunity].[ChannelID] IN (SELECT [DepartmentID] From [Terrasoft332_Develop].[dbo].[tbl_ContactDepartment] where [tbl_Contact].[ID]= "Параметр (Кoнтaкт тeкyщeгo пoльзoвaтeля)"), то есть оказалось что у них еще на закладке детали прячутся Департаменты, соответственно, есть ли аналогичный механизм для Фильтра типа IN = подзапрос?

Алексей,
фильтр типа IN успешно заменяется на фильтр типа Exists путем добавления в запрос этого exists фильтра вроде:

... AND [tbl_Contact].DepartmentID = [tbl_Opportunity].[ChannelID]

Спасибо, получилось с Exists правдо пришлось попариться в начале чтоб правильно все заработало.

"Жуков Алексей Иванович" написал:

Блин, ваша картинка не отображается, выбрал Value subquery (подзапрос), не пойму где этот подзапрос создать?


Походу у меня с глазами все гораздо хуже :-( Как добавить подзапрос к сравнению?

Выбрать в списке полей самый последний пункт Value subquery.

Глюк какой-то пока sq запрос не переоткрыл подзапрос не появлялся...

Валентин Петрович, исправлено в последних версиях (начиная с 3.4.1)

все ясно
у меня 3.4.0
спасибо

Показать все комментарии