0% encontró este documento útil (0 votos)
118 vistas6 páginas

Reportes

Este documento describe cómo crear y presentar informes con Crystal Reports en Visual Studio .NET. Explica que Crystal Reports es una herramienta popular para generar informes y puede integrarse con Visual Studio. Detalla los pasos para crear un nuevo proyecto de informes de Crystal, seleccionar una plantilla, conectarse a datos, y agregar un visor de informes Crystal al proyecto para mostrar el informe generado.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
118 vistas6 páginas

Reportes

Este documento describe cómo crear y presentar informes con Crystal Reports en Visual Studio .NET. Explica que Crystal Reports es una herramienta popular para generar informes y puede integrarse con Visual Studio. Detalla los pasos para crear un nuevo proyecto de informes de Crystal, seleccionar una plantilla, conectarse a datos, y agregar un visor de informes Crystal al proyecto para mostrar el informe generado.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

Introducción

Crystal Reports es el generador de reporte por excelencia de Visual Basic desde


versiones anteriores a .NET. Esta no es la primera vez que se distribuye una versión de
este generador de reporte junto a una versión de Visual Studio; en la versión 4 de Visual
Basic se incluía una versión de Crystal Reports, aunque no tan integrada como la
versión .NET.

Cristal es un producto creado en su esencia orientado al usuario final; es decir que un


ejecutivo pueda crear sus propios informes sin necesidad de asistencia de un
desarrollador.

Crystal Report no es la única herramienta para generar reportes que se puede utilizar
con Visual Studio .NET; existen otras entre las que podemos mencionar:

 Active Reports de Data Dynamics


 SQL Reporting Services
  Microsoft Offices Automation, entre otros.

Al igual que desde el ambiente de desarrollo de Visual Studio, también podemos crear
nuestros reportes desde el ambiente de desarrollo de Crystal Reports y luego ejecutarlo
desde nuestro proyecto VB .NET. Los Reportes desarrollados bajo el ambiente de
Crystal Reports pueden ser compilados a .EXE para poder ser ejecutados stand-alone.

Entre las características principales que debemos conocer en Crystal Reports para poder
crear una buena solución de reportes están los fields, que son los componentes que nos
permiten mostrar información sobre el ambiente de desarrollo, y se clasifican en:

 Formula Fields: Son campos cuyo valor puede ser obtenido de fórmulas de
cálculo y/o operaciones sobre otros campos.
 Summary Fields: Son campos que se utilizan para acumular y/o promediar
valores según las operaciones que se deseen; entre las operaciones que soportan
los Summary Fields están: Count, Sum, Avg, discount, etc.
 Parameters Fields: Son campos que se utilizan para enviarles valores al reporte
desde una aplicación o entrada del usuario.
 SQL Expresión Fields: Son campos que se utilizan para ejecutar funciones
propias del motor de base de datos que se esté utilizando.
 Group Name Fields: Son campos que se utilizan para agrupar la salida del
reporte.
 Running Total Fields: Son similares a los Summary Fields, pero estos pueden
ser condicionados.
 Special Fields: Son un conjunto de campos preestablecidos que se utilizan en
los reportes, tales como: número de página, total de páginas, fecha de impresión,
etc.

Crystal también posee su propio conjunto de sentencias y funciones para producir


información (o sea su propio lenguaje de funciones) y también comparte las sentencias
de VB 6.

1
Crear un reporte

Independientemente de cómo se hará la presentación, el reporte se define en un archivo


".RPT", que forma parte de su proyecto. Ese archivo especifica el modo en que se hará
la presentación del reporte, pero no incluye los datos propiamente dichos. Los datos se
definirán en el tiempo de ejecución.

Crystal Reports se basa en un concepto muy común de la definición de reportes: los


reportes se componen de "secciones", y cada sección es un espacio horizontal en la
página. Existen diversos tipos de secciones, por ejemplo:

 Encabezado del reporte, aparece en la primera página.


 Encabezado de página, aparece en la parte superior de todas las páginas.
 Detalle: lo más importante. En el tiempo de ejecución, se genera una de estas
secciones para cada línea (registro) en la base de datos.
 Pie de página, aparece en la parte inferior de todas las páginas.
 Pie de reporte, aparece al final del reporte.

En un principio, todos los reportes presentan estas cinco secciones. Otras secciones son
opcionales, como por ejemplo:

 Encabezado de grupo, aparece antes de un grupo.


 Pie de grupo, aparece al final del grupo.

