Está en la página 1de 71

UNIVERSIDAD POLITCNICA AMAZNICA

UNIVERSIDAD POLITCNICA AMAZNICA

INGENIERIA DE SISTEMS Y TELEMTICA

PROYECTO FINAL

Sistema de la Ferretera CHAVEZ

DOCENTE : Marco Aurelio Porro Chulli.

ASIGNATURA : Laboratorio de Programacin III.

CICLO : VII A

INTEGRANTES :

Yenny Isabel Cuello Morn.

Vicente Wualdir Alberca Rojas.

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

I. Anlisis y diagnstico de la empresa

1. Descripcin de la Empresa

Esta es una empresa administrado por el gerente y dueo el Sra. Mara Lado
Cieza Arvalo. Dicha empresa en aos posteriores se convertira en una de las
mejores ferreteras, esto lo logr gracias al apoyo de sus familiares quien con
mucho esfuerzo decidieron ayudarle. Actualmente est ubicada en Av. Mariano
melgar N.953 Sct. Visalot (frente a la Parada Municipal.) Amazonas / Utcubamba
/ Bagua grande.

UBICACION

Luego de iniciar este pequeo negocio con tan pocos productos, el contino
invirtiendo a pequeas cantidades de dinero y poco a poco implemento ms su
negocio en la actualidad se dedica a la compra y venta de artculos y herramientas.

Servicios que brindan:

Compra

Venta

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Dentro de los tipos de productos que la FERRETERIA CHAVEZ maneja en su


venta se encuentran:

Materiales de construccin
Herramientas elctricas
compresores y soldadoras
Pintura entre otros.

2. Estructura Orgnica de la empresa

GERENTE
GENERAL

SUB GERENTE
GENERAL

ADMINISTRADOR

CAJERO

VENDEDORES

3. Visin

Ser reconocidos como distribuidores y detallistas lderes en proveer soluciones


completas en materiales de ferretera, productos de lnea industrial y semi-industrial
cuya atencin al cliente brinda un portafolio de servicios complementarios y de
calidad creando valor econmico a travs de la bsqueda de la excelencia y su
expansin en el mercado ecuatoriano.

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

4. Misin

Proveer soluciones con materiales y herramientas de ferretera para la construccin


civil, pequea industria y artesana, manejando un surtido completo y permanente
que permita llegar a los clientes con un servicio oportuno de alta calidad a un precio
competitivo. Ofrecer la mejor atencin posible a sus clientes a travs de un personal
altamente capacitado, eficiente y responsable.

5. Objetivos

5.1 General

Nuestro objetivo principal es satisfacer a nuestros consumidores brindndoles


productos y servicio de calidad, aspirando siempre a distinguirnos entre los mejores.

Es importante tambin la fidelizacin de nuestros clientes, ya que ellos son los que
nos compran, y pues tambin recalcar pues que nuestros clientes estn satisfechos
con nuestros productos y servicios.

5.2 Especfico

Aumentar el rendimiento de nuestra ferretera.


Adquirir una experiencia empresarial y laboral.
Mejorar cada da nuestro servicio y el que ofrece la competencia.
Desarrollar estrategias de mejora en toda la ferretera.
Sistematizar la ferretera para una mejor atencin al cliente.
Tener la infraestructura fsica pertinente para atender a los clientes de
manera eficaz.

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

6. Breve Descripcin de los Procesos Involucrados

6.1 Descripcin de los Procesos

Compra

Lo primero que tenemos que hacer es verificar el stock.


Listar todos los productos a pedir.
Consultar / Registrar proveedor.
El proveedor registra el orden de compra.
Genera el tipo de documento.
Genera el Informe de compra.
Finalmente actualizar Stock.

Ventas

Consultar / Registrar Producto.


Consultar / Registrar Cliente.
Registrar Venta.
Aplicar descuento (en caso de haber).
Generar Tipo de documento.
Generar Informe.

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

6.2 Descripcin de los Documentos

Factura de Compra: En este documento se va a registrar los productos que


la ferretera necesita, de un proveedor previamente elegido. contando con el
detalle respectivo

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Factura de Venta: Este es el documento en el cual se consulta el cliente,


productos que previamente han sido registrados. Tambin calcula el igv,
descuento si lo hubiera.

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Boleta de Venta: Se registrarn los productos y sus respectivos detalles.

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

7. Metodologa de desarrollo de software RUP-Lenguaje UML

7.1 Modelo de casos de usos de negocio (MCUN)

Procesar Compra
Proveedor
Administrador

Procesar Venta
Cliente
Vendedor

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

7.1 Modelo de objetos de negocio (MON (Compras))

Stock

Consultar Proveedor
Verificar

Generar Pedido

Registra / Modificar

Genera
Entregas

Verifica Genera
Jefe de Almancen
Genera

Actualiza Informe de Entregas


Administrador

Comprobante de Pago

IInforme de Pedidos
Productos

10

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

7.1 Modelo de objetos de negocio (MON (Ventas))

Cliente Producto

Consulta / Registra Stock


Registrar/ Consultar
Verifica

Consulta
Consulta
Precios

Genera Genera

Registrar Registrar
Descuento Administrador
VENDEDOR
Generar

Generar

Venta

Genera

Informe de Venta Comprobante de Pago


Cajero

11

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

7.1 Modelo de Dominio del Problema (MDP)

Informe de Entregas
Descuento
1..* Stock 1..* 1..* 1
1..* Listado de Pedidos Cajero
1
1 Administrador
1..* 1
Informe de Pedidos 1
1 1 1..* 1 1
Jefe de Almacen
1
1
1 1..*
1 1..* 1..*
1..* 1
Informe de Entrega 1 Comprobante de Venta
1..*
Entregas Vendedor
11
1..* 1..* 1
1..* 1 1 1..*
1..* 1
Comprobante de Compra Precios
Informe de Venta
1..* 1
1
1
Proveedor
1..*
1 Cliente
1..*
1
Pedido
1..* 1 1..* 1..*
1
Producto 1..*
1..* 1 Venta
1..*

12

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

7.2 Diagrama de Casos de Uso

REGISTRAR COMPRAS

Cos ultar Stock del producto

Genera Informe de Productos de


JEFE DE ALMACEN compra

<<extend>>

Cons ultar Proveedor

Regis trar Proveedor

Regis trar Orden de Compra

Genera Tipo de Documento


Proveedor

Boleta
Factura

Generar Inform e de compra

Cons ultar Inform e de compra


ADMINISTRADOR

Actualizar Productos

13

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

REGISTRAR VENTAS

<<extend>>

Verificar Producto Registrar Producto

<<extend>>

Consultar Cliente Registrar Cliente

Vendedor
<<extend>>

Registrar Venta Aplicar Descuento


<<include>>

<<include>>

Administrador Consultar Cliente


Generar Boleta

Verificar Producto
Genera Informe de Venta

Consulta informe de venta Cajero


Gerente

14

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

7.3 Diagrama de Clases

15
Ing. Marco Aurelio Porro Chulli
UNIVERSIDAD POLITCNICA AMAZNICA

8. Estimacin de Costos (Puntos de funcin-COCOMO Bsico e Intermedio)

COCOMO-PARA UNA FERRETERIA

16
Ing. Marco Aurelio Porro Chulli
UNIVERSIDAD POLITCNICA AMAZNICA

9. Cronograma de Actividades (Diagrama de Gantt)

NOVIENMBRE DICIEMBRE

J_16

M_14 J_16 J_14

17
Ing. Marco Aurelio Porro Chulli
UNIVERSIDAD POLITCNICA AMAZNICA

II. Diseo Orientado a Objetos

1. Diseo de la Base de Datos

1.1 Modelo E-R

18
Ing. Marco Aurelio Porro Chulli
UNIVERSIDAD POLITCNICA AMAZNICA

1.2 Diseo Lgico

DET ALLE_COMPRA
NumDetalle
CAT EGORIA
idproducto (FK) PROVEEDOR
CodCategoria Idcompra (FK)
CodPro
PRODUCT O cantidad
nombre
precio Nombres
Codproducto
Apellidos
Nombre Ruc
descripcion direccion
preciocompra telefono
DET ALLE_VENT A precioventa Email
stock
NumDetalle peso
Idproducto (FK) Idcategoria (FK)
Idventa (FK)
Cantidad COMPRA
Precio
NumCompra
EMPLEADO
CLIENT E Idpro (FK)
CodEmpleado Idgerente (FK)
CodCliente
fecha
Nombres
Nombres descuento
Apellidos GERENT E
Apellidos subtotal
telefono
DNI Idcomprobante (FK) CodGerente
VENT A direccion
direccion
Idusuario (FK) Nombres
NumVenta
Apellidos
Idcliente (FK) direccion
Idempleado (FK) DNI
COMPROBANT E_COMPRA
fecha telefono
descuento NumComprobante
subtotal
Fecha
Idcomprobante (FK)
descripcion
tipo
USUARIO
CodUsuario

NombreCompleto
NombreAcceso
COMPROBANT E_VENT A
Clave
NumComprobante nivel
estado
Fecha
descripcion
tipo

19
Ing. Marco Aurelio Porro Chulli
UNIVERSIDAD POLITCNICA AMAZNICA

1.3 Diseo Fsico

