Счетчик печати SSRS - PullRequest
1 голос
/ 21 июля 2011

Я довольно новичок в SSRS, и я почти закончил отчет, который меня попросили сделать, все работает, как задумано, но мой клиент просто попросил меня указать, сколько времени отчет был напечатан в его текущей форме, в заголовке указанного отчета.

Итак, мой отчет имеет 2 параметра: дату начала и дату окончания.

Допустим, мой клиент выводит отчет за период с 05-05-2005 по 06-06-2006 и печатает его с указанием «ИМЯ ОТЧЕТА (Печать # 1)» в заголовке / заголовке. И затем, если он решит вернуться через неделю и напечатать точно такой же отчет, в нем будет указано «ИМЯ ОТЧЕТА (Печать № 2)».

Есть ли в любом случае, чтобы сделать это? Пока мои исследования заставляют меня верить, что это невозможно.

Заранее спасибо за любые предложения / решения!

Ответы [ 2 ]

3 голосов
/ 01 июня 2012

Для будущих читателей: нет необходимости создавать собственную регистрацию запросов.

Вы можете запросить таблицу ReportServer.dbo.ExcecutionLog.Он содержит много информации о запросах отчетов, включая параметры в формате XML.Вы можете сделать группу / рассчитывать на это, чтобы определить количество предыдущих выполнений определенного отчета.

больше информации о извлечении информации из журнала выполнения здесь: http://technet.microsoft.com/en-us/library/ms155836(v=sql.90).aspx

Единственная проблема заключается ввсе еще определяя, печатал ли пользователь отчет.Вы также можете получить это из ExecutionLog:

  • столбец Формат - это должно быть «Image (emf)» или что-то подобное для распечаток.
  • Кроме того, печатьдействие, скорее всего, происходит сразу после действия рендеринга HTML с тем же идентификатором ExecutionID и / или Source = "Session"

Убедитесь сами, что регистрирует генерируемая распечатка: журнал выполнения, отсортированный по запуску выполнения, отобразит отчет, запрос, печать, запрос и т. д.

2 голосов
/ 21 июля 2011

Вам нужно написать пользовательское расширение доставки печати , чтобы записать "печать" в базу данных где-нибудь.Таким образом, практически, нет, в «чистых» SSRS

Идеи:

  • Приближением этого было бы занести запрос в базу данных при визуализации отчета.Вы не знаете, является ли отчет распечатанным как текст, хотя
  • Используйте элемент управления ReportViewer или какой-либо другой программный метод для запуска и печати за один раз: таким образом, запрос к базе данных равен печати.И войдите, как указано выше.
...