Compartir a través de


Elegir el modelo de objetos correcto para el proyecto

Para elegir el modelo de objetos correcto para el proyecto, debe comprender los métodos prácticos para trabajar con el control CrystalReportViewer y saber cómo interactúa este control con el resto de los modelos de objetos.

Método práctico para trabajar con el control CrystalReportViewer

Una aplicación Web eficaz diferencia claramente su nivel de presentación de la lógica de negocios subyacente.

El diseño del control ASP.NET promueve de forma natural este modelo. Encapsula la información de presentación en el control y, a continuación, lo enlaza a un objeto subyacente o a un modelo de objetos que lleva a cabo la lógica de negocios.

CrystalReportViewer es un control .NET que sigue esta arquitectura. Funciona como objeto de presentación de Web Form o Windows Form (el nivel de presentación), y se puede enlazar a cualquiera de los siguientes modelos de objetos:

  • Modelo de objetos ReportDocument
  • Modelos de objetos disponibles mediante actualización:
    • Modelo de objetos ReportClientDocument (Report Application Server)
    • Modelo de objetos InfoObject (Crystal Reports Server o BusinessObjects Enterprise)

En un caso de método práctico, el control CrystalReportViewer enlaza a uno de los modelos de objetos que lleva a cabo la lógica de negocios, normalmente para la manipulación del informe.

En este caso, el control CrystalReportViewer limita su interacción mediante programación para modificar sólo la configuración de presentación; por ejemplo, ocultar o mostrar la barra de herramientas del visor o un botón de esa barra de herramientas.

Modelo de objetos CrystalReportViewer

El control CrystalReportViewer contiene propiedades y métodos que permiten la interacción con la presentación de los informes. Asimismo tiene unas pocas propiedades y métodos para interactuar con los informes enlazados al control. Estas propiedades y métodos constituyen un modelo de objetos limitado.

Algunos casos de enlaces de informes se basan en el modelo de objetos CrystalReportViewer. En estos casos, el control CrystalReportViewer se enlaza directamente a un informe (por ejemplo, se pasa una cadena de ruta al informe de un directorio de archivos), sin encapsular primero el informe en ningún modelo de objetos. En dichos casos, puesto que el control CrystalReportViewer encapsula el informe directamente, se debe basar en el modelo de objetos limitado del control para interactuar con el informe mediante programación.

Pero en la mayoría de los casos de enlace, es desalentador utilizar CrystalReportViewer como modelo de objetos. En su lugar, utilice el modelo de objetos ReportDocument, por las siguientes razones:

  • El modelo de objetos CrystalReportViewer genera el riesgo de crear conflictos entre los modelos de objetos. Para obtener más información, vea Evitar mezclar los modelos de objetos.
  • El modelo de objetos CrystalReportViewer proporciona una interacción limitada con los informes; contiene un pequeño subconjunto de las funciones disponibles en el modelo de objetos ReportDocument.
  • El modelo de objetos CrystalReportViewer difumina la separación del nivel de presentación y de la lógica de negocios subyacente del código.

El modelo de objetos ReportDocument

ReportDocument es un modelo de objetos más eficaz y completo que CrystalReportViewer. Se incluye con el SDK de Crystal Reports para Visual Studio y proporciona mayores posibilidades de manipular los informes en el código.

Para obtener descripciones y diagramas del modelo de objetos ReportDocument, vea Modelo de objetos ReportDocument en Arquitectura.

Para leer tutoriales que explican cómo codificar en relación al modelo de objetos ReportDocument, vea Tutoriales del modelo de objetos ReportDocument.

Modelos de objetos actualizados

Si realiza una actualización de la solución de elaboración de informes a Crystal Reports Server o BusinessObjects Enterprise, aproveche los modelos de objetos ReportClientDocument e InfoObject.

Nota

Si no está seguro de la solución de elaboración de informes que va a implementar en la aplicación, vea Comparación de arquitecturas en las soluciones de elaboración de informes de Business Objects.

¿Cuál es el modelo de objetos que se debe utilizar?

Si no va a actualizar a Crystal Reports Server ni a BusinessObjects Enterprise, el modelo de objetos ReportDocument es el modelo de objetos recomendado para el trabajo de implementación con el SDK de Crystal Reports.

Nota

En Crystal Reports 10 o superior y Crystal Reports para Visual Studio 2005, el modelo de objetos ReportDocument se ha adaptado al modelo de objetos ReportClientDocument para facilitar la actualización a un servidor.