DET ALLE_COMPRA
NumDetalle: char(8)
CAT EGORIA
cantidad: integer PROVEEDOR
CodCategoria: char(8) precio: money
CodPro: char(8)
PRODUCT O Idcompra: char(8) (FK)
nombre: varchar(30)
idproducto: char(8) (FK) Nombres: varchar(50)
Codproducto: char(8)
Apellidos: varchar(50)
Nombre: varchar(70) Ruc: varchar(20)
descripcion: varchar(50) direccion: varchar(30)
preciocompra: money telefono: varchar(30)
DET ALLE_VENT A precioventa: money Email: varchar(30)
stock: integer
NumDetalle: char(8) peso: varchar(50)
Cantidad: integer Idcategoria: char(8) (FK)
Precio: money
Idventa: char(8) (FK) COMPRA
Idproducto: char(8) (FK)
NumCompra: char(8)
EMPLEADO
CLIENT E fecha: date
CodEmpleado: char(8) descuento: money
CodCliente: char(8)
subtotal: money
Nombres: varchar(50)
Nombres: varchar(50) Idcomprobante: char(8) (FK)
Apellidos: varchar(50) GERENT E
Apellidos: varchar(50) Idgerente: char(8) (FK)
telefono: varchar(50)
DNI: char(8) Idpro: char(8) (FK) CodGerente: char(8)
direccion: varchar(50)
direccion: varchar(50) VENT A Idusuario: char(8) (FK) Nombres: varchar(50)
NumVenta: char(8) Apellidos: varchar(50)
direccion: varchar(50)
fecha: date
COMPROBANT E_COMPRA DNI: char(8)
descuento: money
telefono: varchar(30)
subtotal: money NumComprobante: char(8)
Idcomprobante: char(8) (FK)
Idempleado: char(8) (FK) Fecha: date
Idcliente: char(8) (FK) descripcion: varchar(50)
tipo: varchar(30)
USUARIO
CodUsuario: char(8)

NombreCompleto: varchar(50)
NombreAcceso: varchar(50)
COMPROBANT E_VENT A
Clave: varchar(50)
NumComprobante: char(8) nivel: char(8)
estado: char(1)
Fecha: date
descripcion: varchar(50)
tipo: varchar(30)

20
Ing. Marco Aurelio Porro Chulli
UNIVERSIDAD POLITCNICA AMAZNICA

1.4 Diseo e Implementacin de la Base de Datos

CATEGORIA
CodCategoria
nombre
DETALLE_COMPRA
NumDetalle
Cantidad
COMPROBANTE_COMPRA
Precio NumComprobante
USUARIO Idcompra Fecha
CodUsuario DETALLE_VENTA Idproducto tipo
NombreCompleto NumDetalle
NumCompra
NombreAcceso Idproducto
PRODUCTO
Clave IdVenta Codproducto
nivel cantidad Nombre
estado precio descripcion
preciocompra
COMPRA
precioventa
NumCompra
stock
Idpro
peso
Idgerente
Idcategoria
fecha
descuento

VENTA subtotal
EMPLEADO NumVenta
CodEmpleado GERENTE
Idempleado
Nombres CodGerente
Idcliente
Apellidos Nombres
fecha
telefono Apellidos
descuento
direccion direccion
subtotal
Idusuario DNI
telefono
PROVEEDOR
CodPro
Nombres
Apellidos
COMPROBANTE_VENTA Ruc
NumComprobante
direccion
Fecha
telefono
CLIENTE
tipo
CodCliente Email
NumVenta
Nombres
Apellidos
DNI
direccion

21
Ing. Marco Aurelio Porro Chulli
UNIVERSIDAD POLITCNICA AMAZNICA

SCRIPT DE LA BASE DE DATOS

CREATE TABLE CATEGORIA


( CodCategoria char(8) NOT NULL ,
nombre varchar(30) NOT NULL)
go
ALTER TABLE CATEGORIA ADD PRIMARY KEY (CodCategoria ASC)
go
CREATE TABLE CLIENTE
( CodCliente char(8) NOT NULL ,
Nombres varchar(50) NOT NULL ,
Apellidos varchar(50) NOT NULL ,
DNI char(8) NOT NULL ,
direccion varchar(50) NOT NULL )
go
ALTER TABLE CLIENTE ADD PRIMARY KEY (CodCliente ASC)
go
CREATE TABLE COMPRA
( NumCompra char(8) NOT NULL ,
fecha date NOT NULL ,
descuento money NULL ,
subtotal money NOT NULL ,
Idcomprobante char(8) NOT NULL ,
Idgerente char(8) NOT NULL ,
Idpro char(8) NOT NULL )
go

ALTER TABLE COMPRA


ADD PRIMARY KEY (NumCompra ASC)
go

22

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

CREATE TABLE COMPROBANTE_COMPRA


(
NumComprobante char(8) NOT NULL ,
Fecha date NOT NULL ,
descripcion varchar(50) NOT NULL ,
tipo varchar(30) NOT NULL
)
go

ALTER TABLE COMPROBANTE_COMPRA


ADD PRIMARY KEY (NumComprobante ASC)
go
CREATE TABLE COMPROBANTE_VENTA
(
NumComprobante char(8) NOT NULL ,
Fecha date NOT NULL ,
descripcion varchar(50) NOT NULL ,
tipo varchar(30) NOT NULL
)
go

ALTER TABLE COMPROBANTE_VENTA


ADD PRIMARY KEY (NumComprobante ASC)
go

CREATE TABLE DETALLE_COMPRA


(
NumDetalle char(8) NOT NULL ,

23

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

cantidad integer NOT NULL ,


precio money NOT NULL ,
Idcompra char(8) IDENTITY (1,1) ,
idproducto char(8) NULL
)
go

ALTER TABLE DETALLE_COMPRA


ADD PRIMARY KEY (NumDetalle ASC)
go

CREATE TABLE DETALLE_VENTA


(
NumDetalle char(8) NOT NULL ,
Cantidad integer NOT NULL ,
Precio money NOT NULL ,
Idventa char(8) IDENTITY (1,1) ,
Idproducto char(8) NULL
)
go

ALTER TABLE DETALLE_VENTA


ADD PRIMARY KEY (NumDetalle ASC)
go

CREATE TABLE EMPLEADO


(
CodEmpleado char(8) NOT NULL ,
Nombres varchar(50) NOT NULL ,
Apellidos varchar(50) NOT NULL ,
telefono varchar(50) NULL ,

24

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

direccion varchar(50) NOT NULL ,


Idusuario char(8) NOT NULL
)
go

ALTER TABLE EMPLEADO


ADD PRIMARY KEY (CodEmpleado ASC)
go

CREATE TABLE GERENTE


(
CodGerente char(8) NOT NULL ,
Nombres varchar(50) NOT NULL ,
Apellidos varchar(50) NOT NULL ,
direccion varchar(50) NOT NULL ,
DNI char(8) NOT NULL ,
telefono varchar(30) NOT NULL
)
go

ALTER TABLE GERENTE


ADD PRIMARY KEY (CodGerente ASC)
go

CREATE TABLE PRODUCTO


(
Codproducto char(8) NOT NULL ,
Nombre varchar(70) NOT NULL ,
descripcion varchar(50) NOT NULL ,
preciocompra money NOT NULL ,
precioventa money NOT NULL ,

25

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

stock integer NOT NULL ,


peso varchar(50) NULL ,
Idcategoria char(8) NOT NULL
)
go
ALTER TABLE PRODUCTO
ADD PRIMARY KEY (Codproducto ASC)
go

CREATE TABLE PROVEEDOR


(
CodPro char(8) NOT NULL ,
Nombres varchar(50) NOT NULL ,
Apellidos varchar(50) NOT NULL ,
Ruc varchar(20) NOT NULL ,
direccion varchar(30) NOT NULL ,
telefono varchar(30) NOT NULL ,
Email varchar(30) NULL
)
go

ALTER TABLE PROVEEDOR


ADD PRIMARY KEY (CodPro ASC)
go

CREATE TABLE USUARIO


(
CodUsuario char(8) NOT NULL ,
NombreCompleto varchar(50) NOT NULL ,
NombreAcceso varchar(50) NOT NULL ,

26

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Clave varchar(50) NOT NULL ,


nivel char(8) NOT NULL ,
estado char(1) NOT NULL
)
go

ALTER TABLE USUARIO


ADD PRIMARY KEY (CodUsuario ASC)
go

CREATE TABLE VENTA


(
NumVenta char(8) NOT NULL ,
fecha date NOT NULL ,
descuento money NOT NULL ,
subtotal money NOT NULL ,
Idcomprobante char(8) NOT NULL ,
Idempleado char(8) NULL ,
Idcliente char(8) NULL
)
go

ALTER TABLE VENTA


ADD PRIMARY KEY (NumVenta ASC)

Go

ALTER TABLE COMPRA


ADD FOREIGN KEY (Idpro) REFERENCES PROVEEDOR(CodPro)
ON DELETE NO ACTION

27

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

ON UPDATE NO ACTION
go

ALTER TABLE COMPRA


ADD FOREIGN KEY (Idgerente) REFERENCES GERENTE(CodGerente)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE COMPRA


