Accès aux assemblys personnalisés via des expressions

Après avoir créé un assembly personnalisé, le rendre disponible pour Concepteur de rapports ou le serveur de rapports, ajouter la stratégie de sécurité appropriée et ajouter une référence à votre assembly personnalisé dans votre définition de rapport, vous pouvez accéder aux membres des classes de votre assembly à 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 des membres statiques à partir d’un fichier de définition de rapport

Les membres statiques appartiennent à la classe ou au type, pas à un objet instancié. Ces membres sont accessibles en les appelant directement depuis la classe. Vous devez utiliser des membres statiques pour appeler des fonctions personnalisées dans un rapport chaque fois que possible, parce que les membres statiques offrent de meilleures performances. Pour appeler un membre statique, vous devez le référencer comme une expression qui prend la forme =Namespace.Class.Method.

Appeler des membres statiques

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

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

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

Actuellement, tous les rapports sont exécutés dans le même domaine d'application. 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 aux données statiques d'un utilisateur d'être disponibles pour tous les utilisateurs qui exécutent actuellement un rapport particulier. Pour cette raison, il est vivement recommandé de ne pas utiliser de champs statiques ou de propriétés dans des assemblys 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 l’état ou les données.

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

Si votre assembly 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 à l’aide de l’onglet Code de la boîte de dialogue Propriétés de rapport. Pour plus d’informations sur l’ajout d’instances de classes à un rapport, consultez Code personnalisé et références d’assembly dans les expressions du Concepteur de rapports (SSRS).

Pour appeler un membre statique, vous devez le référencer comme une expression qui prend la forme =Code*.InstanceName.Method*.

Appeler des membres d’instance

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

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

Utilisation d'assemblages personnalisés avec des rapports