Está en la página 1de 6

GENERACIN DE REPORTES CON CRYSTAL REPORTS Y VB.

NET
1. Resultado Final del Reporte, Diseo de Factura en Crystal Reports.

2. Requisitos: Visual Studio 200X, x=5, 8, 10, 12 Crystal Reports Microsoft SQL Server 200X, x=5,8,12 Pasos: Agregamos un nuevo elemento Crsytal Reports, al proyecto, de tipo Reporting.

Ing. Hobby Saavedra Rosas

Visual Basic. NET

Asignamos el nombre al reporte: ReporteFactura.rpt

Realizamos el diseo de la Factura: Como se podr observar necesitamos dos procedimientos almacenados, una para recuperar datos referente al detalle y el otro para recuperar datos referente a la factura. Se agregan los campos respectivos y se da el formato que mejor se ajuste a sus necesidades.

Ing. Hobby Saavedra Rosas

Visual Basic. NET

Como se habrn podido dar cuenta, necesitamos algunos parmetros de entrada, como el nmero de factura y a partir de l, poder generar los datos referente al pedido gestionado. Tambien necesitamos mostrar el total a pagar, el igv, el subtotal y el total a pagar pero en letras. Para ello es necesario crear parametros en Crystal Reports.

Ahora mostramos el contenido de los procedimientos almacenados Procedimiento para listar los detalles de una determinada factura.

Procedimiento para listar los datos de una determinada factura. Los campos @LETRAS, @MONTO1,@MONTO2,@MONTO3,

permiten recibir valores de entrada y son acomplados el reporte.

Ing. Hobby Saavedra Rosas

Visual Basic. NET

Ahora

agregamos

un

nuevo

formulario,

el

cual

tendr

un

objeto

CrystalReportViewer.

Cdigo Fuente en el Formulario que contendr el reporte.

Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared Public Class FrmRptFactura Public MiCod_fact, V_Venta, IGV, Total, NumeroLetras As String Private Sub FrmRptFactura_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.crvFactura.ReportSource = Nothing 'pasando el Cdigo de Venta ingresado a una variable discreta Dim Cod_fact As New ParameterDiscreteValue Dim M_IGV As New ParameterDiscreteValue Dim M_VVenta As New ParameterDiscreteValue Dim M_Total As New ParameterDiscreteValue Dim M_NumLetras As New ParameterDiscreteValue Cod_fact.Value = MiCod_fact.ToString M_VVenta.Value = V_Venta.ToString M_IGV.Value = IGV.ToString M_Total.Value = Total.ToString M_NumLetras.Value = NumeroLetras.ToString 'en la variable tabla se mostrara el resultado final 'del reporte. Dim tabla As New ParameterFields Dim temp As ParameterField temp = New ParameterField temp.CurrentValues.Add(Cod_fact) temp.ParameterFieldName = "@num_fact" tabla.Add(temp) temp = New ParameterField temp.CurrentValues.Add(M_VVenta) temp.ParameterFieldName = "@MONTO1" tabla.Add(temp) temp = New ParameterField temp.CurrentValues.Add(M_IGV)

Ing. Hobby Saavedra Rosas

Visual Basic. NET

temp.ParameterFieldName = "@MONTO2" tabla.Add(temp) temp = New ParameterField temp.CurrentValues.Add(M_Total) temp.ParameterFieldName = "@MONTO3" tabla.Add(temp) temp = New ParameterField temp.CurrentValues.Add(M_NumLetras) temp.ParameterFieldName = "@LETRAS" tabla.Add(temp) Me.crvFactura.ReportSource = New ReporteFactura Me.crvFactura.ParameterFieldInfo = tabla End Sub End Class

Ahora lo invocamos al formulario que tiene el reporte. Esto lo hacemos desde el formulario GestionPedidos o desde consulta de facturas.
Private Sub Btn_Imprimir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Imprimir.Click FrmRptFactura.MiCod_fact = num_fact.ToString FrmRptFactura.V_Venta = Me.lbl_vVenta.Text FrmRptFactura.IGV = Me.lbl_Igv.Text FrmRptFactura.Total = Me.lbl_pVenta.Text FrmRptFactura.NumeroLetras = Me.lbl_numletras.Text FrmRptFactura.Show() End Sub

Realizamos una prueba, para verificar si el reporte est funcionando correctamente. Accedemos al sistema, para poder realizar el pedido a un determinado cliente. Nos pide ingresar el usuario y la contrasea. De ser estas credenciales correctas, accedemos al sistema. Este usuario ser el vendedor.

Estando y en el sistema, procedemos a generar el nuevo pedido. Para el cliente identificado con DNI:20123422

Ing. Hobby Saavedra Rosas

Visual Basic. NET

Guardamos el pedido.

Ahora mandamos a generar la factura la con nmero 55 y posteriormente realizar el pago. Ya podemos imprimir o exportar a cualquier formato. (pdf, xls)

Ing. Hobby Saavedra Rosas

Visual Basic. NET

También podría gustarte