ADD FOREIGN KEY (Idcomprobante) REFERENCES
COMPROBANTE_COMPRA(NumComprobante)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE DETALLE_COMPRA


ADD FOREIGN KEY (idproducto) REFERENCES PRODUCTO(Codproducto)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE DETALLE_COMPRA


ADD FOREIGN KEY (Idcompra) REFERENCES COMPRA(NumCompra)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE DETALLE_VENTA


ADD FOREIGN KEY (Idproducto) REFERENCES PRODUCTO(Codproducto)
ON DELETE NO ACTION

28

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

ON UPDATE NO ACTION
go

ALTER TABLE DETALLE_VENTA


ADD FOREIGN KEY (Idventa) REFERENCES VENTA(NumVenta)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE EMPLEADO


ADD FOREIGN KEY (Idusuario) REFERENCES USUARIO(CodUsuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE PRODUCTO


ADD FOREIGN KEY (Idcategoria) REFERENCES CATEGORIA(CodCategoria)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE VENTA


ADD FOREIGN KEY (Idempleado) REFERENCES EMPLEADO(CodEmpleado)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE VENTA


ADD FOREIGN KEY (Idcliente) REFERENCES CLIENTE(CodCliente)
ON DELETE NO ACTION
ON UPDATE NO ACTION

29

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

go

ALTER TABLE VENTA


ADD FOREIGN KEY (Idcomprobante) REFERENCES
COMPROBANTE_VENTA(NumComprobante)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

Procedimientos Almacenados

CREATE PROCEDURE INGRESO_USUARIO

@CodUsuario char(8),
@NombreCompleto varchar(90),
@NombreAcceso varchar(80),
@Clave varchar(80),
@Nivel char(8),
@Estado varchar(20)
As

BEGIN TRAN

Insert Into Usuario(CodUsuario,NombreCompleto,NombreAcceso,Clave,Nivel,Estado)


Values(@CodUsuario,@NombreCompleto,@NombreAcceso,@Clave,@Nivel,@Estado)

IF @@ERROR<>0 GOTO vererror


COMMIT TRAN
RETURN(0)
Ver error:
ROLLBACK TRAN
RETURN (-1)

go

30

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

exec Ingreso_Usuario 'U001','Luis Jose Briones','Briones','12345','a','A'


exec Ingreso_Usuario 'U002','Juana Arevalo Diaz','Diaz','9645','b','A'
exec Ingreso_Usuario 'U003','Vicente Wualdir Alberca Rojas','Rojas','vwar','c','A'
exec Ingreso_Usuario 'U004','Yanina Bustamante Jibaja','jibaja','555','d','A'
exec Ingreso_Usuario 'U005','Yenny Isabel Cuello Moron','333','8679','b','A'

GO

CREATE PROCEDURE MODIFICAR_USUARIO

@CodUsuario char(8),
@NombreCompleto varchar(90),
@NombreAcceso varchar(80),
@Clave varchar(80),
@Nivel char(8),
@Estado varchar(20)
As
BEGIN TRAN

Update Usuario set


NombreCompleto=@NombreCompleto,NombreAcceso=@NombreAcceso,Clave=@Clav
e,Nivel=@Nivel,Estado=@Estado Where CodUsuario=@CodUsuario

IF @@ERROR<>0 GOTO verError


COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

GO

CREATE PROCEDURE ELIMINAR_USUARIO

@CodUsuario varchar(3)
As

31

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

BEGIN TRAN

Delete From Usuario Where CodUsuario=@CodUsuario


IF @@ERROR<>0 GOTO verError
COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

GO

PROCEDIMIENTOS DE LA TABLA EMPLEADO

CREATE PROCEDURE INGRESO_EMPLEADO

@CodEmpleado char(8),
@Nombres varchar(50),
@Apellidos varchar(50),
@Telefono varchar(50),
@Direccion char(50),
@Idusuario CHAR(8)
As
BEGIN TRAN

Insert Into Empleado(CodEmpleado,Nombres,Apellidos,Telefono,Direccion,Idusuario)


Values(@CodEmpleado,@Nombres,@Apellidos,@Telefono,@Direccion,@Idusuario)

IF @@ERROR<>0 GOTO verError


COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

go

32

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

exec Ingreso_Empleado 'E001','Luis Jose','Briones Silva','984756789','Jr.ciro Alegria


N89','U002'
exec Ingreso_Empleado 'E002','Juana','Arevalo Diaz','964567890','Jr.Mariano Melgar
N408','U003'
exec Ingreso_Empleado 'E003','Vicente Wualdir','Alberca Rojas','984756789','Jr.Abancay
N346','U004'
exec Ingreso_Empleado 'E004','Yanina','Bustamante Jibaja','536789090','Jr.Huanuco
N235','U005'
exec Ingreso_Empleado 'E005','Yenny Isabel','Cuello Moron','857689098','Jr.Saenz pea
N1645','U006'

go

CREATE PROCEDURE ELIMINAR_EMPLEADO

@CodEmpleado varchar(8)
As
BEGIN TRAN

Delete From Empleado Where CodEmpleado=@CodEmpleado


IF @@ERROR<>0 GOTO verError
COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

Go

CREATE PROCEDURE Modificar_Empleado

@CodEmpleado char(8),
@Nombres varchar(50),
@Apellidos varchar(50),
@Telefono varchar(50),
@Direccion char(8),
@Idusuario CHAR(8)

33

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

As
BEGIN TRAN

Update Empleado set


Nombres=@Nombres,Apellidos=@Apellidos,Telefono=@telefono,Direccion=@Direccion
,@Idusuario Where CodEmpleado=@CodEmpleado

IF @@ERROR<>0 GOTO verError


COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

Go

PROCEDIMIENTO DE LA TABLA PROVEEDOR

CREATE PROCEDURE INGRESO_PROVEEDOR


@CodPro char(8),
@Nombres varchar(50),
@Apellidos varchar(50),
@Ruc varchar(20),
@Direccion varchar(30),
@Telefono varchar(30),
@Email varchar(30)
As
BEGIN TRAN

Insert Into Proveedor(CodPro,Nombres,Apellidos,Ruc,Direccion,Telefono,Email)


Values(@CodPro,@Nombres,@Apellidos,@Ruc,@Direccion,@Telefono,@Email)
IF @@ERROR<>0 GOTO verError
COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

34

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

GO
exec Ingreso_Proveedor 'D001','JAIMITO','AGUILAR RAFAEL','90098900987','Jr.Lima
N 2390','908909998','jaime90@hotmail.com'
exec Ingreso_Proveedor 'D002','JUAN','RODRIGUES
PEREZ','98462345678','Av.PEDRO RUIZ N 239','456789090','Juan90-
aries@gmail.com'
exec Ingreso_Proveedor 'D003','MARIA','DIAZ VARGAS','53423456781','Av.Habancay
N 2897','980909878','vargas23@hotmail.com'
exec Ingreso_Proveedor 'D004','ANA','LINARES SERRANO','90000987888','Av.Sur
ESTE N 5678','978909832','linares40@gmail.com'
exec Ingreso_Proveedor 'D005','YANINA','MONTENEGRO
FLORES','33096789090','Av.Lima N 1110','#98765678','flore908@gmail.com'

GO

CREATE PROCEDURE MODIFICAR_PROVEEDOR

@CodPro char(8),
@Nombres varchar(50),
@Apellidos varchar(50),
@Ruc varchar(20),
@Direccion varchar(30),
@Telefono varchar(30),
@Email varchar(30)
As
BEGIN TRAN

Update Proveedor set


Nombres=@Nombres,Apellidos=@Apellidos,Ruc=@Ruc,Direccion=@Direccion,Telefon
o=@Telefono,@Email=@Email Where CodPro=@CodPro
IF @@ERROR<>0 GOTO verError
COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

35

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

GO

CREATE PROCEDURE ELIMINAR_PROVEEDOR

@CodPro varchar(3)
As
BEGIN TRAN

Delete From Proveedor Where CodPro=@CodPro

IF @@ERROR<>0 GOTO verError


COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

GO

PROCEDIMIENTOS DE LA TABLA PRODUCTO

CREATE PROCEDURE INGRESO_PRODUCTO

@CodProducto char(8),
@Nombre varchar(70),
@descripcion varchar(50),
@PrecioCompra money,
@PrecioVenta money,
@Stock int,
@Peso varchar(50),
@Idcategoria char(8)

As

BEGIN TRAN

36

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Insert Into
Producto(CodProducto,Nombre,descripcion,preciocompra,precioventa,Stock,Peso,Idcat
egoria)
Values(@CodProducto,@Nombre,@descripcion,@PrecioCompra,@PrecioVenta,@Stoc
k,@Peso,@Idcategoria)

IF @@ERROR<>0 GOTO verError


COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

exec Ingreso_Producto'P001','Cemento','Cemento sol',46.6,58.4,80,'3Kg','C001'


exec Ingreso_Producto'P002','Carretia','Carretia de color rojo',32.3,58.4,90,'7Kg','C002'
exec Ingreso_Producto'P003','Aislante','Aislante de color
negro',21,58.4,120,'11Kg','C003'
exec Ingreso_Producto'P004','Fierros','Fierro de 5 metros',50,67,80,'50Kg','C004'
exec Ingreso_Producto'P005','Tubo','Tubo de agua de 8
metros',10.3,11.4,15,'2Kg','C005'

go

CREATE PROCEDURE ACTUALIZAR_PRODUCTO

@CodProducto char(8),
@Nombre varchar(70),
@descripcion varchar(50),
@PrecioCompra money,
@PrecioVenta money,
@Stock int,
@Peso varchar(50),
@Idcategoria char(8)
As

BEGIN TRAN

37

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Update Producto set


Nombre=@Nombre,descripcion=@descripcion,PrecioCompra=@PrecioCompra,
PrecioVenta=@PrecioVenta,Stock=@Stock,Peso=@Peso,Idcategoria=@Idcategoria
Where CodProducto=@CodProducto

IF @@ERROR<>0 GOTO verError


COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

Go

CREATE PROCEDURE ELIMINAR_PRODUCTO

@CodProducto char(8)
As

BEGIN TRAN

Delete From Producto Where CodProducto=@CodProducto

IF @@ERROR<>0 GOTO verError


COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

Go

PROCEDIMIENTOS DE LA TABLA CLIENTE

CREATE PROCEDURE INGRESO_CLIENTE

@CodCliente char(8),
@Nombres varchar(50),
@Apellidos varchar(50),

38

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

@Dni char(8),
@Direccion varchar(50)
As

BEGIN TRAN

Insert Into Cliente(CodCliente,Nombres,Apellidos,Dni,Direccion)


Values(@CodCliente,@Nombres,@Apellidos,@Dni,@Direccion)

IF @@ERROR<>0 GOTO verError


COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

exec Ingreso_Cliente'T001','Juan','Zoto Horna','43222222','Av:San Juan'


exec Ingreso_Cliente'T002','Elmer','Fernandez Torres','65777777','Av:Mariano Melgar'
exec Ingreso_Cliente'T003','Andres','Vasquez Rios','56554433','Av:Miguel Grau'
exec Ingreso_Cliente'T004','Percy','Rojas Horna','32777777','Av:San Jose'
exec Ingreso_Cliente'T005','Fidel','Zoto Horna','67776666','Av:Miguel Grau'
go

CREATE PROCEDURE MODIFICAR_CLIENTE

@CodCliente char(8),
@Nombres varchar(50),
@Apellidos varchar(50),
@Dni char(8),
@Direccion varchar(50)
As

BEGIN TRAN

Update Cliente set


Nombres=@Nombres,Apellidos=@Apellidos,Dni=@Dni,Direccion=@Direccion Where
CodCliente=@CodCliente

39

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

IF @@ERROR<>0 GOTO verError


COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

Go

CREATE PROCEDURE ELIMINAR_CLIENTE

@CodCliente varchar(3)
As

BEGIN TRAN

Delete From Cliente Where CodCliente=@CodCliente

IF @@ERROR<>0 GOTO verError


COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

Go

PROCEDIMIENTOS DE LA TABLA GERENTE

CREATE PROCEDURE INGRESO_GERENTE

@CodGerente char(8),
@Nombres varchar(50),
@Apellidos varchar(50),
@Direccion varchar(50),
@Dni char(8),
@Telefono varchar(30)
As
BEGIN TRAN
Insert Into Gerente(CodGerente,Nombres,Apellidos,Direccion,Dni,Telefono)

40

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Values(@CodGerente,@Nombres,@Apellidos,@Direccion,@Dni,@Telefono)
IF @@ERROR<>0 GOTO verError
COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

exec Ingreso_Gerente'G001','Maria','Herrera','Av:Los cocos','76666666','976843212'


exec Ingreso_Gerente'G002','Jose','Cordova','Av:Las Flores','54567876','987894332'
exec Ingreso_Gerente'G003','Felipe','Rivera','Av:San Nicolas','21232234','934322110'
exec
Ingreso_Gerente'G004','Marcos','Peralta','Av:Chachapoyas','45432277','934345555'
exec Ingreso_Gerente'G005','Ander','Llamo','Av:San Felipe
Santiago','87732322','907965554'

go

CREATE PROCEDURE MODIFICAR_GERENTE

@CodGerente char(8),
@Nombres varchar(50),
@Apellidos varchar(50),
@Direccion varchar(50),
@Dni char(8),
@Telefono varchar(30)
As
BEGIN TRAN
Update Cliente set
Nombres=@Nombres,Apellidos=@Apellidos,Direccion=@Direccion,Dni=@Dni,Telefono
=@Telefono Where CodGerente=@CodGerente

IF @@ERROR<>0 GOTO verError


COMMIT TRAN
RETURN(0)
verError:

41

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

ROLLBACK TRAN
RETURN (-1)
Go

CREATE PROCEDURE ELIMINAR_GERENTE

@CodGerente varchar(3)
As
BEGIN TRAN
Delete From Gerente Where CodGerente=@CodGerente

IF @@ERROR<>0 GOTO verError


COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

PROCEDIMIENTOS DE LA TABLA CATEGORIA

CREATE PROCEDURE INGRESO_CATEGORIA

@CodCategoria char(8),
@Nombre varchar(30)
As
BEGIN TRAN

Insert Into categoria (CodCategoria,Nombre)


Values(@CodCategoria,@Nombre)
IF @@ERROR<>0 GOTO verError
COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

42

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

exec Ingreso_Categoria'C001','Cemento Gris'


exec Ingreso_Categoria'C002','Carretas Boggy'
exec Ingreso_Categoria'C003','Aislante Trmico'
exec Ingreso_Categoria'C004','Aceros Lisos'
exec Ingreso_Categoria'C005','Tuberias'
go

CREATE PROCEDURE MODIFICAR_CATEGORIA

@CodCategoria char(8),
@Nombre varchar(30)
As
BEGIN TRAN
Update Categoria set Nombre=@Nombre Where CodCategoria=@CodCategoria
IF @@ERROR<>0 GOTO verError
COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)
Go

