SlideShare una empresa de Scribd logo
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

Formulario de altas
Formulario de altasFormulario de altas
Formulario de altas
Sicohe
 
Manual de shine system
Manual de shine systemManual de shine system
Manual de shine system
Rafa
 
Manual de shine system
Manual de shine systemManual de shine system
Manual de shine system
Rafa
 
Problemas propuestos2.0
Problemas propuestos2.0Problemas propuestos2.0
Problemas propuestos2.0
YO Por Que
 

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

Exposicion Dispositivos Moviles
Exposicion Dispositivos MovilesExposicion Dispositivos Moviles
Exposicion Dispositivos Moviles
manhiuco
 
Exposicion Dispositivos Moviles
Exposicion  Dispositivos  MovilesExposicion  Dispositivos  Moviles
Exposicion Dispositivos Moviles
manhiuco
 
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
jameszx
 
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
jameszx
 
Codigo de altas alejandra tecocoatzi ortiz
Codigo de altas alejandra tecocoatzi ortizCodigo de altas alejandra tecocoatzi ortiz
Codigo de altas alejandra tecocoatzi ortiz
alejandra22110
 
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
jameszx
 
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
jameszx
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datos
Lalo Osorio
 

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

Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 

Último (20)

Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoas
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
4.Conectores Dos_Enfermería_Espanolacademico
4.Conectores Dos_Enfermería_Espanolacademico4.Conectores Dos_Enfermería_Espanolacademico
4.Conectores Dos_Enfermería_Espanolacademico
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
 
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacionPROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
 
2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
Proyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistasProyecto Integrador 2024. Archiduque entrevistas
Proyecto Integrador 2024. Archiduque entrevistas
 
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.pptMaterial-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
 
32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf
32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf
32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico
 

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