Se podrá omitir una o más secciones, en caso de que no sean necesarias

Los componentes necesarios para manejar los reportes de Crystal son los siguientes:

 CrystalReportViewer: Este componente es la interfaz que utiliza la aplicación


para desplegar los reportes; se coloca sobre un Windows o Web Form. Este está
localizado en el toolbox en el tab de Windows Forms (o Web Forms, si es un
proyecto web).
 ReportDocument: Este componente es utilizado para comunicarnos con el
archivo .RPT generado por Crystal Reports; mediante este componente podemos
modificar algunas características del reporte en tiempo de ejecución.

Una vez creado el proyecto agregamos un nuevo ítem: en el menú Project,


seleccionamos Add New Item … (Ver Figura 2):

tenemos 3 opciones:

 Using the Report Expert: Esta opción es una especie de Wizard que nos
guía paso a paso durante la creación del reporte.
 As a Blank Report: Esta opción despliega la interfaz de desarrollo de reportes en
blanco para que creemos nuestro reporte sin asistencia (ésta es la parte para
expertos).
 From as Existing Report: Esta opción nos permite crear un reporte a partir
de otro ya existente; al seleccionar esta opción nos pide la localización del
archivo .RPT que queremos utilizar, y crea una copia de este reporte.

2
En la parte media tenemos 2 cuadros, el de la izquierda nos presenta los diferentes tipos
de reportes que podemos crear (esta opción solo estará disponible si seleccionamos la
primera opción de la parte superior (Using the Report Expert); a continuación describo
cada uno de ellos:

 Standard: Este se utiliza para crear reportes tipos listas, máster/detalle y/o
cualquier otro reporte común; ésta es la opción más utilizada.
 From Letter: Esta plantilla se utiliza para crear reportes tipo cartas donde tienes
un documento con un texto estático y en algunas partes del documento que
deben ser extraídas de la base de datos, un estilo de Mail Merge (para los que
han manejado Microsoft Word,  Word Star o algún procesador de palabra).
 Form: esta plantilla se utiliza para informes tipo formulario.
 Cross-Tab: Este es un estilo de reporte con valores cruzados.
 Subreport: Son similares a un reporte normal con la excepción de que éstos se
incrustan dentro de los reportes con la finalidad de complementar o agregar
información; son muy utilizados.
 Mail Label: Este se utiliza para generar etiquetas para cartas.
 Drill Down: Este es un estilo de reporte también muy utilizado; es similar a un
máster/detalle, sólo que el detalle se presenta oculto y el usuario puede hacer
doble clic sobre el máster y se despliega el detalle; a éste también se le llama
reporte interactivo.

Seleccionamos “Standard”, damos clic sobre "OK".

Luego se despliega la ventana de acceso a datos, presentando diferentes carpetas con


diferentes tipos de fuentes de datos entre las que podemos citar

Project Data: en esta carpeta se despliegan las diferentes conexiones que se encuentren
activas en el proyecto actual; despliega 2 sub carpetas, la primera es “[Link]
DataSets”, donde se despliegan las diferentes estructuras de los DataSet que se
encuentren en el proyecto; y la segunda despliega los diferentes objetos connection que
se encuentren activos.

 OLE DB (ADO): Esta carpeta se utiliza para crear una conexión a una fuente de
datos a través de OLE DB, Al hacer clic en esta ventana se despliega una
ventana con una lista de todos los proveedores de acceso a datos instalados en tu
máquina para que se seleccione el adecuado y sea configurado (de éste
hablaremos más adelante, ya que es el que estaremos utilizando).
 ODBC: Esta carpeta se utiliza para crear una conexión a una fuente de datos a
través de ODBC, este se utiliza cuando no contamos con un proveedor de acceso
a datos de tipo OLEDB.
 Database file: Esta carpeta se utiliza para especificar proveedores de acceso a
datos que son almacenados como archivos (*.MDB, *.DBF, *.XLS, etc.), al
seleccionar esta opción se abrirá la ventana para que seleccionemos el archivo y
según el tipo se desplegará el cuadro de diálogo correspondiente para su
configuración.
 Favorito, History: Estas carpetas se utilizan de la siguiente forma: la primera
para almacenar las conexiones más utilizadas por nosotros, y la segunda guarda
automáticamente un histórico de las fuentes de datos que hemos utilizado.

3
 More Data Source: Esta carpeta se utiliza para acceder datos en formato XML,
EXCEL.

Damos clic sobre la carpeta OLE DB (ADO), se despliega la ventana de proveedores de


acceso a datos por OLEDB que tengamos instalados en nuestra máquina (estos
proveedores se instalan automáticamente cuando instalamos las base de datos, MDAC
x.x y algunos ya los trae Windows agregados

Crystal y Web Application

Primero creamos un proyecto nuevo, esta vez “ASP .NET Web Application”, y lo
nombramos CrystalRWebApp; esta vez nuestro formulario o página web es
“[Link]”; damos clic derecho sobre el proyecto CrystalRWebApp y
seleccionamos “Set as Startup Project”; luego damos clic derecho sobre la página
[Link] y seleccionamos “Set as Start page”.

En el Toolbox en la pestaña “Web Forms” arrastramos el control CrystalReportViewer


y lo soltamos en la página; esta vez se verá diferente ya que en proyectos web este
control no tiene Interfaz de diseño

Presentar en el Web

Para utilizar el reporte en un proyecto Web, cree un nuevo proyecto de tipo "Aplicación
Web [Link]" y agregue un reporte exactamente como se mostró anteriormente.
Añada al formato un componente CrystalReportsViewer de la página "WebForms" de la
Caja de herramientas. Añada el siguiente código al evento Page_Load:

private void Page_Load(object sender, [Link] e)


{
// Ejecuta la consulta a la base de datos
[Link](dataSet11);
// Crea el reporte
CrystalReport1 Rel = new CrystalReport1();
// Asocia el conjunto de datos con el reporte
[Link](dataSet11);
// Asocia el reporte con el Visualizador
[Link] = Rel;
}

agregamos el siguiente código:

Private Sub Page_Init(ByVal sender As [Link],


ByVal e As [Link]) Handles [Link]
'CODEGEN: This method call is required by the Web
Form Designer
'Do not modify it using the code editor.
InitializeComponent()
                  Dim CrRep As New CrystalReport1
        [Link] = CrRep
[Link]()
End Sub

4
Aquí estamos instanciando el reporte que creamos, CrystalReport1, ya que Crystal
también crea una clase con el mismo nombre del reporte para que podamos instanciarla
y manipularla. Por ello, le estamos diciendo al control CrystalReportView1 que tome
como fuente la instancia de nuestro reporte, y finalmente le indicamos que se ejecute el
reporte.

Listo, ya podemos ejecutar nuestro reporte.

Crystal y Web Services

Unos de los conceptos introducidos con el nacimiento de la tecnología .NET es el de


Web Services (Servicios en la Web), los reportes creados en Crystal también pueden ser
publicados y consumidos como Web services.

Para los que no conocen el concepto de Web Services, esto se refiere a proveer alguna
funcionalidad a través de la web para que pueda ser utilizada por otra aplicación.

El clásico ejemplo es el de la tarjeta de crédito: cuando hacemos compras por Internet y


pagamos con tarjeta de crédito, el sitio desde donde estamos realizando la transacción
necesita validar nuestra tarjeta de crédito para determinar si es válida y claro, si tiene
fondos disponibles para la transacción. Las instituciones bancarias propietarias de la
tarjeta podrían publicar Web Services, el sitio sólo debe acceder al Web Service, enviarle
los datos de nuestra tarjeta y el banco a través del mismo, nos devolverá la información
que necesitamos, todo esto se hace a través de Web Services, compartiendo la
información en forma XML (Extensible Market Language).

Esto nos facilita las cosas ya que, no importa en qué lenguaje y/o plataforma estén
diseñadas nuestras aplicaciones, si se accede la web y se maneja XML (que casi todos
los lenguajes ya manejan este lenguaje) puede hacer uso de este servicio.

Para esta prueba tomaremos el proyecto que creamos anteriormente, el Web


Application.

Abrimos el proyecto CrystalRWebApp, damos clic derecho sobre el archivo del


reporte en el Solution Explorer, “[Link]”, y seleccionamos “Publish as
Web Service”.

Luego damos clic derecho sobre el archivo “[Link]” en el Solution Explorer,


y seleccionamos “View Code”.

Modificamos el método “Page_Init”:

Private Sub Page_Init(ByVal sender As [Link],


ByVal e As [Link]) Handles [Link]
'CODEGEN: This method call is required by the Web
Form Designer
'Do not modify it using the code editor.
InitializeComponent()
Dim CrRep As New CrystalReport1
        [Link] =

5
"[Link]
        [Link]()
End Sub

Listo, podemos ejecutar nuevamente nuestro proyecto y el reporte se ejecutará igual.

También podría gustarte