SlideShare una empresa de Scribd logo
1 de 13
FACTURA & BOLETA
ROYER TUESTA SALAS Página 1
PROYECTOPARADESARROLLARUNFORMULARIODEFACTURACION
DONDE MANEJAMOS BOLETA Y FACTURA
ESTE ES UN PROYECTO HECHO EN VISUAL BASIC 2010 y sql server 2005.
El proyecto está orientado hacia todas las personas que quieran disponer de
ideas, conocimientos, ejemplos y una visión tecnológica de lo que concierne a
lo que es un sistema basado en ejercicios propuestos y al mismo tiempo
resuelto, que esta codificado para soportar todo tipo de acciones del usuario en
general.
FACTURA & BOLETA
ROYER TUESTA SALAS Página 2
FACTURA – BOLETA
BD. SQL SERVER
CREATE DATABASESISTEMA
GO
USE SISTEMA
GO
CREATE TABLE CLIENTES
(IDCLI VARCHAR(5)NOTNULL,
NOMBRE VARCHAR(20)NOTNULL,
APELLIDOSVARCHAR(50)NOTNULL,
SEXO VARCHAR(1)NULL,
PrimaryKey (IDCLI))
GO
INSERT INTOCLIENTES VALUES('C0001','LUIS','GOMEZ','M')
INSERT INTOCLIENTES VALUES('C0002','CARLOS','SANCHEZ','M')
INSERT INTOCLIENTES VALUES('C0003','ELIANA','CASTRO','M')
GO
CREATE TABLE EMPLEADOS
(IDEMP VARCHAR(5)NOTNULL,
NOMBRE VARCHAR(20)NOTNULL,
APELLIDOS VARCHAR(50)NOTNULL,
SEXO VARCHAR(1)NULL,
PrimaryKey (IDEMP))
GO
INSERT INTOEMPLEADOS VALUES('E0001','LUIS','GOMEZ','M')
INSERT INTOEMPLEADOS VALUES('E0002','FERNANDA','PEREZ','M')
INSERT INTOEMPLEADOS VALUES('E0003','LUISA','VERASTEGUI','M')
GO
--DOCUMENTO--
CREATE TABLE CAB_DOCUMENTO
(NDOCVARCHAR(5) NOT NULL,
TIP_DOC VARCHAR(30) NOTNULL,
IDCLI VARCHAR(5) NOTNULL,
IDEMP VARCHAR(5)NOTNULL,
FECHA DATETIME NOT NULL,
SUBTOTAL REAL NULL,
IGV REAL NULL,
FACTURA & BOLETA
ROYER TUESTA SALAS Página 3
TOTAL REAL NULL,
ESTADO VARCHAR(20) NOTNULL,
PRIMARY KEY(NDOC,TIP_DOC))
GO
CREATE TABLE DETALLE_DOCUMENTO(
NDOCVARCHAR(5)NOTNULL,
TIP_DOC VARCHAR(30) NOT NULL,
ITEM INT NOTNULL,
PRODUCTO VARCHAR(20) NOTNULL,
PRECIOREAL NULL,
CANTIDADINTNULL,
PRIMARY KEY(ITEM,NDOC,TIP_DOC))
GO
ALTER TABLE CAB_DOCUMENTO
ADD FOREIGN KEY(IDCLI) REFERENCES CLIENTES
ALTER TABLE CAB_DOCUMENTO
ADD FOREIGN KEY(IDEMP) REFERENCES EMPLEADOS
ALTER TABLE DETALLE_DOCUMENTO
ADD FOREIGN KEY (NDOC,TIP_DOC) REFERENCES CAB_DOCUMENTO
GO
--CREACION DE LA TABLA GENERADOR
GO
CREATE TABLE GENERADOR(
PARAMETRO Varchar(40) Not Null,
ULTIMO Int Null
)
GO
-- INSERCCION DE DATOS EN LA TABLA GENERADOR
INSERT INTO GENERADOR values('DOCUMENTO',0)
GO
CREATE PROCEDURE SP_MANTEDOCUMENTO
@NDO VARCHAR (5),
@TIP VARCHAR (30),
@IDC VARCHAR(5),
@IDE VARCHAR (5),
@FEC DATETIME ,
@SUBTOT REAL,
@IGV REAL,
@TOT REAL,
@EST VARCHAR(20)
AS
BEGIN
INSERT INTO CAB_DOCUMENTO VALUES (@NDO, @TIP, @IDC,@IDE, @FEC,@SUBTOT,@IGV,@TOT,@EST)
END
GO
SELECT * FROM CLIENTES
SELECT * FROM EMPLEADOS
SELECT * FROM CAB_DOCUMENTO
SELECT * FROM DETALLE_DOCUMENTO
SELECT * FROM GENERADOR
FACTURA & BOLETA
ROYER TUESTA SALAS Página 4
APLICACIÓN.VISUAL STUDIO.NET
FACTURA & BOLETA
ROYER TUESTA SALAS Página 5
CODIGO Facturacion (Form1.vb)
ImportsSystem.Data.SqlClient
PublicClassFacturacion
Dim filaAsInteger= -1
Dim TIPOAs String= ""
Dim D As Integer=0
Dim pre As Double
Private SubForm1_Load(ByVal senderAsSystem.Object, ByVale AsSystem.EventArgs) HandlesMyBase.Load
Me.txtFecha.Text=Now
End Sub
Private SubbtnAgregar_Click(ByVal senderAsSystem.Object, ByVal e AsSystem.EventArgs) HandlesbtnAgregar.Click
Me.DatosGrid.Rows.Add("")
End Sub
Private SubbtnQuitar_Click(ByVal senderAsSystem.Object, ByVal e AsSystem.EventArgs)Handles btnQuitar.Click
If fila<> -1 Then
Me.DatosGrid.Rows.RemoveAt(fila)
fila= -1
Else
MsgBox("Debe eliminarunafila")
EndIf
End Sub
Private SubbtnGrabar_Click(ByValsenderAsSystem.Object, ByVal e AsSystem.EventArgs) HandlesbtnGrabar.Click
Try
'CONDICIONESEN BOLETA
If radBoleta.Checked=True Then
TIPO = "BOLETA"
End If
If radFactura.Checked=True Then
TIPO = "FACTURA"
End If
'CABECERA
cn.Open()
Dimcmd As NewSqlCommand("SP_MANTEDOCUMENTO",cn)
Dimprm As NewSqlParameter
Withcmd
.CommandType =CommandType.StoredProcedure
FACTURA & BOLETA
ROYER TUESTA SALAS Página 6
prm = .Parameters.Add("@NDO",SqlDbType.VarChar,5)
prm.Value =Me.txtNum.Text
prm = .Parameters.Add("@TIP",SqlDbType.VarChar,30)
prm.Value =TIPO
prm = .Parameters.Add("@IDC",SqlDbType.VarChar,5)
prm.Value =Me.txtCodCli.Text
prm = .Parameters.Add("@IDE",SqlDbType.VarChar,5)
prm.Value =Me.txtCodEmpl.Text
prm = .Parameters.Add("@FEC",SqlDbType.DateTime)
prm.Value =Me.txtFecha.Text
prm = .Parameters.Add("@SUBTOT",SqlDbType.Real)
prm.Value =Me.txtSubTotal.Text
prm = .Parameters.Add("@IGV",SqlDbType.Real)
prm.Value =Me.txtIgv.Text
prm = .Parameters.Add("@TOT",SqlDbType.Real)
prm.Value =Me.txtTotal.Text
prm = .Parameters.Add("EST",SqlDbType.VarChar,20)
prm.Value =Me.cbEstado.SelectedItem
.ExecuteNonQuery()
End With
cn.Close()
cmd.Dispose()
'DETALLE
DimI As Integer
Dimprod,precio,cant, imp,sql2As String
For I = 0 To DatosGrid.Rows.Count - 1
prod = DatosGrid.Rows(I).Cells(0).Value
precio= DatosGrid.Rows(I).Cells(1).Value
cant = DatosGrid.Rows(I).Cells(2).Value
imp= DatosGrid.Rows(I).Cells(3).Value
sql2 = "INSERT INTODETALLE_DOCUMENTO VALUES('" + Me.txtNum.Text+"','" + TIPO+ "','" + (I+ 1).ToString+ "',
'" + prod + "' , '" + precio+ "' , '" + cant + "')"
Dim cmd2 AsNewSqlCommand(sql2,cn)
cn.Open()
cmd2.ExecuteNonQuery()
FACTURA & BOLETA
ROYER TUESTA SALAS Página 7
cn.Close()
cmd2.Dispose()
Next
MsgBox("DocumentoAlmacenado")
'ACTUALIZAR
Dimcmd3 AsNew SqlCommand("UPDATEGENERADORSETULTIMO = ULTIMO + 1 WHERE PARAMETRO =
'DOCUMENTO'", cn)
cn.Open()
cmd3.ExecuteNonQuery()
cn.Close()
cmd3.Dispose()
pre = 0
Catch ex AsException
MsgBox(ex.Message)
cn.Close()
EndTry
End Sub
Private SubbtnBusCliente_Click(ByValsenderAsSystem.Object, ByVal e AsSystem.EventArgs) Handles
btnBusCliente.Click
Try
DimNR As Integer=-1
DimCodigoAsString= ""
Codigo= InputBox("IngreseCliente:")
DimDa1 As New SqlDataAdapter("select*from CLIENTESwhere IdCLI= '" + Codigo+ "'", cn)
Da1.Fill(dsEntorno, "Busq1")
NR = dsEntorno.Tables("Busq1").Rows.Count
If NR > 0 Then
Me.txtCodCli.Text=dsEntorno.Tables("Busq1").Rows(0)(0)
Me.txtNomCli.Text=dsEntorno.Tables("Busq1").Rows(0)(1)
Else
MsgBox("Cliente noExiste")
End If
dsEntorno.Tables("Busq1").Rows.Clear()
Catch ex AsException
MsgBox(ex.Message)
EndTry
End Sub
Private SubbtnBusEmpleado_Click(ByValsenderAsSystem.Object, ByVal e AsSystem.EventArgs) Handles
btnBusEmpleado.Click
Try
DimNR As Integer=-1
FACTURA & BOLETA
ROYER TUESTA SALAS Página 8
DimCodigoAsString= ""
Codigo= InputBox("IngreseEmpleado:")
DimDa1 As New SqlDataAdapter("select*from EMPLEADOS where IDEMP= '" + Codigo+ "'", cn)
Da1.Fill(dsEntorno,"Busq2")
NR = dsEntorno.Tables("Busq2").Rows.Count
If NR > 0 Then
Me.txtCodEmpl.Text=dsEntorno.Tables("Busq2").Rows(0)(0)
Me.txtNomEmp.Text=dsEntorno.Tables("Busq2").Rows(0)(1)
Else
MsgBox("EmpleadonoExiste")
End If
dsEntorno.Tables("Busq2").Rows.Clear()
Catch ex AsException
MsgBox(ex.Message)
MsgBox(ex.ToString)
EndTry
End Sub
Private SubbtnNuevo_Click(ByVal senderAsSystem.Object, ByVal e AsSystem.EventArgs) HandlesbtnNuevo.Click
Call limpiar()
Me.txtNum.Text=Generadores("DOCUMENTO")
End Sub
Sub limpiar()
Me.txtNum.Text=""
Me.txtCodCli.Text=""
Me.txtNomCli.Text=""
Me.txtCodEmpl.Text=""
Me.txtNomEmp.Text=""
Me.txtSubTotal.Text=""
Me.txtIgv.Text=""
Me.txtTotal.Text=""
Me.cbEstado.Text=""
Me.DatosGrid.Rows.Clear()
Me.DatosGrid.DataSource =Nothing
D = 0
End Sub
Private SubDatosGrid_CellClick(ByVal senderAsObject,ByVal e AsSystem.Windows.Forms.DataGridViewCellEventArgs)
Handles DatosGrid.CellClick
fila= e.RowIndex
End Sub
Private SubDatosGrid_CellEnter(ByValsenderAsObject,ByVal e AsSystem.Windows.Forms.DataGridViewCellEventArgs)
Handles DatosGrid.CellEnter
FACTURA & BOLETA
ROYER TUESTA SALAS Página 9
Try
If (DatosGrid.Rows(D).Cells(2).Value >0) Then
Me.DatosGrid.Rows(D).Cells(3).Value=Me.DatosGrid.Rows(D).Cells(2).Value *
Me.DatosGrid.Rows(D).Cells(1).Value
End If
If (radBoleta.Checked=True) Then
If (DatosGrid.Rows(D).Cells(3).Value >0) Then
pre = pre + DatosGrid.Rows(D).Cells(3).Value
Me.txtSubTotal.Text = pre
Me.txtIgv.Text = 0
Me.txtTotal.Text = Me.txtSubTotal.Text
D = D + 1
End If
ElseIf (radFactura.Checked = True) Then
If (DatosGrid.Rows(D).Cells(3).Value > 0) Then
pre = pre + DatosGrid.Rows(D).Cells(3).Value
Me.txtSubTotal.Text = pre
Me.txtIgv.Text = (Val(Me.txtSubTotal.Text) * 0.19)
Me.txtTotal.Text = (Val(Me.txtSubTotal.Text) + Val(Me.txtIgv.Text))
D = D + 1
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub btnImprimir_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnImprimir.Click
tipoDocu = cbTipoDocu.SelectedItem
codDocu = txtCodigoDocu.Text
frmImprimir.Show()
End Sub
End Class
MODULO DE CONEXION Y AUTOGENERADOR DECODIGO (Generar.vb)
ImportsSystem.Data.SqlClient
Module Generar
Publiccn AsNew SqlConnection("server=localhost;database=SISTEMA;integratedsecurity=true")
PublicdsEntorno AsNew DataSet
PublictipoDocu AsString
PubliccodDocuAs String
PublicFunction Generadores(ByValTABLA AsString) AsString
DimRESULT AsString = ""
DimDR1 AsSqlDataReader
FACTURA & BOLETA
ROYER TUESTA SALAS Página 10
DimULT As Integer=0
DimCMD AsNew SqlCommand("SELECTULTIMO FROMGENERADOR WHERE PARAMETRO= '" + TABLA + "'", cn)
cn.Open()
DR1 = CMD.ExecuteReader
While DR1.Read
ULT = Val(DR1("ULTIMO") + 1)
EndWhile
cn.Close()
DimCEROS AsInteger
CEROS = 5 - Len(Str(ULT))
Select Case CEROS
Case 3 : RESULT = Left(TABLA, 1) + "000" + Trim(Str(ULT))
Case 2 : RESULT = Left(TABLA, 1) + "00" + Trim(Str(ULT))
Case 1 : RESULT = Left(TABLA, 1) + "0" + Trim(Str(ULT))
Case 0 : RESULT = Left(TABLA, 1) + "" + Trim(Str(ULT))
End Select
Generadores = RESULT
End Function
End Module
FACTURA & BOLETA
ROYER TUESTA SALAS Página 11
MODELO CRISTAL REPORT (Reporte.rpt)
FACTURA & BOLETA
ROYER TUESTA SALAS Página 12
FORMULARIO PARAVISUALIZAREL REPORTE (FrmImprimir.vb)
CODIGO DE FrmImprimir
ImportsSystem.Data.SqlClient
PublicClassfrmImprimir
Dim Cn AsNew SqlConnection("Server=LocalHost;Uid=sa;Password=123;Database=SISTEMA")
Dim INFORME1 AsReporte
Dim MITABLA AsCrystalDecisions.CrystalReports.Engine.Table
Dim MILOGIN AsCrystalDecisions.Shared.TableLogOnInfo
Private SubfrmImprimir_Load(ByVal senderAsSystem.Object, ByVal e AsSystem.EventArgs)Handles MyBase.Load
Try
INFORME1 = New Reporte
For Each Me.MITABLA InINFORME1.Database.Tables
MILOGIN = MITABLA.LogOnInfo
MILOGIN.ConnectionInfo.Password="123"
MILOGIN.ConnectionInfo.UserID="sa"
MITABLA.ApplyLogOnInfo(MILOGIN)
FACTURA & BOLETA
ROYER TUESTA SALAS Página 13
Next
Me.CrystalReportViewer1.ReportSource =INFORME1
INFORME1.RecordSelectionFormula="{CAB_DOCUMENTO.TIP_DOC}='" + tipoDocu+ "' And
{DETALLE_DOCUMENTO.NDOC}='" + codDocu + "'"
Catch ex AsException
MessageBox.Show(ex.Message)
EndTry
End Sub
End Class

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Formulario de altas
Formulario de altasFormulario de altas
Formulario de altas
 
Guia programacon formulario cambiar clave
Guia programacon formulario cambiar claveGuia programacon formulario cambiar clave
Guia programacon formulario cambiar clave
 
Guia programacion acceso al asistema
Guia programacion  acceso al asistemaGuia programacion  acceso al asistema
Guia programacion acceso al asistema
 
ListBox in C#
ListBox in C#ListBox in C#
ListBox in C#
 
Practica de visual basic sistema de facturación
Practica de visual basic sistema de facturaciónPractica de visual basic sistema de facturación
Practica de visual basic sistema de facturación
 
Cristinagananparedes
CristinagananparedesCristinagananparedes
Cristinagananparedes
 
Codigo proceso
Codigo procesoCodigo proceso
Codigo proceso
 
Codigo tarea deposito
Codigo tarea depositoCodigo tarea deposito
Codigo tarea deposito
 
Tkinter pdf
Tkinter pdfTkinter pdf
Tkinter pdf
 
Manual de shine system
Manual de shine systemManual de shine system
Manual de shine system
 
Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011
 
Manual de shine system
Manual de shine systemManual de shine system
Manual de shine system
 
Hack x crack_sq_linjection
Hack x crack_sq_linjectionHack x crack_sq_linjection
Hack x crack_sq_linjection
 
Altas
AltasAltas
Altas
 
Altas
AltasAltas
Altas
 
Problemas propuestos2.0
Problemas propuestos2.0Problemas propuestos2.0
Problemas propuestos2.0
 
Ajax
AjaxAjax
Ajax
 
Capas
CapasCapas
Capas
 
Fundamentos de Programación Visual Basic 2010
Fundamentos de Programación Visual Basic 2010Fundamentos de Programación Visual Basic 2010
Fundamentos de Programación Visual Basic 2010
 

Similar a Proyecto de un formulario de facturacion

Conexion mysql y usos
Conexion mysql y usosConexion mysql y usos
Conexion mysql y usoscompunelson
 
Exposicion Dispositivos Moviles
Exposicion  Dispositivos  MovilesExposicion  Dispositivos  Moviles
Exposicion Dispositivos Movilesmanhiuco
 
Exposicion Dispositivos Moviles
Exposicion Dispositivos MovilesExposicion Dispositivos Moviles
Exposicion Dispositivos Movilesmanhiuco
 
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De ClienteFormulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De Clientejameszx
 
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De ClienteFormulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De Clientejameszx
 
Codigo de altas alejandra tecocoatzi ortiz
Codigo de altas alejandra tecocoatzi ortizCodigo de altas alejandra tecocoatzi ortiz
Codigo de altas alejandra tecocoatzi ortizalejandra22110
 
Crear El Proyecto Y El Primer Formulario Con Su CodificacióN
Crear El Proyecto Y El Primer  Formulario Con Su CodificacióNCrear El Proyecto Y El Primer  Formulario Con Su CodificacióN
Crear El Proyecto Y El Primer Formulario Con Su CodificacióNjameszx
 
Crear El Proyecto Y El Primer Formulario Con Su CodificacióN
Crear El Proyecto Y El Primer  Formulario Con Su CodificacióNCrear El Proyecto Y El Primer  Formulario Con Su CodificacióN
Crear El Proyecto Y El Primer Formulario Con Su CodificacióNjameszx
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datosLalo Osorio
 
Guia de Laboratorios 2 - VB.NET 2005
Guia de Laboratorios 2 - VB.NET 2005Guia de Laboratorios 2 - VB.NET 2005
Guia de Laboratorios 2 - VB.NET 2005Jose Ponce
 

Similar a Proyecto de un formulario de facturacion (20)

Guia n5 tam 2009 1
Guia n5 tam 2009 1Guia n5 tam 2009 1
Guia n5 tam 2009 1
 
Codigo proceso
Codigo procesoCodigo proceso
Codigo proceso
 
Guia no2 ado.net
Guia no2 ado.netGuia no2 ado.net
Guia no2 ado.net
 
Conexion mysql y usos
Conexion mysql y usosConexion mysql y usos
Conexion mysql y usos
 
Codigo tarea deposito
Codigo tarea depositoCodigo tarea deposito
Codigo tarea deposito
 
Exposicion Dispositivos Moviles
Exposicion  Dispositivos  MovilesExposicion  Dispositivos  Moviles
Exposicion Dispositivos Moviles
 
Exposicion Dispositivos Moviles
Exposicion Dispositivos MovilesExposicion Dispositivos Moviles
Exposicion Dispositivos Moviles
 
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De ClienteFormulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
 
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De ClienteFormulario De Registro De Boleta De Ventay Mantenimiento De Cliente
Formulario De Registro De Boleta De Ventay Mantenimiento De Cliente
 
Arreglos, Procedimientos y Funciones
Arreglos, Procedimientos y FuncionesArreglos, Procedimientos y Funciones
Arreglos, Procedimientos y Funciones
 
Manual tecnico
Manual tecnicoManual tecnico
Manual tecnico
 
Codigo de altas alejandra tecocoatzi ortiz
Codigo de altas alejandra tecocoatzi ortizCodigo de altas alejandra tecocoatzi ortiz
Codigo de altas alejandra tecocoatzi ortiz
 
Crear El Proyecto Y El Primer Formulario Con Su CodificacióN
Crear El Proyecto Y El Primer  Formulario Con Su CodificacióNCrear El Proyecto Y El Primer  Formulario Con Su CodificacióN
Crear El Proyecto Y El Primer Formulario Con Su CodificacióN
 
Crear El Proyecto Y El Primer Formulario Con Su CodificacióN
Crear El Proyecto Y El Primer  Formulario Con Su CodificacióNCrear El Proyecto Y El Primer  Formulario Con Su CodificacióN
Crear El Proyecto Y El Primer Formulario Con Su CodificacióN
 
Manual Tecnico
Manual TecnicoManual Tecnico
Manual Tecnico
 
Introducción a DJango
Introducción a DJangoIntroducción a DJango
Introducción a DJango
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datos
 
Jquery parte 1
Jquery parte 1Jquery parte 1
Jquery parte 1
 
Vector
Vector Vector
Vector
 
Guia de Laboratorios 2 - VB.NET 2005
Guia de Laboratorios 2 - VB.NET 2005Guia de Laboratorios 2 - VB.NET 2005
Guia de Laboratorios 2 - VB.NET 2005
 

Último

BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaJuan Carlos Fonseca Mata
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPANEP - DETP
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 

Último (20)

BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - Botánica
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETP
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 

Proyecto de un formulario de facturacion

  • 1. FACTURA & BOLETA ROYER TUESTA SALAS Página 1 PROYECTOPARADESARROLLARUNFORMULARIODEFACTURACION DONDE MANEJAMOS BOLETA Y FACTURA ESTE ES UN PROYECTO HECHO EN VISUAL BASIC 2010 y sql server 2005. El proyecto está orientado hacia todas las personas que quieran disponer de ideas, conocimientos, ejemplos y una visión tecnológica de lo que concierne a lo que es un sistema basado en ejercicios propuestos y al mismo tiempo resuelto, que esta codificado para soportar todo tipo de acciones del usuario en general.
  • 2. FACTURA & BOLETA ROYER TUESTA SALAS Página 2 FACTURA – BOLETA BD. SQL SERVER CREATE DATABASESISTEMA GO USE SISTEMA GO CREATE TABLE CLIENTES (IDCLI VARCHAR(5)NOTNULL, NOMBRE VARCHAR(20)NOTNULL, APELLIDOSVARCHAR(50)NOTNULL, SEXO VARCHAR(1)NULL, PrimaryKey (IDCLI)) GO INSERT INTOCLIENTES VALUES('C0001','LUIS','GOMEZ','M') INSERT INTOCLIENTES VALUES('C0002','CARLOS','SANCHEZ','M') INSERT INTOCLIENTES VALUES('C0003','ELIANA','CASTRO','M') GO CREATE TABLE EMPLEADOS (IDEMP VARCHAR(5)NOTNULL, NOMBRE VARCHAR(20)NOTNULL, APELLIDOS VARCHAR(50)NOTNULL, SEXO VARCHAR(1)NULL, PrimaryKey (IDEMP)) GO INSERT INTOEMPLEADOS VALUES('E0001','LUIS','GOMEZ','M') INSERT INTOEMPLEADOS VALUES('E0002','FERNANDA','PEREZ','M') INSERT INTOEMPLEADOS VALUES('E0003','LUISA','VERASTEGUI','M') GO --DOCUMENTO-- CREATE TABLE CAB_DOCUMENTO (NDOCVARCHAR(5) NOT NULL, TIP_DOC VARCHAR(30) NOTNULL, IDCLI VARCHAR(5) NOTNULL, IDEMP VARCHAR(5)NOTNULL, FECHA DATETIME NOT NULL, SUBTOTAL REAL NULL, IGV REAL NULL,
  • 3. FACTURA & BOLETA ROYER TUESTA SALAS Página 3 TOTAL REAL NULL, ESTADO VARCHAR(20) NOTNULL, PRIMARY KEY(NDOC,TIP_DOC)) GO CREATE TABLE DETALLE_DOCUMENTO( NDOCVARCHAR(5)NOTNULL, TIP_DOC VARCHAR(30) NOT NULL, ITEM INT NOTNULL, PRODUCTO VARCHAR(20) NOTNULL, PRECIOREAL NULL, CANTIDADINTNULL, PRIMARY KEY(ITEM,NDOC,TIP_DOC)) GO ALTER TABLE CAB_DOCUMENTO ADD FOREIGN KEY(IDCLI) REFERENCES CLIENTES ALTER TABLE CAB_DOCUMENTO ADD FOREIGN KEY(IDEMP) REFERENCES EMPLEADOS ALTER TABLE DETALLE_DOCUMENTO ADD FOREIGN KEY (NDOC,TIP_DOC) REFERENCES CAB_DOCUMENTO GO --CREACION DE LA TABLA GENERADOR GO CREATE TABLE GENERADOR( PARAMETRO Varchar(40) Not Null, ULTIMO Int Null ) GO -- INSERCCION DE DATOS EN LA TABLA GENERADOR INSERT INTO GENERADOR values('DOCUMENTO',0) GO CREATE PROCEDURE SP_MANTEDOCUMENTO @NDO VARCHAR (5), @TIP VARCHAR (30), @IDC VARCHAR(5), @IDE VARCHAR (5), @FEC DATETIME , @SUBTOT REAL, @IGV REAL, @TOT REAL, @EST VARCHAR(20) AS BEGIN INSERT INTO CAB_DOCUMENTO VALUES (@NDO, @TIP, @IDC,@IDE, @FEC,@SUBTOT,@IGV,@TOT,@EST) END GO SELECT * FROM CLIENTES SELECT * FROM EMPLEADOS SELECT * FROM CAB_DOCUMENTO SELECT * FROM DETALLE_DOCUMENTO SELECT * FROM GENERADOR
  • 4. FACTURA & BOLETA ROYER TUESTA SALAS Página 4 APLICACIÓN.VISUAL STUDIO.NET
  • 5. FACTURA & BOLETA ROYER TUESTA SALAS Página 5 CODIGO Facturacion (Form1.vb) ImportsSystem.Data.SqlClient PublicClassFacturacion Dim filaAsInteger= -1 Dim TIPOAs String= "" Dim D As Integer=0 Dim pre As Double Private SubForm1_Load(ByVal senderAsSystem.Object, ByVale AsSystem.EventArgs) HandlesMyBase.Load Me.txtFecha.Text=Now End Sub Private SubbtnAgregar_Click(ByVal senderAsSystem.Object, ByVal e AsSystem.EventArgs) HandlesbtnAgregar.Click Me.DatosGrid.Rows.Add("") End Sub Private SubbtnQuitar_Click(ByVal senderAsSystem.Object, ByVal e AsSystem.EventArgs)Handles btnQuitar.Click If fila<> -1 Then Me.DatosGrid.Rows.RemoveAt(fila) fila= -1 Else MsgBox("Debe eliminarunafila") EndIf End Sub Private SubbtnGrabar_Click(ByValsenderAsSystem.Object, ByVal e AsSystem.EventArgs) HandlesbtnGrabar.Click Try 'CONDICIONESEN BOLETA If radBoleta.Checked=True Then TIPO = "BOLETA" End If If radFactura.Checked=True Then TIPO = "FACTURA" End If 'CABECERA cn.Open() Dimcmd As NewSqlCommand("SP_MANTEDOCUMENTO",cn) Dimprm As NewSqlParameter Withcmd .CommandType =CommandType.StoredProcedure
  • 6. FACTURA & BOLETA ROYER TUESTA SALAS Página 6 prm = .Parameters.Add("@NDO",SqlDbType.VarChar,5) prm.Value =Me.txtNum.Text prm = .Parameters.Add("@TIP",SqlDbType.VarChar,30) prm.Value =TIPO prm = .Parameters.Add("@IDC",SqlDbType.VarChar,5) prm.Value =Me.txtCodCli.Text prm = .Parameters.Add("@IDE",SqlDbType.VarChar,5) prm.Value =Me.txtCodEmpl.Text prm = .Parameters.Add("@FEC",SqlDbType.DateTime) prm.Value =Me.txtFecha.Text prm = .Parameters.Add("@SUBTOT",SqlDbType.Real) prm.Value =Me.txtSubTotal.Text prm = .Parameters.Add("@IGV",SqlDbType.Real) prm.Value =Me.txtIgv.Text prm = .Parameters.Add("@TOT",SqlDbType.Real) prm.Value =Me.txtTotal.Text prm = .Parameters.Add("EST",SqlDbType.VarChar,20) prm.Value =Me.cbEstado.SelectedItem .ExecuteNonQuery() End With cn.Close() cmd.Dispose() 'DETALLE DimI As Integer Dimprod,precio,cant, imp,sql2As String For I = 0 To DatosGrid.Rows.Count - 1 prod = DatosGrid.Rows(I).Cells(0).Value precio= DatosGrid.Rows(I).Cells(1).Value cant = DatosGrid.Rows(I).Cells(2).Value imp= DatosGrid.Rows(I).Cells(3).Value sql2 = "INSERT INTODETALLE_DOCUMENTO VALUES('" + Me.txtNum.Text+"','" + TIPO+ "','" + (I+ 1).ToString+ "', '" + prod + "' , '" + precio+ "' , '" + cant + "')" Dim cmd2 AsNewSqlCommand(sql2,cn) cn.Open() cmd2.ExecuteNonQuery()
  • 7. FACTURA & BOLETA ROYER TUESTA SALAS Página 7 cn.Close() cmd2.Dispose() Next MsgBox("DocumentoAlmacenado") 'ACTUALIZAR Dimcmd3 AsNew SqlCommand("UPDATEGENERADORSETULTIMO = ULTIMO + 1 WHERE PARAMETRO = 'DOCUMENTO'", cn) cn.Open() cmd3.ExecuteNonQuery() cn.Close() cmd3.Dispose() pre = 0 Catch ex AsException MsgBox(ex.Message) cn.Close() EndTry End Sub Private SubbtnBusCliente_Click(ByValsenderAsSystem.Object, ByVal e AsSystem.EventArgs) Handles btnBusCliente.Click Try DimNR As Integer=-1 DimCodigoAsString= "" Codigo= InputBox("IngreseCliente:") DimDa1 As New SqlDataAdapter("select*from CLIENTESwhere IdCLI= '" + Codigo+ "'", cn) Da1.Fill(dsEntorno, "Busq1") NR = dsEntorno.Tables("Busq1").Rows.Count If NR > 0 Then Me.txtCodCli.Text=dsEntorno.Tables("Busq1").Rows(0)(0) Me.txtNomCli.Text=dsEntorno.Tables("Busq1").Rows(0)(1) Else MsgBox("Cliente noExiste") End If dsEntorno.Tables("Busq1").Rows.Clear() Catch ex AsException MsgBox(ex.Message) EndTry End Sub Private SubbtnBusEmpleado_Click(ByValsenderAsSystem.Object, ByVal e AsSystem.EventArgs) Handles btnBusEmpleado.Click Try DimNR As Integer=-1
  • 8. FACTURA & BOLETA ROYER TUESTA SALAS Página 8 DimCodigoAsString= "" Codigo= InputBox("IngreseEmpleado:") DimDa1 As New SqlDataAdapter("select*from EMPLEADOS where IDEMP= '" + Codigo+ "'", cn) Da1.Fill(dsEntorno,"Busq2") NR = dsEntorno.Tables("Busq2").Rows.Count If NR > 0 Then Me.txtCodEmpl.Text=dsEntorno.Tables("Busq2").Rows(0)(0) Me.txtNomEmp.Text=dsEntorno.Tables("Busq2").Rows(0)(1) Else MsgBox("EmpleadonoExiste") End If dsEntorno.Tables("Busq2").Rows.Clear() Catch ex AsException MsgBox(ex.Message) MsgBox(ex.ToString) EndTry End Sub Private SubbtnNuevo_Click(ByVal senderAsSystem.Object, ByVal e AsSystem.EventArgs) HandlesbtnNuevo.Click Call limpiar() Me.txtNum.Text=Generadores("DOCUMENTO") End Sub Sub limpiar() Me.txtNum.Text="" Me.txtCodCli.Text="" Me.txtNomCli.Text="" Me.txtCodEmpl.Text="" Me.txtNomEmp.Text="" Me.txtSubTotal.Text="" Me.txtIgv.Text="" Me.txtTotal.Text="" Me.cbEstado.Text="" Me.DatosGrid.Rows.Clear() Me.DatosGrid.DataSource =Nothing D = 0 End Sub Private SubDatosGrid_CellClick(ByVal senderAsObject,ByVal e AsSystem.Windows.Forms.DataGridViewCellEventArgs) Handles DatosGrid.CellClick fila= e.RowIndex End Sub Private SubDatosGrid_CellEnter(ByValsenderAsObject,ByVal e AsSystem.Windows.Forms.DataGridViewCellEventArgs) Handles DatosGrid.CellEnter
  • 9. FACTURA & BOLETA ROYER TUESTA SALAS Página 9 Try If (DatosGrid.Rows(D).Cells(2).Value >0) Then Me.DatosGrid.Rows(D).Cells(3).Value=Me.DatosGrid.Rows(D).Cells(2).Value * Me.DatosGrid.Rows(D).Cells(1).Value End If If (radBoleta.Checked=True) Then If (DatosGrid.Rows(D).Cells(3).Value >0) Then pre = pre + DatosGrid.Rows(D).Cells(3).Value Me.txtSubTotal.Text = pre Me.txtIgv.Text = 0 Me.txtTotal.Text = Me.txtSubTotal.Text D = D + 1 End If ElseIf (radFactura.Checked = True) Then If (DatosGrid.Rows(D).Cells(3).Value > 0) Then pre = pre + DatosGrid.Rows(D).Cells(3).Value Me.txtSubTotal.Text = pre Me.txtIgv.Text = (Val(Me.txtSubTotal.Text) * 0.19) Me.txtTotal.Text = (Val(Me.txtSubTotal.Text) + Val(Me.txtIgv.Text)) D = D + 1 End If End If Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub btnImprimir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnImprimir.Click tipoDocu = cbTipoDocu.SelectedItem codDocu = txtCodigoDocu.Text frmImprimir.Show() End Sub End Class MODULO DE CONEXION Y AUTOGENERADOR DECODIGO (Generar.vb) ImportsSystem.Data.SqlClient Module Generar Publiccn AsNew SqlConnection("server=localhost;database=SISTEMA;integratedsecurity=true") PublicdsEntorno AsNew DataSet PublictipoDocu AsString PubliccodDocuAs String PublicFunction Generadores(ByValTABLA AsString) AsString DimRESULT AsString = "" DimDR1 AsSqlDataReader
  • 10. FACTURA & BOLETA ROYER TUESTA SALAS Página 10 DimULT As Integer=0 DimCMD AsNew SqlCommand("SELECTULTIMO FROMGENERADOR WHERE PARAMETRO= '" + TABLA + "'", cn) cn.Open() DR1 = CMD.ExecuteReader While DR1.Read ULT = Val(DR1("ULTIMO") + 1) EndWhile cn.Close() DimCEROS AsInteger CEROS = 5 - Len(Str(ULT)) Select Case CEROS Case 3 : RESULT = Left(TABLA, 1) + "000" + Trim(Str(ULT)) Case 2 : RESULT = Left(TABLA, 1) + "00" + Trim(Str(ULT)) Case 1 : RESULT = Left(TABLA, 1) + "0" + Trim(Str(ULT)) Case 0 : RESULT = Left(TABLA, 1) + "" + Trim(Str(ULT)) End Select Generadores = RESULT End Function End Module
  • 11. FACTURA & BOLETA ROYER TUESTA SALAS Página 11 MODELO CRISTAL REPORT (Reporte.rpt)
  • 12. FACTURA & BOLETA ROYER TUESTA SALAS Página 12 FORMULARIO PARAVISUALIZAREL REPORTE (FrmImprimir.vb) CODIGO DE FrmImprimir ImportsSystem.Data.SqlClient PublicClassfrmImprimir Dim Cn AsNew SqlConnection("Server=LocalHost;Uid=sa;Password=123;Database=SISTEMA") Dim INFORME1 AsReporte Dim MITABLA AsCrystalDecisions.CrystalReports.Engine.Table Dim MILOGIN AsCrystalDecisions.Shared.TableLogOnInfo Private SubfrmImprimir_Load(ByVal senderAsSystem.Object, ByVal e AsSystem.EventArgs)Handles MyBase.Load Try INFORME1 = New Reporte For Each Me.MITABLA InINFORME1.Database.Tables MILOGIN = MITABLA.LogOnInfo MILOGIN.ConnectionInfo.Password="123" MILOGIN.ConnectionInfo.UserID="sa" MITABLA.ApplyLogOnInfo(MILOGIN)
  • 13. FACTURA & BOLETA ROYER TUESTA SALAS Página 13 Next Me.CrystalReportViewer1.ReportSource =INFORME1 INFORME1.RecordSelectionFormula="{CAB_DOCUMENTO.TIP_DOC}='" + tipoDocu+ "' And {DETALLE_DOCUMENTO.NDOC}='" + codDocu + "'" Catch ex AsException MessageBox.Show(ex.Message) EndTry End Sub End Class