Está en la página 1de 16

Universidad:

Dr. Andrés Bello.

Facultad:
Tecnología e Innovación.

Actividad:
Actividad Asincrónica 11.

Asignatura:
Programación ll.

Docente:
Inge. Ivonne Lissette Meléndez Landaverde.

Integrantes:
César Ovidio Martínez Chicas. (MC1832012022)

Fecha de entrega:
15/10/2023
Crystal Report y Report View

Generalidades y características principales de los Generadores de


Reportes Crystal Report y Report View

Crystal Reports

Crystal Reports, es un producto de alta tecnología para la creación e integración de


reportes con datos provenientes de múltiples fuentes de datos. Seleccionado por
más de 300 socios de negocios por su alta tecnología de elaboración de reportes,
Crystal Reports es un líder comprobado en el diseño de reportes que cumplan los
desafíos que día a día enfrentan los analistas de negocio y los desarrolladores.
También es una herramienta potente y a la vez fácil de usar para el diseño y
generación de informes a partir de datos almacenados en una base de datos u otra
fuente de información. Es, con diferencia, la herramienta más popular en su
categoría, y no solo entre quienes podrían considerarse sus usuarios puros
(aquellos que necesitan obtener periódicamente información para la toma de
decisiones a partir de los datos de la empresa), sino también entre los
programadores, que lo han convertido en su herramienta favorita a la hora de
embeber capacidades de generación de informes dentro de las aplicaciones a
medida. A este último hecho indudablemente ha contribuido mucho el que, desde
hace más de diez años, Crystal Reports venga siendo incorporado de serie a las
herramientas de desarrollo de Microsoft (Visual Basic y luego Visual Studio).

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

Informes flexibles
Agregue flexibilidad a sus informes con el uso de asistentes y parámetros de producto.

Documentos con precisión perfecta


Brinde documentos y formularios con precisión perfecta mediante contenidos altamente
formateados

Incorpore imágenes y códigos de barras


Vaya más allá de los informes de negocio habituales incorporando imágenes dinámicas y
códigos de barras.

Compartir y exportar
Comparta fácilmente los informes exportando datos a formatos populares

Arquitectura y componentes principales


La arquitectura de Crystal Reports.NET gira alrededor del soporte para un tipo de
ficheros de formato propietario, que se distingue por la extensión .RPT (report) y en
el que se almacena la definición de los informes. El producto se puede ver como la
combinación de tres componentes principales, que son:
• Motor de Impresión (Crystal Reports Print Engine, CRPE): A pesar de lo
que su nombre sugiere, este componente, escrito en código no administrado,

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

no sólo se encarga de lo relacionado con la impresión en papel de los


informes, sino además con todo lo que tiene que ver con la ejecución de los
mismos, empezando por el acceso a la base de datos para leer la información
y continuando con la generación de la imagen de las diferentes páginas para
luego volcarlas en pantalla, papel o exportarlas a otros formatos como Adobe
PDF o Microsoft Word.
• Librerías de Código Manejado: Encapsulan la funcionalidad del Motor de
Impresión a través de un conjunto de clases fácilmente accesibles desde
aplicaciones escritas en Visual Basic, C# o cualquier otro lenguaje .NET.
Estas son las librerías que se utilizaran desde las aplicaciones o servicios
(para Windows o la Web) para cargar, ejecutar e imprimir los informes.
• Diseñador de Informes: Es el software que presenta la interfaz de usuario
a través de la cual un usuario, programador o no, puede crear (“diseñar”) un
informe y guardarlo en un fichero .RPT para su posterior reutilización. Se trata
de una aplicación sofisticada, repleta de potentes asistentes que garantizan
una alta productividad sin limitar las posibilidades. La versión del Diseñador
que incluye Crystal Reports.NET se integra perfectamente dentro de Visual
Studio 2005, permitiendo creando una experiencia aún más ágil y productiva.

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

