mercredi 19 mai 2010

SSRS – DLL Custom Code : Référencer et Utiliser

Reporting Services – Référencer et utiliser une DLL de code custom

A partir des propriétés d’un rapport, Reporting Services vous permet d’écrire des fonctions, en VB.NET uniquement pour le moment.

image

Mais Reporting Services, permet aussi, fort heureusement, de référencer des assemblys métier afin d’en exploiter les fonctionnalités.

Pour ce faire, il suffit de référencer une dll dans le rapport que vous ciblez.

image

Il vous faut également instancier un objet de votre classe que vous souhaitez utiliser. Si c’est une classe instanciable bien évidemment: pas besoin d’objet dans le cas de méthodes statiques.

Attention : “Class Name” = Namespace.NomDeLaClasse

image

Pensez à ajouter votre DLL ou dans les répertoires suivants pour pouvoir tester votre rapport sous Visual Studio et utiliser votre rapport dans Report Manager:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies

C:\Program Files\Microsoft SQL Server\MSRS10.SQLSERVER2008\Reporting Services\ReportServer\bin

Vous pouvez également déployer votre DLL dans le GAC en la signant, mais vous aurez certainement un problème droit.

Il suffit ensuite d’appeler vos méthodes en utilisant les expressions (Code.MonObjet.MaMethode()):

image

La colonne CustomCode contient l’expression suivante :
=Code.MaClasseInstanciee.Addition(Fields!ID1.Value ,Fields!ID2.Value)

On additionne les colonnes ID1 et ID2. Bien entendu votre code métier sera certainement bien plus compliqué et fera certainement appel plus en profondeur aux capacité du Framework .NET.

Le résultat (mes colonnes ID1 et ID2 ont des valeurs fixes. Il est donc normal que le résultat se répète) :

image

Aucun commentaire:

Enregistrer un commentaire