Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Report SSRS打印计数器_Report_Reporting Services - Fatal编程技术网

Report SSRS打印计数器

Report SSRS打印计数器,report,reporting-services,Report,Reporting Services,我是SSRS的新手,我几乎完成了要求我做的报告,所有工作都按预期进行,但我的客户只是要求我在所述报告的标题中说明以当前形式打印报告的时间 所以我的报告有两个参数:开始日期和结束日期 假设我的客户提交了一份2005年5月5日至2006年6月6日期间的报告,并打印出来,在标题/标题中注明“报告名称(打印#1)”。然后,如果他决定一周后回来打印相同的报告,它将显示“报告名称(打印2)” 有办法做到这一点吗?到目前为止,我的研究使我相信这是不可能的 提前感谢您提供的任何线索/解决方案 您必须编写一个脚本

我是SSRS的新手,我几乎完成了要求我做的报告,所有工作都按预期进行,但我的客户只是要求我在所述报告的标题中说明以当前形式打印报告的时间

所以我的报告有两个参数:开始日期和结束日期

假设我的客户提交了一份2005年5月5日至2006年6月6日期间的报告,并打印出来,在标题/标题中注明“报告名称(打印#1)”。然后,如果他决定一周后回来打印相同的报告,它将显示“报告名称(打印2)”

有办法做到这一点吗?到目前为止,我的研究使我相信这是不可能的

提前感谢您提供的任何线索/解决方案

您必须编写一个脚本,以便在某个数据库中记录“打印”。所以实际上,不,在“纯”SSR中

想法:

  • 近似的做法是在呈现报告时将查询记录到数据库中。不过,你不知道这份报告是否是按上下文打印的
  • 使用ReportViewer控件或其他编程方法一次启动并打印:因此数据库查询就是打印。并记录它,如上所述

对于未来的读者:无需创建自己的查询日志

您可以查询ReportServer.dbo.ExcecutionLog表。它包含许多关于报告请求的信息,包括XML格式的参数。您可以对其进行分组/计数,以确定特定报告以前执行的次数

有关从执行日志中提取信息的详细信息,请单击此处:

唯一的问题仍然是确定用户是否打印了报告。您还可以从ExecutionLog中派生出:

  • 格式列-这应该是“图像(emf)”或类似于打印输出的内容
  • 此外,打印操作很可能发生在HTML呈现操作之后,具有相同的ExecutionID和/或Source=“Session”

亲自查看打印输出生成的日志:按executionstart排序的查询Executionlog、显示报告、重新查询、打印、重新查询等。

谢谢,在我的数据库中创建日志是我的下一步:D