Características
Creación de Reportes de Alta Productividad
• El más completo acceso a datos: Crystal Reports provee más opciones de
conectividad a datos que cualquier otra herramienta. Incluye más de 30
drivers para acceso a bases de datos relacionales, fuentes de datos XML y
cubos OLAP (Incluyendo sistemas ERP, CRM, Oracle, IBM DB2 y Microsoft
SQL Server). También puede acceder a datos personalizados a través de
JavaBeans y objetos COM (ADO record sets) para una conectividad más
flexible.
• Diseño integral y opciones de formato: La tecnología flexible de diseño de
Crystal Reports provee control completo sobre el acceso y la presentación
de los datos en los reportes. Posee más de 100 opciones de formato,
incluyendo parámetros, mapas, tablas cruzadas, gráficos e hipervínculos,
para incrementar el impacto de los reportes. También se incluyen más de
160 formulas, funciones y operadores para un control completo de la
presentación de los datos.
• Productividad: El nuevo Repositorio Crystal permite almacenar elementos
clave de los reportes, tales como objetos de texto, imágenes, sentencias SQL
y funciones personalizadas. Gracias a este repositorio central se puede
reutilizar estos objetos en múltiples reportes. Este almacén centralizado de
objetos permite minimizar los esfuerzos de mantenimiento de los reportes y
al mismo tiempo ser más productivo en el diseño de reportes nuevos.

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

De la misma manera, se puede crear plantillas corporativas para ser aplicadas a


todos los reportes y así evitar dar formato una y otra vez a cada uno de los nuevos
reportes que se cree.

Flexibilidad en Integración e Interacción


• La interacción y acceso a los datos que sus usuarios demandan: Crystal
Reports habilita la visualización e interacción con los reportes a través de una
amplia variedad de dispositivos y entornos. Incluye los Report Parts
(fracciones de reporte) o el soporte para Smart Tags en Office XP, para
proveer acceso, navegación e interacción con los reportes vía portales web,
documentos de Microsoft Office o dispositivos inalámbricos. Los visores Web
avanzados habilitan a los usuarios finales para realizar búsquedas dentro de
los datos de un reporte y exportarlas posteriormente a Microsoft Excel, Word
y páginas HTML con el vínculo dinámico al reporte original. Adicionalmente,
el reporte completo puede ser exportado a una variedad de formatos
incluyendo XML, PDF, HTML y Microsoft Excel.
• La flexibilidad y el control que usted necesita: Con flexibles SDKs
(Software Development Kits) para aplicaciones .NET, Java y COM y
controles para que incluso el usuario final pueda hacer cambios a los
reportes, Crystal Reports habilita la estrecha integración tanto en
aplicaciones Cliente/Servidor como en aplicaciones Web.

Nuevas características
Crystal Reports XI continúa desarrollando su tecnología de reportes para satisfacer
las necesidades y desafíos de los analistas de negocio y desarrolladores. Más de
50 nuevas características y mejoras han sido desarrolladas en esta nueva versión,
entre las que se destacan:
• Control SQL: Permite editar las sentencias SQL directamente para un
control ilimitado sobre la conectividad con la base de datos.
• Repositorio: Permite almacenar objetos de reporte clave en una librería
centralizada, para ser reutilizados en otros reportes.
• Report Application Server: Servicio de procesamiento de reportes basado
en Web, para realizar integración de contenido dinámico en aplicaciones
Web empresariales.
• SDKs para .NET, Java y COM: Permite crear aplicaciones utilizando
cualquier plataforma de desarrollo y controlando la visualización, interacción
y modificación de los reportes en tiempo de ejecución.

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

• Licencias de publicación Web flexibles: Capacidades de procesamiento


en cola, que hacen a un mejor aprovechamiento de las licencias.

Ventajas
Crystal Reports permite:
• Transformar rápidamente cualquier fuente de datos en contenido interactivo.
• Integrar estrechamente capacidades de diseño, modificación y visualización
en aplicaciones .NET, Java o COM.
• Permitir a los usuarios finales acceder e interactuar con los reportes a través
de portales Web, dispositivos móviles y documentos de Microsoft Office®

Crystal Reports for Visual Studio 2022 fue lanzado en mayo de 2022, la ultima
versión es la Crystal Reports SP32. Aquí te dejaré los archivos necesarios para que
puedas descargar y asi crear tus reportes con Crystal Reports para Visual Studio
2022.

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

