Compartir a través de


Modelo de objetos ReportClientDocument (RAS)

El modelo de objetos ReportClientDocument proporciona el modelo de objetos más eficaz y completo para manipular informes. Este modelo de objetos sólo está disponible como parte de un servidor de aplicaciones de informes (RAS), que puede ser un servidor de aplicaciones de informes no administrado (RAS) o un servidor de aplicaciones de informes administrado (BOE).

El modelo de objetos ReportClientDocument está formado por muchas clases de diversos espacios de nombres. El espacio de nombres lleva el prefijo CrystalDecisions.ReportAppServer. Este modelo de objetos expone toda la estructura del informe en el SDK, para permitir crear, modificar y guardar cambios mediante programación en todos los aspectos del informe en tiempo de ejecución.

Una instancia de ReportClientDocument consta de un informe que se puede modificar con programación mediante sus propiedades de clase. Estas propiedades están vinculadas con una serie de bibliotecas del SDK que contienen controladores, modelos de definición de datos y modelos de definición de informes:

  • ReportDefinition corresponde a la apariencia del informe, como se muestra en Crystal Reports Designer.
  • DataDefinition corresponde al explorador de campos de Crystal Reports Designer.
  • RowsetController corresponde a los valores de datos procesados de cada fila de detalles, cuando se consulta el informe en tiempo de ejecución.

Las instancias de ReportClientDocument pueden ser instancias de uno de estos objetos:

  • Un archivo .rpt existente cargado desde un directorio y modificado con las clases de definición de informe y de definición de datos del SDK de ReportClientDocument.
  • Un informe completamente nuevo y vacío que se genera con las clases de definición de informe y definición de datos del SDK de ReportClientDocument.

Esta instancia de la clase ReportClientDocument puede cargarse tan sólo el tiempo suficiente para enviar la instancia al visor para su visualización, antes de que pase a estar fuera del ámbito. Sin embargo, también se puede modificar y, a continuación, guardar como un informe (.rpt) en un directorio con una de las clases de controlador.

Para obtener información detallada sobre el modelo de objetos ReportClientDocument, consulte la documentación del SDK .NET de Business Objects RAS.

ReportClientDocument en Crystal Reports 9

Crystal Reports 9 (versión Advanced) se entregaba con RAS no administrado y los ensamblados .NET de RAS necesarios para programar en el modelo de objetos ReportClientDocument. De esta forma, los programadores podían crear proyectos .NET que aprovechaban el modelo de objetos ReportClientDocument.

Sin embargo, también significaba que los proyectos que se crearon anteriormente con el modelo de objetos ReportDocument proporcionado con Crystal Reports se debía volver a codificar totalmente para el modelo de objetos ReportClientDocument proporcionado con RAS. La razón era que ambos modelos de objetos eran totalmente independientes.

ReportClientDocument en Crystal Reports 10 y posteriores

En Crystal Reports 10, se eliminó la separación básica entre los modelos de objetos. Esto se ha realizado reescribiendo el modelo de objetos ReportDocument para que sirva como proxy para funcionalidad (o para un subconjunto de funcionalidad) desde el modelo de objetos ReportClientDocument. Las clases del modelo de objetos ReportDocument exponen las mismas firmas de propiedades y métodos que antes, pero la funcionalidad subyacente se modifica para redirigir cada propiedad y método a las propiedades y métodos del modelo de objetos ReportClientDocument más eficaz.

Esto no significa que una versión básica de Crystal Reports Developer obtenga acceso total a un servidor RAS no administrado ni al modelo de objetos ReportClientDocument. La versión básica de Crystal Reports sigue teniendo acceso sólo al modelo de objetos ReportDocument (aunque el modelo de objetos ReportDocument funcione como proxy para un subconjunto del modelo de objetos ReportClientDocument). El motor de creación de informes original de las versiones anteriores de Crystal Reports se ha reemplazado por una versión limitada e incrustada del motor de creación de informes de RAS.

Instale y obtenga acceso al modelo ReportClientDocument sólo con una licencia actualizada para el servidor RAS no administrado. En ese punto, todo el código existente escrito para el modelo de objetos ReportDocument se puede redirigir fácilmente al servidor de RAS independiente, estableciendo dos propiedades en cualquier instancia de informe dado y se puede obtener acceso directamente al modelo de objetos ReportClientDocument subyacente, al recuperarlo desde la propiedad ReportClientDocument de la clase ReportDocument.

Para obtener más información, vea Enlazar a un servidor RAS no administrado mediante el método ReportDocument.Load().

Diagrama del modelo de objetos ReportClientDocument

Este diagrama muestra las relaciones del modelo de objetos ReportClientDocument.

Figura 4: Modelo de objetos ReportClientDocument