CREATE PROCEDURE ELIMINAR_CATEGORIA

@CodCategoria varchar(3)
As
BEGIN TRAN

Delete From Categoria Where CodCategoria=@CodCategoria


IF @@ERROR<>0 GOTO verError
COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

43

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

PROCEDIMIENTOS DE LA TABLA VENTA

CREATE PROCEDURE SP_INGRESARVENTA


@col2 int,
@col3 int,
@col4 date
@col5 decimal(8,2),
@col6 money
AS

BEGIN TRAN

INSERT Venta values(@col2,@col3,@col4 ,@col5 ,@col6)


IF @@ERROR<>0 GOTO verError
COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

CREATE PROCEDURE SP_MODIFICARVENTA


@col1 int,
@col2 int,
@col3 int,
@col4 date
@col5 decimal(8,2),
@col6 money
AS
BEGIN TRAN
UPDATE Venta SET IdCliente=@col2,IdVendedor=@col3,Fecha=@col4 ,
Descuento=@col5, Subtotal=@col6 WHERE Numventa=@col1
IF @@ERROR<>0 GOTO verError
COMMIT TRAN
RETURN(0)

44

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

verError:
ROLLBACK TRAN
RETURN (-1)

CREATE PROCEDURE SP_ELIMINARVENTA


@col1 int
AS
BEGIN TRAN

DELETE FROM Venta WHERE Numventa=@col1


IF @@ERROR<>0 GOTO verError
COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

PROCEDIMIENTOS DE LA TABLA DETALLEVENTA

CREATE PROCEDURE SP_INGRESARDETALLEVENTA


@col2 int,
@col3 int,
@col4 int,
@col5Money
AS
BEGIN TRAN
INSERT DetalleVenta values(@col2,@col3,@col4,@col5)
IF @@ERROR<>0 GOTO verError

COMMIT TRAN

RETURN(0)

verError:

ROLLBACK TRAN

RETURN (-1)

45

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

CREATE PROCEDURE SP_MODIFICARDETALLEVENTA


@col1 int,
@col2 int,
@col3 int,
@col4 int,
@col5 money
AS
BEGIN TRAN
UPDATE DetalleVenta SET IdVenta=@col2,IdProducto=@col3,Cantidad=@col4 ,
Precio=@col5 WHERE CodDetalle=@col1
IF @@ERROR<>0 GOTO verError

COMMIT TRAN

RETURN(0)

verError:

ROLLBACK TRAN

RETURN (-1)

CREATE PROCEDURE Sp_EliminarDetalleVenta


@col1 int
AS
BEGIN TRAN
DELETE FROM DetalleVenta WHERE WHERE CodDetalle=@col1
IF @@ERROR<>0 GOTO verError

COMMIT TRAN

RETURN(0)

verError:

ROLLBACK TRAN

RETURN (-1)

46

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

PROCEDIMIENTOS DE LA TABLA COMPRA

CREATE PROCEDURE SP_INGRESARCOMPRA


@col1 int,
@col2 int,
@col3 int,
@col4 date
@col5 decimal(8,2),
@col6 money
AS
BEGIN TRAN
INSERT Compra values(@col2,@col3,@col4, @col5, @col6)
IF @@ERROR<>0 GOTO verError

COMMIT TRAN

RETURN(0)

verError:

ROLLBACK TRAN

RETURN (-1)

CREATE PROCEDURE SP_MODIFICARCOMPRA