SAP Crystal Report para VS 2022 necesita dos paquetes de instalación de SAP
Crystal Report.
1. Descargue SAP Crystal Reports versión SP32 de 64 bits (Edición de
desarrollador), CRforVS6413SP32_0-80007712.EXE, que instalará:
o a) Crystal Reports para Microsoft Visual Studio 2022 (instala las
plantillas de proyectos y elementos del cuadro de herramientas),
o b) motor de tiempo de ejecución CR de 32 bits también.
o En el caso de que ocurra un error al iniciar la instalación, que hace
referencia a que falta instalar el Paquete Redistribuible de Visual C++
2013, debes primero descargar e instalar este
archivo vcredist_x64.exe.
2. Luego descargue SAP Crystal Report versión SP32 de 64 bits (motor de
tiempo de ejecución para 64 bits, CR13SP32MSI64_0-80007712.MSI) y
procesa a instalar.
Con esto lograrás tener disponible la plantilla para proyectos de Crystal Reports en
Visual Studio 2022, como así también los controles respectivos en el cuadro de
herramientas.

Como extra, dejo los paquetes para redistribución de aplicaciones con Crystal
Reports 32bits y 64bits, y para ClickOnce.
• Paquete para ClickOnce: CR13SP32ClikOnce_0-80007712.ZIP
• Paquete redistribución 32bits: CR13SP32Redist32_0-80007712.ZIP
• Paquete redistribución 64bits: CR13SP32Redist64_0-80007712.ZIP

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

Report View

Report View, es una característica que se utiliza para trabajar con informes y
reportes en proyectos de desarrollo de software. Los informes son documentos que
presentan datos de una manera estructurada y visualmente atractiva. Aquí hay
algunas generalidades y características principales de Report View en Visual
Studio:
1. Diseño de Informes: La característica de Report View en Visual Studio
permite diseñar y crear informes de una manera visual. Puedes agregar
elementos como tablas, gráficos, imágenes, textos y otros controles para
organizar y mostrar datos.
2. Conexión a Orígenes de Datos: Puedes conectar tus informes a diferentes
fuentes de datos, como bases de datos, servicios web, archivos de Excel,
entre otros. Esto te permite generar informes basados en datos en tiempo
real.
3. Lenguaje de Consulta: Report View admite lenguajes de consulta, como
SQL o LINQ, para recuperar datos de las fuentes de datos y presentarlos en
el informe. Puedes definir consultas que seleccionen los datos específicos
que deseas mostrar en el informe.
4. Personalización y Formateo: Puedes personalizar la apariencia de los
informes con diversas opciones de formateo, como fuentes, colores, estilos
de línea, y más. También puedes agregar totales, subtotales y otros
elementos de resumen.
5. Agrupación y Ordenación: Report View permite agrupar y ordenar datos en
el informe. Puedes organizar la información de acuerdo a tus necesidades y
criterios específicos.
6. Interactividad: Los informes pueden ser interactivos. Esto significa que
puedes agregar acciones, como hipervínculos, que permitan a los usuarios
explorar y navegar dentro del informe para obtener más detalles o acceder a
información relacionada.
7. Exportación y Distribución: Puedes exportar los informes a diferentes
formatos, como PDF, Excel, Word, HTML, y otros. Esto facilita la distribución
de los informes a otros usuarios o sistemas.
8. Integración con Aplicaciones: Visual Studio permite integrar informes
directamente en aplicaciones .NET, como aplicaciones web o de escritorio,
para que los usuarios puedan acceder a los informes desde la propia
aplicación.

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

9. Seguridad y Autenticación: Puedes configurar la seguridad y la


autenticación para garantizar que solo las personas autorizadas tengan
acceso a los informes sensibles.
10. Generación Programática: Si lo deseas, puedes generar informes de forma
programática utilizando bibliotecas como Crystal Reports o SQL Server
Reporting Services, que se integran con Visual Studio.

Para agregar el control ReportViewer a una aplicación Windows


1. Cree una nueva aplicación Windows con Microsoft Visual C# o Microsoft
Visual Basic.
O bien
Abra un proyecto de aplicación Windows existente y agregue un nuevo formulario.
2. Busque el control ReportViewer en Cuadro de herramientas. Si el Cuadro
de herramientas no es visible, puede acceder a él desde el menú Ver si
selecciona Cuadro de herramientas.

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

3. Arrastre el control ReportViewer a la superficie de diseño de Windows Form.


