#reporting-services
#службы отчетов
Вопрос:
Мне нужно распечатать отчет SSRS без присмотра, без всплывающих окон и без вызовов командной строки. Мне трудно найти пример, который не использует сторонний рендеринг. Как я могу это сделать?
Ответ №1:
Вот что я нашел в Интернете:
Этот код написан с самого начала и основан на Visual studio 2008, среде MSSQL Server 2008.
Я надеюсь, что вы установили и настроили MSSQL Reporting Services 2008, если нет, то дайте мне знать, я буду направлять вас.
1) После настройки служб Reporting Services 2008 перейдите к C:Program FilesMicrosoft SQL ServerMSRS10_50.SERVER2K8Reporting ServicesReportServerbin and locate RSClientPrint.cab.
2) Скопируйте этот файл .cab в папку вашего веб-сайта.
3) Создайте страницу myASPX.aspx
4) Создайте myHTML.html страница
5) Создайте IFRAME в myASPX.aspx с width =»0″,height =»0″ и source =».html»
6) Создайте тег объекта со следующими атрибутами, подобными этому:
<object id="RSCP" codebase="RSClientPrint-x86.cab#Version=2009,1600,100,1"
classid="CLSID:5554DCB0-700B-498D-9B58-4E40E5814405" VIEWASTEXT>
7) Напишите следующий код в теге script в myHTML.html страница
<script language="javascript" type="text/javascript">
function getPrint(){
RSCP.MarginBottom = '12.7';
RSCP.MarginLeft = '12.7';
RSCP.MarginRight = '12.7';
RSCP.MarginTop = '12.7'; //
RSCP.Print('http://MYSERVERNAME:8080/RS2K8', '/MYDIR/MYREPORTNAME(without extension)', 'MyReport');
}
</script>
8) Наконец, событие загрузки тела
<body onload="getPrint()">