Получить значение параметров отчета по умолчанию после запуска ReportExecutionService.render () - PullRequest
1 голос
/ 04 октября 2011

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

Я бы хотел сделать что-то подобное (что не работает, нет члена ReportExecutionService, который быЯ был в состоянии найти, что делает это)

   byte[] returnArray = new byte[0];

   //get the SOAP call to the SSRS service started
   ReportExecutionService rs = new ReportExecutionService();

   //reportParameters is an empty collection
   rs.SetExecutionParameters(reportParameters, "en-us");             

   //The report renders successfully, using the default vales in the RDL
   returnArray = rs.Render(format, devInfo, out extension, out encoding, out mimeType, out warnings, out streamIDs);

   //this is what I want to do, where the nonexistent executionParameters member
   //contains the report parameters with default values defined in the report
   String fileName = "reportName" + rs.executionParameters["startDate"].Value + "-" + rs.executionParameters["endDate"].Value + "." + extension;

1 Ответ

1 голос
/ 05 октября 2011

Таким образом, получается, что член ExecutionInfo ReportExecutionService содержит параметры и их значения по умолчанию после загрузки определения отчета, поэтому это будет работать:

        //get the SOAP call to the SSRS service started
        ReportExecutionService rs = new ReportExecutionService();

        //this will contain all of the details needed for execution
        ExecutionInfo execInfo = rs.LoadReport(reportLocation, historyID);

        //and here are the default value(s)
        execInfo.Parameters[i].DefaultValues[]
...