Se agrega al formulario un control ReportViewer denominado reportViewer1.
Una vez agregado el control al formulario, aparecerá la etiqueta
inteligente ReportViewer Tasks y le solicitará que seleccione un informe.
Si el informe que quiere ver se ha implementado en un servidor de informes,
seleccione la opción <Informe de servidor> en la lista desplegable Elegir informe.
Una vez seleccionada la opción <Informe de servidor>, aparecen dos propiedades
adicionales: URL del servidor de informes y Ruta de acceso de
informe. Dirección URL del servidor de informes es la dirección del servidor de
informes y Ruta de acceso del informe es la ruta de acceso completa al informe
que quiere representar.

Si quiere ver un informe en modo local, seleccione la opción Diseñar nuevo


informe para iniciar el diseñador de informes o seleccione un informe que ya formé
parte del proyecto existente.

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

Para agregar el informe Sales Order Detail a una aplicación Windows


1. Abra el proyecto Windows al que se agregará el informe.
2. En el menú Proyecto, seleccione Agregar elemento existente.
3. Vaya a la ubicación donde instaló el proyecto AdventureWorks2022 Report
Samples.
Para descargar los ejemplos de informe, vaya a Ejemplos de informes de
AdventureWorks
4. Seleccione el archivo Sales Order Detail.rdl y haga clic en el botón Agregar.
El archivo Sales Order Detail.rdl debe formar parte del proyecto.

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

5. Haga clic con el botón derecho en el archivo Sales Order Detail.rdl en el


Explorador de soluciones y seleccione Cambiar nombre. Cambie el nombre
del informe a Sales Order Detail.rdlc y presione ENTRAR.
Si el Explorador de soluciones no está visible, puede abrirlo en el
menú Ver seleccionando Explorador de soluciones.
1. Una vez cambiado el nombre del informe, seleccione el archivo y busque la
ventana Propiedades. Cambie la propiedad Copiar en el directorio de
salida a Copiar si es posterior.

Si la ventana Propiedades no está visible, ábrala desde el


menú Ver eligiendo Ventana Propiedades.

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

El ejemplo de código siguiente creará un conjunto de datos para los datos del pedido
de ventas y, a continuación, representará el informe Sales Order Detail en modo
local.
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
using System;

public partial class Form1 : Form


