Partager via


Modèle d'objet ReportClientDocument (RAS)

ReportClientDocument est le modèle d'objet le plus puissant et le plus complet pour manipuler les rapports. Ce modèle d'objet n'est fourni qu'avec un RAS (Report Application Server), disponible sous la forme d'un RAS BusinessObjects Enterprise géré ou non géré.

Le modèle d'objet ReportClientDocument est constitué de nombreuses classes contenues dans divers espaces de noms. Chaque espace de noms a pour préfixe CrystalDecisions.ReportAppServer. Ce modèle d'objet expose la structure du rapport dans son intégralité dans le SDK. Ainsi, vous pouvez créer et modifier par programmation chaque aspect du rapport au moment de l'exécution, ainsi qu'en enregistrer les modifications.

Une instance de ReportClientDocument comprend un rapport qui peut être modifié par programmation en fonction de ses propriétés de classe. Ces propriétés sont liées à une série d'autres bibliothèques dans le SDK qui contiennent des contrôleurs, des modèles de définition de données et des modèles de définition de rapport :

  • ReportDefinition correspond à la présentation du rapport, tel qu'indiqué dans le Crystal Reports Designer.
  • DataDefinition correspond à l'Explorateur de champs dans le Crystal Reports Designer.
  • RowsetController correspond aux valeurs de données traitées de chaque ligne de détails, lors de la visualisation du rapport au moment de l'exécution.

Les instances de ReportClientDocument peuvent être des instanciations :

  • d'un fichier .rpt existant chargé à partir d'un répertoire, puis modifié avec les classes de définition de rapport et de définition de données du SDK ReportClientDocument ;
  • d'un nouveau rapport entièrement vide créé avec les classes de définition de rapport et de définition de données du SDK ReportClientDocument.

Cette instance de classe ReportClientDocument peut être chargée uniquement durant le temps nécessaire pour transmettre l'instance au visualiseur pour affichage, avant qu'elle ne soit mise hors de portée. Toutefois, vous pouvez également modifier l'instance de classe, puis l'enregistrer en tant que rapport (.rpt) dans un répertoire avec l'une des classes du contrôleur.

Pour obtenir des informations détaillées sur le modèle d'objet ReportClientDocument, consultez la documentation du SDK .NET RAS de Business Objects.

ReportClientDocument dans Crystal Reports 9

Avec l'application Crystal Reports 9 (version Advanced) fournie avec le RAS non géré et les assemblys RAS .NET, il était nécessaire de programmer le modèle d'objet ReportClientDocument. Les développeurs pouvaient ainsi créer des projets .NET qui exploitaient le modèle d'objet ReportClientDocument.

Toutefois, cela impliquait également que les projets initialement créés avec le modèle d'objet ReportDocument fourni avec Crystal Reports devaient être intégralement reprogrammés pour être utilisés avec le modèle d'objet ReportClientDocument inclus dans le RAS. Cela tenait au fait que les deux modèles d'objet étaient complètement séparés.

ReportClientDocument dans Crystal Reports 10 et versions ultérieures

Dans Crystal Reports 10, cette séparation essentielle entre les deux modèles d'objet a été supprimée. Pour ce faire, le modèle d'objet ReportDocument a été réécrit de façon à ce qu'il fonctionne comme un proxy vers un sous-ensemble de fonctionnalités à partir du modèle d'objet ReportClientDocument. Les classes du modèle d'objet ReportDocument exposent les mêmes signatures de propriété et de méthode qu'avant, mais la fonctionnalité sous-jacente a été modifiée de manière à rediriger chaque propriété et chaque méthode vers les propriétés et les méthodes du modèle d'objet ReportClientDocument plus puissant.

Cela ne signifie pas pour autant qu'une version de base de Crystal Reports Developer offre un accès intégral à un serveur RAS non géré ou au modèle d'objet ReportClientDocument. La version de base de Crystal Reports permet toujours de n'accéder qu'au modèle d'objet ReportDocument (même si le modèle d'objet ReportDocument fonctionne comme un proxy vers un sous-ensemble de fonctionnalités du modèle d'objet ReportClientDocument). Le moteur de création de rapports d'origine fourni dans les précédentes versions de Crystal Reports a été remplacé par une version limitée et incorporée du moteur de création de rapports RAS.

Vous ne pouvez installer le modèle d'objet ReportClientDocument et y accéder directement qu'en acquérant une licence mise à niveau du serveur RAS non géré. A ce stade, tout le code correspondant au modèle d'objet ReportDocument peut être facilement redirigé vers le serveur RAS distinct en définissant deux propriétés de n'importe quelle instance de rapport donnée, et le modèle d'objet ReportClientDocument sous-jacent est désormais accessible directement, lorsque vous l'extrayez de la propriété de la classe ReportDocument.

Pour en savoir plus, voir Liaison au serveur RAS non géré à l'aide de la méthode ReportDocument.Load().

Diagramme du modèle d'objet ReportClientDocument

Ce diagramme illustre les relations au sein du modèle d'objet ReportClientDocument.

Figure 4 : Modèle d'objet ReportClientDocument