Construire un hyperlien pour lancer l’export d’un rapport SSRS en mode intégré à SharePoint

Sautez directement à la solution.

Lorsque l’on clique sur un rapport SSRS dans SharePoint (ReportViewer), le format de l’hyperlien est le suivant:

http://<SharePoint_site>/_layouts/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/<SharePoint_Document_Library>/<Report_Name>.rdl.

Pour spécifier des paramètres dans cet hyperlien, il suffit d’utiliser le nom du paramètre préfixé par rp: (ex. rp:Department=[Department].[DH].[All]).

Il y a aussi d’autres options qui sont disponibles et elles sont toutes préfixées par rv:

Nom Description Valeurs
rv:HeaderArea Détermine si l’en-tête est visible. Full, None.
Défaut: Full
rv:ToolBar Détermine si la barre d’outils doit s’afficher et si oui, de quelle façon. Full, Navigation, None.
Défaut: Full
rv:ParamMode Indique si la section des paramètres doit être visible et / ou ouverte. Full, Collapsed, Hidden. Défaut: Full
rv:AsyncRender Permet de changer le mode de rendu entre asynchrone et synchrone. true, false.
Défaut: true
rv:DocMapAreaWidth On peut choisir la largeur (en prixels) de la section de la table de contenu. Non-negative integer
rv:DocMapMode Est-ce que la table de contenu doit s’afficher et être ouverte. Displayed, Collapsed, Hidden.
Défaut: Dislayed

C’est tout!

Pourtant, avec SSRS en mode natif (HTML Viewer) il y a d’autres options (en jaune les ajouts):

Nom Description Valeurs
rs:Format Format de sortie. HTML3.2, HTML4.0, MHTML, IMAGE, EXCEL, WORD, CSV, PDF, XML
Défaut: HTML4.0
rc:Zoom Le zoom en pourcentage. Page%20Width, Whole%20Page
Défaut: 100%
rc:Toolbar Détermine si la barre d’outils doit s’afficher ou non. True/False
Défaut : True
rc:Parameters Indique si la section des paramètres doit être visible et / ou ouverte. True/False/Collapsed
Défaut : True
rc:DocMap Est-ce que la table de contenu doit s’afficher et être ouverte. True/False
Défaut: True
rc:Section Page à afficher. Nombre entier
Défaut: 1
rc:BookMarkID Identifiant du signet que l’on souhaite faire afficher.
rc:FindString Chaîne de caractères à rechercher dans le rapport.

Note: Avec le HTML Viewer, il ne faut pas préfixer les paramètres par rp:. Par exemple: Department=[Department].[DH].[All].

[Solution]

[Mis à jour le 28 août 2012]

Bien qu’on puisse accéder au HTML Viewer en mode intégré à SharePoint de cette manière:

http://myrsserver/reportserver?http://<SharePoint_site>/<SharePoint_Document_Library>/<Report_Name>.rdl&rs:Command=Render

Le paramètre rs:Format ne fonctionne pas!

 

Ça marche très bien si le serveur <myrsserver> est visible de l’externe (exemple: un site SharePoint publié à l’externe).

Cependant, si ISA Server (ou TMG) publie uniquement le site SharePoint il faudra plutôt utiliser le “Report Server Proxy” dans le contexte du site:

http://<SharePoint_site>/_vti_bin/ReportServer?
http://<SharePoint_site>/<SharePoint_Document_Library>/
<Report_Name>&rs:Command=Render&rs:Format=MHTML

Cet hyperlien va appeler le rapport SSRS et demander l’export en MHTML (MHT):

image

Si toutefois vous avez une application ASP.Net qui utilise un object HttpWebRequest afin de demander l’export d’un rapport SSRS (ex. en XML) en passant par le ReportServer Proxy vous aurez des problèmes de Kerberos. Dans mon cas, comme l’application ASP.Net s’exécutait sous le site SharePoint hébergeant les rapports, j’ai fait en sorte de ne pas passer par le ReportServer Proxy afin que ma délégation Kerberos (constrained) fonctionne. J’ai utilisé http://myrsserver/reportserver qui est évidemment visible à partir du serveur SharePoint .

Références

Passing URL report parameters to Reports in SharePoint Document Library in SSRS 2008 & R2

SQL Server Reporting Services – Url Parameters in SharePoint Integrated Mode

URL Parameter Export PDF in SharePoint Integration Mode

3 réflexions sur “Construire un hyperlien pour lancer l’export d’un rapport SSRS en mode intégré à SharePoint

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s