{
private void Form1_Load(object sender, EventArgs e)
{
// Set the processing mode for the ReportViewer to Local
reportViewer1.ProcessingMode = ProcessingMode.Local;

LocalReport localReport = reportViewer1.LocalReport;

localReport.ReportPath = "Sales Order Detail.rdlc";

DataSet dataset = new DataSet("Sales Order Detail");

string salesOrderNumber = "SO43661";

// Get the sales order data


GetSalesOrderData(salesOrderNumber, ref dataset);

// Create a report data source for the sales order data


ReportDataSource dsSalesOrder = new ReportDataSource();
dsSalesOrder.Name = "SalesOrder";
dsSalesOrder.Value = dataset.Tables["SalesOrder"];

localReport.DataSources.Add(dsSalesOrder);

// Get the sales order detail data


GetSalesOrderDetailData(salesOrderNumber, ref dataset);

// Create a report data source for the sales order detail


// data
ReportDataSource dsSalesOrderDetail =
new ReportDataSource();
dsSalesOrderDetail.Name = "SalesOrderDetail";
dsSalesOrderDetail.Value =
dataset.Tables["SalesOrderDetail"];

localReport.DataSources.Add(dsSalesOrderDetail);

// Create a report parameter for the sales order number


ReportParameter rpSalesOrderNumber = new ReportParameter();
rpSalesOrderNumber.Name = "SalesOrderNumber";
rpSalesOrderNumber.Values.Add("SO43661");

// Set the report parameters for the report


localReport.SetParameters(
new ReportParameter[] { rpSalesOrderNumber });

// Refresh the report


reportViewer1.RefreshReport();

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

private void GetSalesOrderData(string salesOrderNumber,


ref DataSet dsSalesOrder)
{
string sqlSalesOrder =
"SELECT SOH.SalesOrderNumber, S.Name AS Store, " +
" SOH.OrderDate, C.FirstName AS SalesFirstName, " +
" C.LastName AS SalesLastName, E.Title AS " +
" SalesTitle, SOH.PurchaseOrderNumber, " +
" SM.Name AS ShipMethod, BA.AddressLine1 " +
" AS BillAddress1, BA.AddressLine2 AS " +
" BillAddress2, BA.City AS BillCity, " +
" BA.PostalCode AS BillPostalCode, BSP.Name " +
" AS BillStateProvince, BCR.Name AS " +
" BillCountryRegion, SA.AddressLine1 AS " +
" ShipAddress1, SA.AddressLine2 AS " +
" ShipAddress2, SA.City AS ShipCity, " +
" SA.PostalCode AS ShipPostalCode, SSP.Name " +
" AS ShipStateProvince, SCR.Name AS " +
" ShipCountryRegion, CC.Phone AS CustPhone, " +
" CC.FirstName AS CustFirstName, CC.LastName " +
" AS CustLastName " +
"FROM Person.Address SA INNER JOIN " +
" Person.StateProvince SSP ON " +
" SA.StateProvinceID = SSP.StateProvinceID " +
" INNER JOIN Person.CountryRegion SCR ON " +
" SSP.CountryRegionCode = SCR.CountryRegionCode " +
" RIGHT OUTER JOIN Sales.SalesOrderHeader SOH " +
" LEFT OUTER JOIN Person.Contact CC ON " +
" SOH.ContactID = CC.ContactID LEFT OUTER JOIN" +
" Person.Address BA INNER JOIN " +
" Person.StateProvince BSP ON " +
" BA.StateProvinceID = BSP.StateProvinceID " +
" INNER JOIN Person.CountryRegion BCR ON " +
" BSP.CountryRegionCode = " +
" BCR.CountryRegionCode ON SOH.BillToAddressID " +
" = BA.AddressID ON SA.AddressID = " +
" SOH.ShipToAddressID LEFT OUTER JOIN " +
" Person.Contact C RIGHT OUTER JOIN " +
" HumanResources.Employee E ON C.ContactID = " +
" E.ContactID ON SOH.SalesPersonID = " +
" E.EmployeeID LEFT OUTER JOIN " +
" Purchasing.ShipMethod SM ON SOH.ShipMethodID " +
" = SM.ShipMethodID LEFT OUTER JOIN Sales.Store" +
" S ON SOH.CustomerID = S.CustomerID " +
"WHERE (SOH.SalesOrderNumber = @SalesOrderNumber)";

SqlConnection connection = new


SqlConnection("Data Source=(local); " +
"Initial Catalog=AdventureWorks; " +
"Integrated Security=SSPI");

SqlCommand command =
new SqlCommand(sqlSalesOrder, connection);

command.Parameters.Add(
new SqlParameter("SalesOrderNumber",

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#


Crystal Report y Report View

salesOrderNumber));

SqlDataAdapter salesOrderAdapter = new


SqlDataAdapter(command);

salesOrderAdapter.Fill(dsSalesOrder, "SalesOrder");
}

private void GetSalesOrderDetailData(string salesOrderNumber,


ref DataSet dsSalesOrder)
{
string sqlSalesOrderDetail =
"SELECT SOD.SalesOrderDetailID, SOD.OrderQty, " +
" SOD.UnitPrice, CASE WHEN " +
" SOD.UnitPriceDiscount IS NULL THEN 0 " +
" ELSE SOD.UnitPriceDiscount END AS " +
" UnitPriceDiscount, SOD.LineTotal, " +
" SOD.CarrierTrackingNumber, " +
" SOD.SalesOrderID, P.Name, P.ProductNumber " +
"FROM Sales.SalesOrderDetail SOD INNER JOIN " +
" Production.Product P ON SOD.ProductID = " +
" P.ProductID INNER JOIN " +
" Sales.SalesOrderHeader SOH ON " +
" SOD.SalesOrderID = SOH.SalesOrderID " +
"WHERE (SOH.SalesOrderNumber = @SalesOrderNumber) " +
"ORDER BY SOD.SalesOrderDetailID";

using (SqlConnection connection = new


SqlConnection("Data Source=(local); " +
"Initial Catalog=AdventureWorks; " +
"Integrated Security=SSPI"))
{

SqlCommand command =
new SqlCommand(sqlSalesOrderDetail, connection);

command.Parameters.Add(
new SqlParameter("SalesOrderNumber",
salesOrderNumber));

SqlDataAdapter salesOrderDetailAdapter = new


SqlDataAdapter(command);

salesOrderDetailAdapter.Fill(dsSalesOrder,
"SalesOrderDetail");
}
}
}

CRYSTAL REPORT Y REPORT VIEW | Visual Studio C#

También podría gustarte