Фильтр в отчете из активной записи в разделе

Создаю отчет FastReport для раздела "Документы". Нужно что бы при запуске отчета не открывалось окно фильтра, а отчет создавался для выбранной в разделе записи. Создаю запрос на выборку, в нем создаю параметр ID как уникальный идентификатор, тип параметра - Ввод. В поле from выбираю таблицу tbl_Docement. В разделе where добавляю CompareFilter в котором указываю ID из данной таблицы равно ID из раздела параметров, ну и добавляю какие мне нужны в разделе select. Создаю Dataset. Создаю сервис FastReport. В нем как положено добавляю нужные поля. Добавляю отчет в раздел документы с типом фильтрации "Для выделенных записей" и добавляю в раздел "Документы". Отчет открывается пустой. Не срабатывает фильтр для выделенной записи. Если в запросе на выборку убрать фильтр, то отчет выполняется по всем записям. Что я делаю не так? Как мне сделать фильтр по активной записи?

Нравится

1 комментарий

Здравствуйте Александр,
Фильтрация по выделенной записи в реестре должна отработать даже если нет Compare фильтра в SQ
Приведу пример:
2
На данный момент советую убрать CompareFilter с вашего SQ

Также проверьте в Dataset ключевое поле
1

Если это не поможет, проверьте, отрабатывает ли фильтрация по выделенной записи в других разделах.
Для конкретного случая, вы можете проверить какой запрос идет в БД, средством SQL Server Profiler
Для примера, должен идти такой запрос

exec sp_executesql N'SELECT
	[tbl_Account].[Name] AS [Name],
	[tbl_Account].[ID] AS [ID],
	[tbl_Account].[OfficialAccountName] AS [OfficialAccountName]
FROM
	[dbo].[tbl_Account] AS [tbl_Account]
WHERE([tbl_Account].[ID] IN (@P1))',N'@P1 nvarchar(4000)',N'{989DA7AD-A672-427C-A0A8-0D72D3A6B150}'
Показать все комментарии