@col1 int,
@col2 int,
@col3 int,
@col4 date
@col5 decimal(8,2),
@col6 money
AS
BEGIN TRAN

UPDATE Compra SET IdProveedor=@col2,IdVendedor=@col3,Fecha=@col4 ,


Descuento=@col5 ,Subtotal=@col6 WHERE NumCompra=@col1

47

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

IF @@ERROR<>0 GOTO verError

COMMIT TRAN

RETURN(0)

verError:

ROLLBACK TRAN

RETURN (-1)

CREATE PROCEDURE SP_ELIMINACOMPRA


@col1 int
AS
BEGIN TRAN
DELETE FROM Compra WHERE NumCompra=@col1
IF @@ERROR<>0 GOTO verError

COMMIT TRAN

RETURN(0)

verError:

ROLLBACK TRAN

RETURN (-1)

PROCEDIMIENTOS DE LA TABLA DETALLECOMPRA

CREATE PROCEDURE SP_INGRESARDETALLECOMPRA


@col2 int,
@col3 int,
@col4 int,
@col5Money
AS
BEGIN TRAN
INSERT DetalleCompra values(@col2,@col3,@col4, @col5, @col6)

48

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

IF @@ERROR<>0 GOTO verError

COMMIT TRAN

RETURN(0)

verError:

ROLLBACK TRAN

RETURN (-1)

CREATE PROCEDURE SP_MODIFICARDETALLECOMPRA


@col1 int,
@col2 int,
@col3 int,
@col4 int,
@col5Money
AS
BEGIN TRAN
UPDATE DetalleCompra SET IdCompra=@col2,IdProducto=@col3,Cantidad=@col4 ,
Precio=@col5 WHERE CodDetalle=@col1
IF @@ERROR<>0 GOTO verError
COMMIT TRAN
RETURN(0)
verError:
ROLLBACK TRAN
RETURN (-1)

CREATE PROCEDURE SP_ELIMINARDETALLECOMPRA


@col1 int
AS
BEGIN TRAN
DELETE FROM DetalleCompra WHERE CodDetalle=@col1

49

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

IF @@ERROR<>0 GOTO verError

COMMIT TRAN

RETURN(0)

verError:

ROLLBACK TRAN

RETURN (-1)

VISTAS

Producto

CREATE VIEW Producto_V


As
select P.CodProducto,P.Descripcion,P.precio,p.Stock,c.nomcategoria
from Producto p,Categoria c
where P.IdCategoria=c.CodCategoria

venta

CREATE VIEW Venta_V


as
select v.NumVenta,v.Fecha,c.NomCliente,ven.NombreCompleto
from venta v,cliente c, Vendedor ven
where v.IdCliente=c.CodCliente and v.IdVendedor=ven.CodVendedor

compra

CREATE VIEW Compra_V


as
select c.NumCompra,c.Fecha,p.Descripcion,pro.NombreProveedor
from compra c,Producto p, Proveedor pro
where c.IdProducto=P.CodProducto and C.IdProveedor=pro.CodProveedor

50

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

III. ARQUITECTURA TECNOLGICA REQUERIDA

1. PLATAFORMA DE TECNOLOGIA.

1.1. REQUERIMIENTOS DE HARDWARE Y SOFTWARE.

REQUERIMIENTOS DE HARDWARE: Para almacenar la informacin de la empresa


y sus procesos administrativos es necesario contar con:

PC Windows: 10 u 8 de preferencia 10 para tener ms actualizaciones y estar de


acuerdo al avance Tecnolgico.
Procesador: Intel(R) Core (TM) i5-6200U CPU @ 2.30GHz 2.40GHz
Memoria Instalada (RAM): 3.89GB
Tipo de Sistema: Sistema Operativo de 64 bits
Disco Duro: Capacidad 500GB

REQUERIMIENTOS DE SOFTWARE: Para realizar la creacin del Sistema de


Informacin para la empresa hemos necesitado e instalado varios programas la cual
detallaremos a continuacin:

Cualquier Versin de Netbeans (JAVA): Para implementar el cdigo del


sistema.
SQL Server versin 12: Un gestor de base de Datos que nos permitir almacenar
la informacin necesaria de manera segura, ya que trabaja de la mano con
programas de cdigo.
Libreras Utilizadas: Para el funcionamiento de ciertos procesos ha sido
necesario Agregar libreras para el funcionamiento eficiente del sistema, como las
siguientes:
Sqljdbc4
Jcalendar-1.3.2
mail

51

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Nitro pro 9: Para realizar ciertos reportes de los movimientos, registros, etc.
De acuerdo a la informacin de la Empresa.
Visual Studio Versin 2013 o superior: Para realizar el cdigo necesario de
nuestro sistema de preferencia el mismo en que fue realizado el sistema.
Framework 3.5: Para que pueda ejecutarse correctamente el sistema.

IV. IMPLEMENTACIN DEL SISTEMA

Imports System.Data.SqlClient
Imports Datos
Imports Negocio
Public Class FrmAcceso

Private Sub BtnIngresar_Click(sender As Object, e As EventArgs) Handles BtnIngresar.Click


acceso()
End Sub

Sub acceso()
Dim Dt As SqlDataAdapter
Dim Tb As New DataTable
Dim Con As SqlConnection
Dim cn As New Conexion

Con = cn.conecta

52

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Dt = New SqlDataAdapter("SELECT * FROM Usuario WHERE NomAcceso='" &


Me.TxtNomAcceso.Text & "'and Clave='" & Me.TxtClave.Text & "'and Estado='A'", Con)
Dt.Fill(Tb)
If Tb.Rows.Count > 0 Then
FrmPrincipal.ShowDialog()
Else
MsgBox("Usuario o Clave Incorrectos", 16, "Error")
Me.TxtNomAcceso.Text = ""
Me.TxtClave.Text = ""
Me.TxtNomAcceso.Focus()
End If
End Sub

Private Sub TxtNomAcceso_KeyPress(sender As Object, e As KeyPressEventArgs) Handles


TxtNomAcceso.KeyPress
If Asc(e.KeyChar) = 13 Then
TxtClave.Focus()
End If
End Sub

Private Sub BtnCancelar_Click(sender As Object, e As EventArgs) Handles BtnCancelar.Click


Dispose()

End Sub

Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click


FrmRecClave.ShowDialog()
' Close()
End Sub

Private Sub TxtClave_KeyPress(sender As Object, e As KeyPressEventArgs) Handles


TxtClave.KeyPress
If Asc(e.KeyChar) = 13 Then
acceso()

End If
End Sub

53

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Public Class FrmPrincipal


Private Sub PcClientes_Click(sender As Object, e As EventArgs) Handles
PcClientes.Click
FrmCliente.ShowDialog()
End Sub
Private Sub PcClientes_MouseEnter(sender As Object, e As EventArgs) Handles
PcClientes.MouseEnter
LblClientes.Text = "Mantenimiento de Clientes"
LblProductos.Text = ""
LblVenta.Text = ""
LblProveedor.Text = ""
LblVendedor.Text = ""
LblCompra.Text = ""
End Sub
Private Sub PcProductos_Click(sender As Object, e As EventArgs) Handles
PcProductos.Click
FrmProducto.ShowDialog()
End Sub

Private Sub PcProductos_MouseEnter(sender As Object, e As EventArgs) Handles


PcProductos.MouseEnter
LblProductos.Text = "Mantenimiento de Productos"
LblClientes.Text = ""
LblVenta.Text = ""
LblProveedor.Text = ""
LblVendedor.Text = ""
LblCompra.Text = ""

54

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

End Sub

Private Sub PicVenta_Click(sender As Object, e As EventArgs) Handles


PicVenta.Click
FrmBoleta.ShowDialog()
End Sub

Private Sub PicVenta_MouseEnter(sender As Object, e As EventArgs) Handles


PicVenta.MouseEnter
LblVenta.Text = "Realizar Venta"
LblClientes.Text = ""
LblProductos.Text = ""
LblProveedor.Text = ""
LblVendedor.Text = ""
LblCompra.Text = ""

End Sub

Private Sub PicProveedor_Click(sender As Object, e As EventArgs) Handles


PicProveedor.Click
FrmProveedor.ShowDialog()

End Sub

Private Sub PicProveedor_MouseEnter(sender As Object, e As EventArgs) Handles


PicProveedor.MouseEnter
LblProveedor.Text = "Mantenimiento de Proveedor"
LblClientes.Text = ""
LblProductos.Text = ""
LblVenta.Text = ""
LblVendedor.Text = ""
LblCompra.Text = ""
End Sub

Private Sub FrmPrincipal_Load(sender As Object, e As EventArgs) Handles


MyBase.Load
LblHora.Text = DateTime.Now.ToShortTimeString()
End Sub

Private Sub FrmPrincipal_MouseEnter(sender As Object, e As EventArgs) Handles


Me.MouseEnter
LblClientes.Text = ""
LblProductos.Text = ""
LblVenta.Text = ""
LblProveedor.Text = ""
LblVendedor.Text = ""
LblCompra.Text = ""
End Sub

Private Sub PicVendedor_Click(sender As Object, e As EventArgs) Handles


PicVendedor.Click

55

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

FrmVendedor.ShowDialog()

End Sub

