我目前正在使用 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 已被替换。