Accès aux assemblages personnalisés via des expressions

Après avoir créé un assemblage personnalisé, l’avoir rendu disponible pour Concepteur de rapports ou le serveur de rapports, ajouté la politique de sécurité appropriée, et ajouté une référence à votre assemblage personnalisé dans votre définition de rapport, vous pouvez accéder aux membres des classes de votre assemblage à l’aide d’expressions de rapport. Pour faire référence à du code personnalisé dans une expression, vous devez appeler le membre d'une classe au sein de l'assembly. La procédure pour ce faire dépend du type de méthode, à savoir statique ou basée sur une instance.

Appeler les membres statiques à partir d’un fichier de définition de rapport

Les membres statiques appartiennent à la classe ou au type lui-même et non à un objet instancié. Ces membres peuvent être contactés en les appelant directement depuis la classe. Vous devriez utiliser des membres statiques pour appeler des fonctions personnalisées dans un rapport autant que possible, car les membres statiques sont les plus performants. Pour appeler un membre statique, vous devez le référencer comme une expression prenant la forme =Namespace.Class.Method.

Appelez les membres statiques

  • Pour appeler un membre statique, définissez votre expression égale au nom pleinement qualifié du membre, qui inclut l’espace de noms, le nom de la classe et le nom du membre. L’exemple suivant appelle la méthode ToGBP , qui convertit la valeur du champ StandardCost de dollars en livres sterling et l’affiche dans un rapport :

    =CurrencyConversion.DollarCurrencyConversion.ToGBP(Fields!StandardCost.Value)  
    

Informations importantes concernant les champs statiques et les propriétés

Actuellement, tous les rapports sont exécutés dans le même domaine applicatif. Cela signifie que les rapports contenant des données statiques spécifiques à l’utilisateur exposent ces données à d’autres instances du même rapport. Cette condition peut permettre que les données statiques d’un utilisateur soient accessibles à tous les utilisateurs qui exécutent actuellement un rapport donné. Pour cette raison, il est fortement recommandé de ne pas utiliser de champs ou de propriétés statiques dans des assemblages personnalisés ou dans l’élément Code ; Utilisez plutôt des champs d’instance ou des propriétés dans vos rapports. Les méthodes statiques peuvent toujours être utilisées, car elles ne stockent pas d’état ou de données.

Appeler des membres d’instance à partir d’un fichier de définition de rapport

Si votre assembleur personnalisé contient des membres d’instance auxquels vous devez accéder dans une définition de rapport, vous devez ajouter un nom d’instance pour votre classe au rapport. Vous pouvez ajouter un nom d’instance pour une classe en utilisant l’onglet Code de la boîte de dialogue Propriétés du rapport . Pour plus d’informations sur l’ajout d’instances de classes à un rapport, voir Custom Code and Assembly References in Expressions in Concepteur de rapports (SSRS).

Pour appeler un membre statique, il faut le référencer comme une expression prenant la forme =Code*. InstanceName.Method*.

Membres d’instance d’appel

  • Pour appeler un membre d’instance d’un assembleur personnalisé, vous devez référencer le mot-clé Code suivi du nom de l’instance et de la méthode. L’exemple suivant appelle une méthode d’instance ToEUR qui convertit la valeur du champ StandardCost de dollars en euros et l’affiche dans un rapport :

    =Code.m_myDollarConversion.ToEUR(Fields!StandardCost.Value)