Private Sub PicVendedor_MouseEnter(sender As Object, e As EventArgs) Handles


PicVendedor.MouseEnter
LblVendedor.Text = "Mantenimiento de Vendedor"
LblClientes.Text = ""
LblProductos.Text = ""
LblVenta.Text = ""
LblProveedor.Text = ""
LblCompra.Text = ""
End Sub

'Private Sub PicReportes_Click(sender As Object, e As EventArgs)


' Dim pro As New ReporteProductos,
' ver As New FrmVistaPrevia
' ver.CrReportPro.ReportSource = pro
' ver.ShowDialog()
'End Sub

Private Sub ProductoToolStripMenuItem_Click(sender As Object, e As EventArgs)


Handles ProductoToolStripMenuItem.Click
FrmReporteProductos.ShowDialog()
End Sub

Private Sub CompraToolStripMenuItem_Click(sender As Object, e As EventArgs)


Handles CompraToolStripMenuItem.Click
FrmCompra.Show()
' My.Computer.Audio.Play("C:\Users\VICENTS\Documents\Visual Studio
2013\Projects\Ferreteria-Chavez\Audio.wav")
End Sub

Private Sub VentaToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


VentaToolStripMenuItem.Click
FrmBoleta.Show()
'My.Computer.Audio.Play("C:\Users\VICENTS\Documents\Visual Studio
2013\Projects\Ferreteria-Chavez\Audio.wav")
End Sub

Private Sub ProductosToolStripMenuItem_Click(sender As Object, e As EventArgs)


Handles ProductosToolStripMenuItem.Click
FrmProducto.ShowDialog()
End Sub

Private Sub ClientesToolStripMenuItem_Click(sender As Object, e As EventArgs)


Handles ClientesToolStripMenuItem.Click
FrmCliente.ShowDialog()
End Sub

56

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Private Sub VendedorToolStripMenuItem_Click(sender As Object, e As EventArgs)


Handles VendedorToolStripMenuItem.Click
FrmVendedor.ShowDialog()
End Sub

Private Sub ProveedoresToolStripMenuItem_Click(sender As Object, e As EventArgs)


Handles ProveedoresToolStripMenuItem.Click
FrmProveedor.ShowDialog()
End Sub

Private Sub VentasToolStripMenuItem_Click(sender As Object, e As EventArgs)


ReportesVenta.ShowDialog()
End Sub

Private Sub CerrarElSistemaToolStripMenuItem_Click(sender As Object, e As


EventArgs) Handles CerrarElSistemaToolStripMenuItem.Click
Dispose()
End Sub

Private Sub ManualTecnicoToolStripMenuItem_Click(sender As Object, e As EventArgs)


