【发布时间】:2016-05-13 17:08:16
【问题描述】:
我目前正在使用 Reporting Services 2014。我使用以下代码能够在 sharepoint 站点本身上使用 javascript 弹出窗口。该代码还通过 iif 语句处理导出到 Excel 链接 评估是否正在站点上查看 RenderFormat 或者它是否是另一种格式(Excel、Word、PDF 等)。 iif 语句使用将 ReportServerURL 替换为适当站点的变量。使用网站上的链接以及从网站导出到 Excel 时,一切正常。
当我设置发送报告的 Excel 文件的预定订阅时,会出现问题。 ReportSerURL 与上述情况不同。我们有两个站点在预定订阅 Excel 文件中使用 http://gsp1/ReportServer 和 http://gsp2/ReportServer。
这是我目前用于在网站上使用超链接并从网站导出到 Excel 的代码。有没有一种方法可以让我也加入一些逻辑来处理预定的订阅文件?
SSRS URL 操作(使用下面的变量)
=iif(
(Globals!RenderFormat.Name = "RPL"),
"javascript:void(window.open('"+ Variables!RxDrill.Value + "&rv:ParamMode=Hidden&rv:Toolbar=None&rv:HeaderArea=None&rp:StoreKey=" + Fields!StoreKey.Value.ToString + " &rp:RxNumber=" + Fields!RX.Value.ToString + "&rp:RefillNumber=" + Fields!RefillNumber.Value.ToString + "', 'RXOVERVIEW','width=1335,height=450,location=no'))",
Variables!RxDrill.Value + "&rp%3aStoreKey=" & Fields!StoreKey.Value & "&rp%3aRxNumber=" & Fields!RX.Value & "&rp%3aRefillNumber=" & Fields!RefillNumber.Value & "&rs%3aParameterLanguage=")
变量
=Replace(Globals!ReportServerUrl,"/_vti_bin","/_layouts/15") + "/RSViewerPage.aspx?rv:RelativeReportUrl=/SSRS%20Library/Rx Transaction Detail.rdl"
这是我目前在尝试打开订阅 Excel 电子邮件文件中的链接时遇到的错误。
我删除了一个 [&ReportServerUrl] 文本框,发现预定订阅中的路径与浏览器中的路径或导出到 Excel 期间的路径不同。我发现订阅使用了 2 个可能的 ReportServerURL。 http://gsp1/ReportServer 或 http://gsp2/ReportServer。在浏览器中它总是https://abc.myinfocenter.net/_vti_bin/ReportServer,但是从上面的变量代码中可以看到_vti_bin 被替换了。
【问题讨论】:
-
让我看看我是否理解您的问题,当您通过浏览器查看报告时,报告中的链接指向正确的钻取报告并正确呈现所需的报告。当您通过订阅收到 Excel 版本的报告时,报告中的链接无法正常工作。当您单击 Excel 文件中的这些链接时,会发生什么?你得到什么错误?请使用此信息修改您的问题。
-
没错,链接在浏览器中工作正常,当我将报告导出到 Excel 时,它们也能正常工作。问题是当我收到作为订阅的 excel 文件时。我会继续修改我的问题,因为我无法在评论中放置屏幕截图
标签: vba excel reporting-services ssrs-2014