Создаю отчет FastReport для раздела "Документы". Нужно что бы при запуске отчета не открывалось окно фильтра, а отчет создавался для выбранной в разделе записи. Создаю запрос на выборку, в нем создаю параметр ID как уникальный идентификатор, тип параметра - Ввод. В поле from выбираю таблицу tbl_Docement. В разделе where добавляю CompareFilter в котором указываю ID из данной таблицы равно ID из раздела параметров, ну и добавляю какие мне нужны в разделе select. Создаю Dataset. Создаю сервис FastReport. В нем как положено добавляю нужные поля. Добавляю отчет в раздел документы с типом фильтрации "Для выделенных записей" и добавляю в раздел "Документы". Отчет открывается пустой. Не срабатывает фильтр для выделенной записи. Если в запросе на выборку убрать фильтр, то отчет выполняется по всем записям. Что я делаю не так? Как мне сделать фильтр по активной записи?
Нравится
Здравствуйте Александр,
Фильтрация по выделенной записи в реестре должна отработать даже если нет Compare фильтра в SQ
Приведу пример:
На данный момент советую убрать CompareFilter с вашего SQ
Также проверьте в Dataset ключевое поле
Если это не поможет, проверьте, отрабатывает ли фильтрация по выделенной записи в других разделах.
Для конкретного случая, вы можете проверить какой запрос идет в БД, средством 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}'