Handles ManualTecnicoToolStripMenuItem.Click
System.Diagnostics.Process.Start("C:\Users\VICENTS\Documents\Visual Studio
2013\Projects\Ferreteria-Chavez\Manuales\MANUAL TECNICO.pdf")
End Sub

Private Sub ManualDelUsuarioToolStripMenuItem_Click(sender As Object, e As


EventArgs) Handles ManualDelUsuarioToolStripMenuItem.Click
System.Diagnostics.Process.Start("C:\Users\VICENTS\Documents\Visual Studio
2013\Projects\Ferreteria-Chavez\Manuales\MANUAL DEL USUARIO.pdf")
End Sub

Private Sub PicCompra_Click(sender As Object, e As EventArgs) Handles


PicCompra.Click
FrmCompra.ShowDialog()
End Sub

Private Sub PicCompra_MouseEnter(sender As Object, e As EventArgs) Handles


PicCompra.MouseEnter
LblCompra.Text = "Realizar Compra"
LblClientes.Text = ""
LblProductos.Text = ""
LblVenta.Text = ""
LblProveedor.Text = ""
LblVendedor.Text = ""
End Sub

Private Sub VentasToolStripMenuItem_Click_1(sender As Object, e As EventArgs)


Handles VentasToolStripMenuItem.Click
ReportesVenta.ShowDialog()
End Sub

57

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Private Sub ManualDeUsuarioToolStripMenuItem_Click(sender As Object, e As


EventArgs) Handles ManualDeUsuarioToolStripMenuItem.Click
System.Diagnostics.Process.Start("C:\Users\VICENTS\Documents\Visual Studio
2013\Projects\Ferreteria-Chavez\Manuales\Video.wmv")
End Sub

Private Sub UsuarioToolStripMenuItem_Click(sender As Object, e As EventArgs)


Handles UsuarioToolStripMenuItem.Click
FrmUsuarios.ShowDialog()
End Sub
End Class

Imports System.Data.SqlClient
Imports Negocio
Imports Datos
Imports System.Windows.Forms
Public Class FrmCompra
Dim WithEvents app As New Valida
Dim Compra As New Procesos.Compra
Dim DetalleCompra As New Procesos.DetalleCompra
Dim stock As New Procesos.Producto
Dim canti As New Procesos.Producto

Public Sub CargaComboProveedor()


Dim con As SqlConnection

58

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Dim x As Integer
Dim Dt As SqlDataAdapter
Dim Tb As New DataTable
Dim cn As New Conexion
con = cn.conecta
Dt = New SqlDataAdapter("SELECT * FROM Proveedor", con)
Dt.Fill(Tb)
For x = 0 To Tb.Rows.Count - 1
Me.CboProveedor.Items.Add(Tb.Rows(x).Item(1))
Next
End Sub
Public Sub CargaComboAlmacenero()
Dim con As SqlConnection
Dim x As Integer
Dim Dt As SqlDataAdapter
Dim Tb As New DataTable
Dim cn As New Conexion
con = cn.conecta
Dt = New SqlDataAdapter("SELECT * FROM Almacenero", con)
Dt.Fill(Tb)
For x = 0 To Tb.Rows.Count - 1
Me.CboAlmacenero.Items.Add(Tb.Rows(x).Item(1))
Next
End Sub

Private Sub TxtProducto_TextChanged(sender As Object, e As EventArgs) Handles


TxtProducto.TextChanged
Dim Cli As New Procesos
If Me.TxtProducto.TextLength <> 0 Then
Me.DgProd.DataSource = Cli.BuscarProducto(Me.TxtProducto.Text)
Else
Me.DgProd.DataSource = app.Listado_Produ
End If
End Sub

Private Sub FrmCompra_Load(sender As Object, e As EventArgs) Handles MyBase.Load


dgdetalle()
CargaComboProveedor()
CargaComboAlmacenero()
CboTipodc.Enabled = False
TxtSerie.Enabled = False
TxtNumCompra.Enabled = False
TxtProducto.Enabled = False
End Sub

Sub dgdetalle()
DgProDetalle.ColumnCount = 0
DgProDetalle.Columns.Add("N", "N")
DgProDetalle.Columns.Add("CodProd", "CodProd")
DgProDetalle.Columns.Add("Descripcion", "Descripcion")
DgProDetalle.Columns.Add("Precio", "Precio")
DgProDetalle.Columns.Add("Cantidad", "Cantidad")

59

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

DgProDetalle.Columns.Add("Subtotal", "Subtotal")
DgProDetalle.Columns.Add("Stock", "Stock")

DgProDetalle.Columns("N").Visible = False
DgProDetalle.Columns("Stock").Visible = False
End Sub

Private Sub CboProveedor_SelectedIndexChanged(sender As Object, e As EventArgs)


Handles CboProveedor.SelectedIndexChanged
Proveedor()
End Sub
Sub Proveedor()
Dim Dt As SqlDataAdapter
Dim Tb As New DataTable
Dim Con As SqlConnection
Dim cn As New Conexion

Con = cn.conecta
Dt = New SqlDataAdapter("SELECT * FROM Proveedor WHERE Nombre='" &
CboProveedor.Text & "'", Con)
Dt.Fill(Tb)
If Tb.Rows.Count > 0 Then
LblCodProveedor.Text = Tb.Rows(0).Item(0)
End If
End Sub
Sub Almacenero()
Dim Dt As SqlDataAdapter
Dim Tb As New DataTable
Dim Con As SqlConnection
Dim cn As New Conexion

Con = cn.conecta
Dt = New SqlDataAdapter("SELECT * FROM Almacenero WHERE Nombre='" &
CboAlmacenero.Text & "'", Con)
Dt.Fill(Tb)
If Tb.Rows.Count > 0 Then
LblCodAlmacenero.Text = Tb.Rows(0).Item(0)
End If
End Sub

Private Sub CboAlmacenero_SelectedIndexChanged(sender As Object, e As EventArgs)


Handles CboAlmacenero.SelectedIndexChanged
Almacenero()
End Sub

Private Sub DgProductos_Click(sender As Object, e As EventArgs)


FrmProdDCompra.ShowDialog()
End Sub
Sub limpiartodo()
Dim i1 As Integer
For i1 = 0 To DgProDetalle.RowCount - 1
DgProDetalle.Rows.Clear()

60

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Next
TxtProducto.Text = ""
CboAlmacenero.Text = ""
CboProveedor.Text = ""
LblTotal.Text = ""
TxtSerie.Text = ""
TxtNumCompra.Text = ""

End Sub
Private Sub BtnRegistrar_Click(sender As Object, e As EventArgs) Handles
BtnRegistrar.Click
If CboAlmacenero.Text = "" Or CboProveedor.Text = "" Then
MsgBox("Elija Almacenero y Proovedor", 48, "Aviso")
Else

If MsgBox("Grabar Datos", 36, "Confirme") = 6 Then


Try
With Compra
.serie = Me.TxtSerie.Text
.numComp = Me.TxtNumCompra.Text
.tipodc = Me.CboTipodc.Text
.fecha = Me.DpFechaCompra.Text
.IdProveedor = Me.LblCodProveedor.Text
.IdAlmacenero = Me.LblCodAlmacenero.Text
End With
If app.InsertarCompra(Compra) Then
MsgBox("Registro Guardado", 64, "Exito")
Else
MsgBox("No se Guardado el Registro", 16, "Fracaso")
End If
Catch ex As Exception
MsgBox(ex.Message, 0, "ERROR")
End Try
Dim i As Integer
For i = 0 To DgProDetalle.RowCount - 1

With DetalleCompra
.serie = Me.TxtSerie.Text
.numDetComp = Me.TxtNumCompra.Text
.IdProducto = DgProDetalle.Rows(i).Cells("CodProd").Value
.Cantidad = DgProDetalle.Rows(i).Cells("Cantidad").Value
app.InsertarDetalleCompra(DetalleCompra)
End With
Dim f As New Procesos
With stock
.cod = DgProDetalle.Rows(i).Cells("CodProd").Value
.stockActual = DgProDetalle.Rows(i).Cells("Stock").Value
f.ActualizarSotck(stock)
End With
Dim can As New Procesos
With canti
.cod = DgProDetalle.Rows(i).Cells("CodProd").Value

61

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

.pcom = DgProDetalle.Rows(i).Cells("Precio").Value
can.ActualizarPrecioCompra(canti)
End With
Next
End If
End If
End Sub

Private Sub DgProd_Click(sender As Object, e As EventArgs) Handles DgProd.Click


FrmProdDCompra.ShowDialog()
End Sub

Private Sub BtnQuitar_Click(sender As Object, e As EventArgs) Handles


BtnQuitar.Click
If DgProDetalle.Rows.Count > 0 Then
DgProDetalle.Rows.RemoveAt(DgProDetalle.CurrentRow.Index)
Dim i As Integer
Dim total As Decimal
LblTotal.Text = 0
For i = 0 To DgProDetalle.RowCount - 1
total = total + DgProDetalle.Rows(i).Cells("Subtotal").Value
LblTotal.Text = total
Next
Else
MsgBox("No hay Artculos ", 16, "Error")
End If
End Sub
Private Sub BtnCerrar_Click(sender As Object, e As EventArgs) Handles
BtnCerrar.Click
Close()
End Sub

Private Sub BtnNuevo_Click(sender As Object, e As EventArgs) Handles


BtnNuevo.Click
limpiartodo()
CboTipodc.Enabled = True
TxtSerie.Enabled = True
TxtNumCompra.Enabled = True
TxtProducto.Enabled = True
End Sub

End Class

62

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

Imports System.Data.SqlClient
Imports Negocio
Imports Datos
Imports System.Windows.Forms

Public Class FrmBoleta


Dim WithEvents app As New Valida
Dim venta As New Procesos.Venta
Dim Detalleventa As New Procesos.DetalleVenta
Dim pro As New Procesos.Producto
Dim doc As New Procesos.documento
Private Sub FrmBoleta_Load(sender As Object, e As EventArgs) Handles MyBase.Load

63

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

dgdetalle()
generarCodigoSerire()
CargaComboVendedor()
CargaCombocat()
End Sub
Sub generarCodigoSerire()
Dim codi As New Procesos
LblNumSeire.Text = codi.GenerarCodigoSerie
End Sub
Public Sub CargaComboVendedor()
Dim con As SqlConnection
Dim x As Integer
Dim Dt As SqlDataAdapter
Dim Tb As New DataTable
Dim cn As New Conexion
con = cn.conecta
Dt = New SqlDataAdapter("SELECT * FROM Vendedor", con)
Dt.Fill(Tb)
For x = 0 To Tb.Rows.Count - 1
Me.CboVendedor.Items.Add(Tb.Rows(x).Item(1))
Next
End Sub
Public Sub GenerCoo()
Dim con As SqlConnection
Dim x As Integer
Dim Dt As SqlDataAdapter
Dim Tb As New DataTable
Dim cn As New Conexion
con = cn.conecta
Dt = New SqlDataAdapter("SELECT * FROM Documento", con)
Dt.Fill(Tb)
For x = 0 To Tb.Rows.Count - 1
Me.LblNumVenta.Text = Tb.Rows(x).Item(3) + 1
Next
End Sub

Sub dgdetalle()
DgProDetalle.ColumnCount = 0
DgProDetalle.Columns.Add("N", "N")
DgProDetalle.Columns.Add("CodProd", "CodProd")
DgProDetalle.Columns.Add("Descripcion", "Descripcion")
DgProDetalle.Columns.Add("Precio", "Precio")
DgProDetalle.Columns.Add("Cantidad", "Cantidad")
DgProDetalle.Columns.Add("Subtotal", "Subtotal")
DgProDetalle.Columns.Add("Stock", "Stock")
DgProDetalle.Columns.Add("Unid", "Unid")
DgProDetalle.Columns.Add("Se", "Se")

DgProDetalle.Columns("Se").Visible = False
DgProDetalle.Columns("N").Visible = False
DgProDetalle.Columns("Unid").Visible = False
DgProDetalle.Columns("Stock").Visible = False

64

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

DgProDetalle.Columns("CodProd").Width = 87
DgProDetalle.Columns("Precio").Width = 80
DgProDetalle.Columns("Cantidad").Width = 80
DgProDetalle.Columns("Subtotal").Width = 90
DgProDetalle.Columns("Descripcion").Width = 310
DgProDetalle.Columns("CodProd").DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleCenter
DgProDetalle.Columns("Precio").DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleCenter
DgProDetalle.Columns("Cantidad").DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleCenter
DgProDetalle.Columns("Subtotal").DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleCenter
End Sub

Private Sub BtnIrCliente_Click(sender As Object, e As EventArgs) Handles


BtnIrCliente.Click
FrmClienteVent.ShowDialog()
End Sub
Sub limpiartodo()
Dim i1 As Integer
For i1 = 0 To DgProDetalle.RowCount - 1
DgProDetalle.Rows.Clear()
Next
LblNomCliente.Text = ""
CboProo.Text = ""
CboPasar.Text = ""
LblStok.Text = ""
LblPrecio.Text = ""
TxtCantidad.Text = ""
LblTotal.Text = ""
End Sub

Private Sub BtnRegistrar_Click(sender As Object, e As EventArgs) Handles


BtnRegistrar.Click
If CboVendedor.Text = "" Then
MsgBox("Elija el vendedor", 48, "Aviso")
Else
If MsgBox("Grabar Datos", 36, "Confirme") = 6 Then
Try
With venta
.IdNu = LblIdiNum.Text
.Serie = Me.LblNumSeire.Text
.numven = Me.LblNumVenta.Text
.fecha = Me.DpFecha.Text
.IdComprobante = Me.LblNumDoc.Text
.IdCliente = Me.LblCodCliente.Text
.IdVendedor = Me.LblCodVendedor.Text
End With
If app.InsertarVenta(venta) Then
MsgBox("Registro Guardado", 64, "Exito")
Else

65

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

MsgBox("No se Guardado el Registro", 16, "Fracaso")


End If
Catch ex As Exception
MsgBox(ex.Message, 0, "ERROR")
End Try
Dim i As Integer
For i = 0 To DgProDetalle.RowCount - 1

With Detalleventa
.IdNu = LblIdiNum.Text
.Serie = Me.LblNumSeire.Text
.numDetVen = Me.LblNumVenta.Text
.IdProducto = DgProDetalle.Rows(i).Cells("CodProd").Value
.Cantidad = DgProDetalle.Rows(i).Cells("Cantidad").Value
.UniMed = DgProDetalle.Rows(i).Cells("Unid").Value
app.InsertarDetalleVenta(Detalleventa)
End With
With pro
.cod = DgProDetalle.Rows(i).Cells("CodProd").Value
.stockActual = DgProDetalle.Rows(i).Cells("Stock").Value
End With
Dim stock As New Procesos
stock.ActualizarSotck(pro)
With doc
.numdoc = LblNumDoc.Text
.numero = LblNumVenta.Text
End With
Dim documento As New Procesos
documento.ActualizarNumDocc(doc)

Next
End If
End If

End Sub
Private Sub CboVendedor_SelectedIndexChanged(sender As Object, e As EventArgs)
Handles CboVendedor.SelectedIndexChanged
Vendedor()
End Sub
Sub Vendedor()
Dim Dt As SqlDataAdapter
Dim Tb As New DataTable
Dim Con As SqlConnection
Dim cn As New Conexion

Con = cn.conecta
Dt = New SqlDataAdapter("SELECT * FROM Vendedor WHERE Nombre='" &
CboVendedor.Text & "'", Con)
Dt.Fill(Tb)
If Tb.Rows.Count > 0 Then
LblCodVendedor.Text = Tb.Rows(0).Item(0)
End If

66

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

End Sub
Public Sub CargaCombocat()
Dim con As SqlConnection
Dim x As Integer
Dim Dt As SqlDataAdapter
Dim Tb As New DataTable
Dim cn As New Conexion
con = cn.conecta
Dt = New SqlDataAdapter("SELECT * FROM categoria", con)
Dt.Fill(Tb)
For x = 0 To Tb.Rows.Count - 1
Me.CboProo.Items.Add(Tb.Rows(x).Item(1))
Next
End Sub

Private Sub CboProo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles


CboProo.SelectedIndexChanged
pasar()
End Sub
Sub pasar()
Dim Dt As New SqlDataAdapter
Dim x As Integer
Dim Tb As New DataTable
Dim Con As SqlConnection
Dim cn As New Conexion
Con = cn.conecta
CboPasar.Text = ""
Dt = New SqlDataAdapter("SELECT descripcion FROM Producto_Vi WHERE
Categoria='" & CboProo.Text & "'", Con)
Dt.Fill(Tb)
CboPasar.Items.Clear()
For x = 0 To Tb.Rows.Count - 1
Me.CboPasar.Items.Add(Tb.Rows(x).Item("descripcion"))
Next
End Sub
Private Sub CboPasar_SelectedIndexChanged(sender As Object, e As EventArgs)
Handles CboPasar.SelectedIndexChanged
Campos()
End Sub
Sub Campos()
Dim Dt As New SqlDataAdapter
Dim Tb As New DataTable
Dim Con As SqlConnection
Dim cn As New Conexion
Con = cn.conecta
Dt = New SqlDataAdapter("SELECT * FROM Producto_Vi WHERE descripcion='" &
CboPasar.Text & "'", Con)
Dt.Fill(Tb)
If Tb.Rows.Count > 0 Then
LblCodProducto.Text = Tb.Rows(0).Item(0)
LblPrecio.Text = Tb.Rows(0).Item(2)
LblStok.Text = Tb.Rows(0).Item(3)

67

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

End If
CboSS.Focus()
End Sub
Private Sub TxtCantidad_KeyPress(sender As Object, e As KeyPressEventArgs) Handles
TxtCantidad.KeyPress
If Asc(e.KeyChar) = 13 Then
detalle()
End If
End Sub
Private Sub TxtCantidad_TextChanged(sender As Object, e As EventArgs) Handles
TxtCantidad.TextChanged
LblImporte.Text = Val(LblPrecio.Text) * Val(TxtCantidad.Text)
LblStockActual.Text = Val(LblStok.Text) - Val(TxtCantidad.Text)
End Sub
Sub detalle()
If Val(TxtCantidad.Text) = 0 Then
MsgBox("Ingrese Cantidad", 48, "Aviso")
TxtCantidad.Text = ""
TxtCantidad.Focus()
Return
End If
If (Val(TxtCantidad.Text) > Val(LblStok.Text)) Then
MsgBox("No contamos con el suficiente stock", 48, "Aviso")
Return
End If
If (Val(TxtCantidad.Text) < 0) Then
MsgBox("No se permite Valores Negativos ", 16, "Error")
Else
Dim sum As Integer
sum = Val(LblPrecio.Text) * Val(TxtCantidad.Text)
DgProDetalle.Rows.Add(DgProDetalle.RowCount + 1, Val(LblCodProducto.Text),
CboPasar.Text, Val(LblPrecio.Text),
Val(TxtCantidad.Text), sum, Val(LblStockActual.Text), CboSS.Text,
LblNumSeire.Text)
TxtCantidad.Text = ""
TxtCantidad.Focus()
calcularSumasTotales()
End If

End Sub
Sub calcularSumasTotales()
Dim i As Integer
Dim igv, subto, total As Decimal
For i = 0 To DgProDetalle.RowCount - 1

total = total + DgProDetalle.Rows(i).Cells("Subtotal").Value


igv = total * 0.18
subto = total - igv
Next
Me.LblTotal.Text = total
Me.LblSubtotal.Text = subto
Me.LblIgv.Text = igv

68

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

End Sub
Private Sub BtnQuitar_Click(sender As Object, e As EventArgs) Handles
BtnQuitar.Click
If DgProDetalle.Rows.Count > 0 Then
DgProDetalle.Rows.RemoveAt(DgProDetalle.CurrentRow.Index)
Dim i As Integer
Dim total As Decimal
LblTotal.Text = 0
For i = 0 To DgProDetalle.RowCount - 1
total = total + DgProDetalle.Rows(i).Cells("Subtotal").Value
LblTotal.Text = total
Next
Else
MsgBox("No hay Artculos ", 16, "Error")
End If
End Sub
Private Sub BtnSalir_Click(sender As Object, e As EventArgs) Handles
BtnSalir.Click
Close()
End Sub
Private Sub CboSS_SelectedIndexChanged(sender As Object, e As EventArgs) Handles
CboSS.SelectedIndexChanged
TxtCantidad.Focus()
End Sub
Private Sub BtnNuevo_Click(sender As Object, e As EventArgs) Handles
BtnNuevo.Click
limpiartodo()
Dim d As New Procesos
LblIdiNum.Text = d.GenerarPrimary
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Me.PrintDocument1.Print()

End Sub

Private Sub CboTipoDoc_SelectedIndexChanged(sender As Object, e As EventArgs)


Handles CboTipoDoc.SelectedIndexChanged
Dim Dt As New SqlDataAdapter
Dim Tb As New DataTable
Dim Con As SqlConnection
Dim cn As New Conexion
Con = cn.conecta
If CboTipoDoc.Text = "Factura" Then
Me.GroupBox7.Visible = True
Dt = New SqlDataAdapter("SELECT * FROM Comprobantes WHERE NombreCom='" &
CboTipoDoc.Text & "'", Con)
Dt.Fill(Tb)
If Tb.Rows.Count > 0 Then
LblVicentss.Text = Tb.Rows(0).Item(3)
LblNumVenta.Text = "00000" & LblVicentss.Text + 1
LblNumDoc.Text = Tb.Rows(0).Item(0)

69

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

End If
ElseIf CboTipoDoc.Text = "Boleta" Then
Me.GroupBox7.Visible = False
Dt = New SqlDataAdapter("SELECT * FROM Comprobantes WHERE NombreCom='" &
CboTipoDoc.Text & "'", Con)
Dt.Fill(Tb)
If Tb.Rows.Count > 0 Then
LblVicentss.Text = Tb.Rows(0).Item(3)
LblNumVenta.Text = "00000" & LblVicentss.Text + 1
LblNumDoc.Text = Tb.Rows(0).Item(0)
End If
End If
End Sub

Private Sub PrintDocument1_PrintPage(sender As Object, e As


Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

e.Graphics.DrawImage(Pic1.Image, 100, 100, 610, 540)

e.Graphics.DrawString(DpFecha.Text, New Font("Arial", 11, FontStyle.Bold),


Brushes.Black, 366, 275)
e.Graphics.DrawString(LblNumSeire.Text, New Font("Arial", 11, FontStyle.Bold),
Brushes.Black, 150, 310)
e.Graphics.DrawString(LblNumVenta.Text, New Font("Arial", 11, FontStyle.Bold),
Brushes.Black, 230, 310)
e.Graphics.DrawString(LblNomCliente.Text, New Font("Arial", 11,
FontStyle.Bold), Brushes.Black, 250, 350)
e.Graphics.DrawString(LblDni.Text, New Font("Arial", 11, FontStyle.Bold),
Brushes.Black, 250, 400)
e.Graphics.DrawString(CboVendedor.Text, New Font("Arial", 11, FontStyle.Bold),
Brushes.Black, 500, 400)

Dim printFont As System.Drawing.Font = New Font("Arial", 10)


Dim yPos As Double = 0
Dim count As Integer = 0

Dim cod As String = 0


Dim Descr As String = ""
Dim cant As String = 0
Dim subto As String = 0

For Each fila As DataGridViewRow In DgProDetalle.Rows


If fila.Cells(4).Value Is Nothing Then
Exit Sub
Else
cod = Convert.ToString(fila.Cells(1).Value)
Descr = Convert.ToString(fila.Cells(2).Value)
cant = Convert.ToString(fila.Cells(4).Value)
subto = Convert.ToString(fila.Cells(5).Value)

End If

70

Ing. Marco Aurelio Porro Chulli


UNIVERSIDAD POLITCNICA AMAZNICA

yPos = (500 + count * printFont.GetHeight(e.Graphics))

e.Graphics.DrawString(cod, New Font("Arial", 10, FontStyle.Bold),


Brushes.Black, 160, yPos)
e.Graphics.DrawString(Descr, New Font("Arial", 10, FontStyle.Bold),
Brushes.Black, 225, yPos)
e.Graphics.DrawString(cant, New Font("Arial", 10, FontStyle.Bold),
Brushes.Black, 500, yPos)
e.Graphics.DrawString(subto, New Font("Arial", 10, FontStyle.Bold),
Brushes.Black, 590, yPos)
count += 2
Next

e.Graphics.DrawString(LblTotal.Text, New Font("Arial", 10, FontStyle.Bold),


Brushes.Fuchsia, 600, 570)
End Sub
End Class

71

Ing. Marco Aurelio Porro Chulli

También podría gustarte