Está en la página 1de 107

AO DE LA CONSOLIDACIN DEL MAR DE

GRAU

UNIVERSIDAD POLITCNICA AMAZNICA


ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS Y

BASE DE DATOS I

TELEMTICA

pg. 1

DEDICATORIA
El presente trabajo est dedicado a nuestros padres por haber puesto toda
su confianza en nosotros, por el apoyo indispensable que nos brindan en
cada da que pasa, por la fuerza y el nimo de seguir luchando por nuestros
objetivos.

A nuestros profesores quienes son nuestros guas en el aprendizaje, son


ellos los que nos imparten sus conocimientos para nuestro buen
desenvolvimiento.

Tambin a la Universidad Politcnica Amaznica por

brindarnos la

formacin acadmica que necesitamos para lograr nuestras

metas y

objetivos.

pg. 2

AGRADECIMIENTO
Dios: Gracias por darnos una oportunidad y avanzar una fase ms de nuestras
vidas; por brindarnos la capacidad de sobre salir ante todos los obstculos que
suceden en la trayectoria de nuestros caminos en el cual tu eres el dueo de
nuestro camino y sabes hacia donde nos dirigimos.

Familia: Por ustedes que son nuestra conciencia para seguir superndonos.
Y esto que estamos logrando se lo dedicamos a ustedes porque sin la
presencia de ustedes que son nuestros padres no estaramos aqu; gracias por
los consejos y llamados de atencin que hubieron en su momento y ayudaron
a enderezar nuestros caminos.

Maestro: Por brindarnos el conocimiento y las pautas para comprobar las


grandes enseanzas. Por corregirnos en el momento en el cual estbamos
en un error. Por realizar y permitir que este proyecto se lleve a cabo.

Los autores.

pg. 3

INDICE
Introduccin--------------------------------------------------------------------------6
1. ANLISIS Y DIAGNSTICO DE LA EMPRESA
1.1 INFORMACIN DE LA EMPRESA
1.1.1. Descripcin de la empresa----------------------------------------------------------7
1.1.2. Estructura orgnica (organigrama) -----------------------------------------------7
1.1.3. Visin-------------------------------------------------------------------------------------8
1.1.4. Misin------------------------------------------------------------------------------------8
1.1.5. OBJETIVOS
1.1.5.1. General ----------------------------------------------------------------------------8
1.1.5.2. Especifico--------------------------------------------------------------------------9
1.1.6. Valores------------------------------------------------------------------------------------9
1.1.7. Anlisis interno (Fortalezas y debilidades) --------------------------------------9
1.1.8. Anlisis externo (Amenazas y oportunidades) ---------------------------------9
1.1.9. ESTRUCTURA ORGANIZACIONAL Y FUNCIONES
1.1.9.1. reas involucradas-------------------------------------------------------------10
1.1.9.2. reas a las que brindan apoyo---------------------------------------------10
1.1.10. DESCRIPCIN DE LOS PROCESOS INVOLUCRADOS
1.1.10.1 Descripcin de los procesos-------------------------------------------------10
1.1.10.2 Descripcin de los documentos--------------------------------------------11
1.1.11. Organizacin del equipo de desarrollo------------------------------------------12
1.1.12. Cronograma General del Desarrollo---------------------------------------------12
2. DISEO ORIENTADO A OBJETOS
2.1. DISEO DE LA BASE DE DATOS
2.1.1. Modelo E-R---------------------------------------------------------------------------------13
2.1.2. Modelo lgico -----------------------------------------------------------------------------14
2.1.3. Modelo fsico-------------------------------------------------------------------------------15

pg. 4

2.1.4. Normalizacin
2.1.4.1Factura---------------------------------------------------------------------------------16
2.1.4.2Boleta-----------------------------------------------------------------------------------16
2.1.5. Diseo e implementacin de la base de datos (tablas, procedimientos
almacenados, etc.) -------------------------------------------------------------------------------17
2.2. DISEO DEL SISTEMA
2.2.1. Formas de acceso--------------------------------------------------------------------------20
2.2.2 Diseo de men---------------------------------------------------------------------------20
2.2.3. Diseo de Entrada de Datos (Mantenimiento, Movimientos, Etc.) -----------24
2.2.4. Diseo de Salida de Datos (Consultas, Reportes, etc.) -----------------------------28
2.3. MANUALES DEL SISTEMA
2.3.1. Manual de usuario-------------------------------------------------------------------------32
2.3.2. Manual tcnico-----------------------------------------------------------------------------49
3. ARQUITECTURA TECNOLGICA REQUERIDA
3.1. Requerimiento de hardware y software------------------------------------------------51
4. IMPLEMENTACION DEL SISTEMA
4.1. Pantallas del sistema--------------------------------------------------------------------------52
4.2. Cdigo de la aplicacin-----------------------------------------------------------------------63
5. CONCLUCIONES -------------------------------------------------------------------------------------76
6. RECOMENDACIONES ------------------------------------------------------------------------------76
7. GLOSARIO DE TERMINOS -------------------------------------------------------------------------77
8. ANEXOS -----------------------------------------------------------------------------------------------78

pg. 5

INTRODUCCIN

El presente proyecto de SISTEMA DE VENTAS para mejorar el proceso de


ventas de la ferretera Jheyson
Este sistema de ventas es una herramienta ideal para administrar esta empresa o
negocio de escala media, permitiendo llevar un completo control de stock,
facturacin, manejo de ventas, clientes y artculos. Adems posee un entorno de
fcil manejo, donde podr realizar todas aquellas operaciones que antes
consuman una gran cantidad de tiempo, en pocos segundos. Su gran potencial y
diferencia del mercado es su plataforma o arquitectura de servicio Informtico en
la que est desarrollado, lo que permite cubrir todas las necesidades del negocio
y tambin utilizarla en forma remota. Este Sistema de ventas, es la mejor solucin
ya que controlara todos los procesos de venta, permitiendo tener un manejo
eficiente de la gestin del negocio, y dar cumplimiento con las disposiciones
legales vigentes.

pg. 6

1. Anlisis y Diagnstico de la Empresa.


1.1. Informacin de la Empresa.
1.1.1. Descripcin de la Empresa
FERRETERIA & INDUSTRIAS JHEYSON S.A.C inici sus actividades
econmicas el 01/12/2007, se encuentra ubicada en AV.
CHACHAPOYAS N. 2221 SECTOR PUEBLO NUEVO (AMAZONAS UTCUBAMBA - BAGUA GRANDE).
Labora en actividades relacionadas con venta al por mayor y menor de
materiales de construccin, artculos de ferretera y equipo y materiales
de fontanera y calefaccin.
1.1.2. Estructura Orgnica (Organigrama)

pg. 7

1.1.3. Visin

Ser reconocida como una empresa moderna, eficiente y


transparente, comprometida con sus trabajadores, con sus clientes
y con la comunidad.
Ser reconocida por ofrecer la ms alta calidad y variedad de
productos en el rubro ferretero, aportando logstica y eficiencia a sus
clientes y en la ejecucin de obras pblicas y privadas.
Ser reconocida por brindar bienes y prestar servicios de primer nivel
a los usuarios de la nororiental del Per.

1.1.4. Misin
Brindar bienes y prestar servicios de primer nivel a sus clientes y a las
entidades y empresas en la ejecucin de obras de infraestructura
pblica y privada generando acciones directas y de coordinacin para
asegurar permanentemente las mejores condiciones de infraestructura,
tecnolgicas y de seguridad.
1.1.5. Objetivos
1.1.5.1. General
Operativizar y facilitar el cumplimiento de las competencias y
funciones que establece el reglamento de organizacin y
funciones para asegurar el cumplimiento de los objetivos,
funciones, actividades, tareas y responsabilidades.
1.1.5.2. Especficos
Establecer pautas para fortalecer la organizacin interna en
cuanto a orden, celeridad de operaciones, tramites y
diligencia funcional para mejorar la oferta de los servicios a
terceros.
Propiciar el logro de resultados eficientes y crear cultura
organizacional en toda la empresa.
Propender al trabajo corporativo de organizacin que facilita
la toma de decisiones oportunas y coherentes, y haga
dinmica la participacin de todos los trabajadores
involucrados en las tareas administrativas como
operacionales.
Estimular al trabajador para una mstica laboral que permite
brindar sus aportes a la empresa, ejerciendo su autonoma
administrativa.

pg. 8

1.1.6. Valores

Responsabilidad
Respeto
Honestidad
Honradez
Puntualidad
Amabilidad
Servicio
Lealtad
Comprensin

1.1.7. Anlisis Interno (Fortalezas y Debilidades)

Fortalezas
Precios justos
Posicionamiento
Calidad de mercanca
Variedad de productos
Buena reputacin entre la
competencia
Unin entre accionistas

Debilidades
Falta de confianza con el
personal
No posee estratgica
publicitaria
Falta de incentivos hacia
los empleados

1.1.8. Anlisis Externos (Amenazas y Oportunidades)

Amenazas
Cambio en las necesidades
y gustos de los
consumidores
Mercado saturado
Inflacin de los precios
inseguridad

Oportunidades
Expansin de mercado
Complacencia al cliente

1.1.9. Estructura Organizacional y Funciones

pg. 9

1.1.9.1. reas Involucradas


Ventas
1.1.9.2. reas a las que Brindara Apoyo
rea de almacn
rea de caja
Administracin
1.1.10.

Descripcin de los Procesos Involucrados

1.1.10.1. Descripcin de los Procesos


Proceso venta.- Para poder realizar una venta el cliente y el
vendedor tienes que respetar los pasos para que la venta
sea con xito. De los cuales son los siguientes:
Tiene que existir el cliente.
Tiene que existir el Producto.
Tiene que existir el Vendedor.
El cliente consulta al vendedor por uno o varios
productos.
El vendedor Busca el Producto.
Si el producto Existe entonces el vendedor da un
mensaje al cliente, que el producto solicitado si existe.
Si el Producto no existe entonces el vendedor da un
mensaje al cliente, que el producto solicitado no
existe.
Si el producto existe el cliente decide si lo desea
comprar.
Si el cliente desea comprar el producto, el Vendedor
Gestiona el producto.
Entonces la venta se realiza con xito.
Y el proceso de la venta termina con xito.
Proceso venta al crdito.- Para poder realizar una venta al
crdito el cliente y el vendedor tienes que respetar los pasos
para que la venta al crdito sea con xito. De los cuales son
los siguientes:
Tiene que existir el cliente.
Tiene que existir el Vendedor.
El cliente tiene que cumplir con lo requisitos para una
venta al crdito.
Si el cliente cumple con los requisitos para una venta
al crdito, entonces consulta al vendedor por uno o
varios productos.
El vendedor Busca el Producto.

pg. 10

Si el producto Existe entonces el vendedor da un


mensaje al cliente, que el producto solicitado si existe.
Si el Producto no existe entonces el vendedor da un
mensaje al cliente, que el producto solicitado no
existe.
Si el producto existe el cliente decide si lo desea
comprar.
Si el cliente desea comprar el producto al crdito, el
Vendedor gestiona el producto.
Entonces la venta al crdito se realiza con xito.
Y el proceso de la venta al crdito termina con xito.

1.1.10.2. Descripcin de los Documentos


La ferretera JHEYSON cuenta con dos tipos de comprobantes.
Que son boleta y factura:

Boleta De Venta: Esta boleta est diseada con el objetivo


de poder lograr al cliente una claridad en cuanto a su
compra.
La boleta est diseada con los siguientes campos.
Nombre del Cliente, Direccin del Cliente, DNI.
La boleta cuenta con un Nmero, y tambin una Serie.
Tambin est compuesta por un Formato de Pago. Fecha de
Emisin, Vencimiento, Vendedor.
Tambin cuenta con un cuadro donde explica los siguientes
campos:
Cdigo, Descripcin, Cantidad, Unidad de Medida, Precio
Unitario, Importe total, Sub Total, Total Venta
Tambin cuenta con una cierta informacin que la empresa
desea que sus clientes estn informados.

Factura: Esta factura est diseada con el objetivo de poder


lograr al cliente que tenga RUC, ya sea persona jurdica o
natural una claridad en cuanto a sus compras.
La factura est diseada con los siguientes campos.
Nombre del Cliente, Direccin del Cliente, RUC, fecha de
emisin, forma de pago.
La factura cuenta con un Nmero, y tambin una Serie.

pg. 11

Tambin cuenta con un cuadro donde explica los siguientes


campos:
Cantidad, Unidad de Medida, descripcin, Precio Unitario,
Importe total, Sub Total, IGV, Total Venta.
Tambin cuenta con un campo donde se describe el total de
la venta en letras.
1.1.11.

Organizacin del Equipo de Desarrollo

Apellidos y Nombres
Lely Yojany Ydrogo Mego
Johanni Pamela Fernndez Caldern
Deisy Gladys Vlchez Cieza
Kevin Alexander Gonzales Gallardo
1.1.12.

Rol
Lder del Proyecto
Administrador de Base de Datos
Programador (1)
Programador (2)

Cronograma General del Desarrollo

pg. 12

2. Diseo Orientado a Objetos


2.1. Diseo de Base de Datos
2.1.1. Modelo E-R

pg. 13

2.1.2. Modelo lgico

pg. 14

2.1.3. Modelo fsico

pg. 15

2.1.4. Normalizacin
2.1.4.1. Factura

2.1.4.2. boleta

pg. 16

2.1.5. Diseo e implementacin de la base de datos.

pg. 17

2.1.6. Procedimientos almacenados.


PROCEDIMIEMNTOS ALMACENADOS
VENTAS CONTADO
CREATE PROCEDURE [dbo].[REGISTRARDETALLE_VENTASCONTADO]
@tipo varchar(50),
@serie varchar(3),
@numero varchar(6),
@CODARTICULO INT,
@CANTIDAD DECIMAL(5,2)
AS
BEGIN
insert into DETALLE_CONTADO(TIPO,serie,numero,IDPRODUCTO,CANTIDAD) values(@TIPO,
@serie,@numero,@CODARTICULO ,@CANTIDAD )
UPDATE PRODUCTO SET STOCK=STOCK-@CANTIDAD WHERE CODPRODUCTO=@CODARTICULO
END
use BDferreteria
go
CREATE PROCEDURE [dbo].[REGISTRARVENTA_PA]
@tipo varchar(50),
@serie varchar(3),
@numero varchar(6),
@fecha datetime,
@codcliente int,
@DNI char(8)
as
begin
insert into venta_CONTADO(TIPO,idserie,idnumero,fechaventa,IDCLIENTE,IDDNI)
values(@TIPO, @serie,@numero ,@fecha ,@codcliente,@dni)
update COMPROBANTE set numero =numero+1 WHERE TIPO=@tipo
END

VENTAS CREDITO
CREATE PROCEDURE [dbo].[REGISTRARDETALLE_VENTASCREDITO]
@tipo varchar(20),
@serie varchar(3),
@numero varchar(6),
@CODARTICULO INT,
@CANTIDAD DECIMAL(5,2),
@total money
AS
BEGIN
insert into detalle_credito(TIPO,serie,numero,IDPRODUCTO,CANTIDAD,totalconinteres)
values(@TIPO, @serie,@numero,@CODARTICULO ,@CANTIDAD,@total )
UPDATE PRODUCTO SET STOCK=STOCK-@CANTIDAD WHERE CODPRODUCTO=@CODARTICULO
END

CREATE PROCEDURE [dbo].[REGISTRARVENTACREDITO_PA]


@tipo varchar(50),
@serie varchar(3),
@numero varchar(6),
@fecha datetime,
@fechapago datetime,

pg. 18

@codcliente int,
@DNI char(8),
@idinteres int,
@idmedio int
as
begin
insert into venta_credito (TIPO,idserie,idnumero,fechaventa,fechapago
,IDCLIENTE,IDDNI,idinteres ,idmediopago )
values(@TIPO,@serie,@numero,@fecha,@fechapago ,@codcliente ,@DNI,@idinteres
,@idmedio )
update COMPROBANTE set numero =numero+1 WHERE TIPO=@tipo
END

pg. 19

2.2. Diseo del Sistema


2.2.1. Formas de Acceso

2.2.2. Diseo de Men

pg. 20

pg. 21

pg. 22

pg. 23

2.2.3. Diseo de Entrada de Datos (Mantenimiento, Movimientos, Etc.)

pg. 24

pg. 25

pg. 26

pg. 27

2.2.4. Diseo de Salida de Datos (Consultas, Reportes, etc.)

pg. 28

pg. 29

pg. 30

pg. 31

2.3. MANUALES DE USUARIOS


2.3.1.Manual de usuario

MANUAL DE USUARIO
1. Para abrir el sistema hacer doble clic en el siguiente icono que se encuentra
en la pantalla principal de su pc:

2. Cuando el sistema est abierto la pantalla principal que se muestra ser


la siguiente:

pg. 32

3. Tendr que dar clic en cualquier parte para que muestre la ventana en la
cual le pedir su usuario y contrasea.

4. Despus de haber ingresado el men principal que aparece ser el


siguiente: EN ESTE MENU PODRA REALIZAR TODO EN CUANTO A
LA VENTA DE LOS PRODUCTOS

pg. 33

5.

En la pestaa PRODUCTOS le muestra todo lo referente al listado de


productos, consulta y agregar nuevos productos para la venta y adems
cerrar el sistema.

pg. 34

5.1. Registrar: Si se desea agregar un nuevo producto, se da clic en


el botn nuevo y se empieza a llenar los campos, luego se da clic en el
botn registrar. Y se desea cerrar se da clic en botn salir.

pg. 35

5.2.

Consulta y actualizacin: para consultar un producto se busca

por su nombre el combo, y si desea actualizar se da clic en botn editar


para luego poder editar los campos del producto, y luego de para poder
actualizar los datos se da clic en el botn actualizar. Y para cerrar se da
clic en el botn salir.

Listado: para poder mostrar el listado de los


productos que tenemos en stock, se dar clic en botn
mostrar lista y as nos mostrar el listado de los producto,
y para cerrar se da clic en el botn Salir.
5.3.

pg. 36

7. En la pestaa MANTENIMIENTO podr mantener la tabla que se


muestran en la siguiente imagen.

pg. 37

7.1. Mantenimiento de categoras: Si se desea agregar una nueva


categora, se da clic en el botn nuevo y se empieza a llenar los campos,
luego se da clic en el botn registrar. Y se desea cerrar se da clic en
botn salir.

7.2. Mantenimiento de comprobante: Si se desea agregar un nuevo


comprobante, se da clic en el botn nuevo y se empieza a llenar los
campos, luego se da clic en el botn registrar. Y se desea cerrar se
da clic en botn salir.

pg. 38

7.3. Mantenimiento de medios de pago: Si se desea agregar un


nuevo Medio de Pago, se da clic en el botn nuevo y se empieza a
llenar los campos, luego se da clic en el botn registrar. Y se desea
cerrar se da clic en botn salir.

7.4. Mantenimiento tipo cliente:

pg. 39

7.5. Mantenimiento unidad medida: Si se desea agregar una nueva


unidad de medida, se da clic en el botn nuevo y se empieza a llenar
los campos, luego se da clic en el botn registrar. Y se desea cerrar
se da clic en botn salir.

7.6. Mantenimiento inters: Si se desea agregar un nuevo tipo de


inters, se da clic en el botn nuevo y se empieza a llenar los
campos, luego se da clic en el botn registrar. Y se desea cerrar se
da clic en botn salir.

8.

pg. 40

9. En la pestaa CLIENTE podr registrar, consultar. Actualizar y el


listado de clientes.

9.1. Registrar: Si se desea agregar un nuevo cliente, se da clic en


el botn nuevo y se empieza a llenar los campos, luego se da clic en el
botn registrar. Y se desea cerrar se da clic en botn salir.

9.2.

Consulta y actualizacin: para consultar un cliente se busca

por su nombre el combo, y si desea actualizar se da clic en botn editar

pg. 41

para luego poder editar los campos del cliente, y luego de para poder
actualizar los datos se da clic en el botn actualizar. Y para cerrar se da
clic en el botn salir.

9.3. Listado: para poder mostrar el listado de los clientes que tenemos
registrados, se dar clic en botn mostrar lista y as nos mostrar el listado
de los clientes, y para cerrar se da clic en el botn Salir.

pg. 42

10. En la pestaa EMPLEADO podr registrar, consultar. Actualizar y


el listado de clientes.

10.1. Registrar: Si se desea agregar un nuevo empleado, se da clic


en el botn nuevo y se empieza a llenar los campos, luego se da clic en
el botn registrar. Y se desea cerrar se da clic en botn salir.

pg. 43

10.2.

Consulta y actualizacin: para consultar un empleado se busca


por su nombre el combo, y si desea actualizar se da clic en botn editar
para luego poder editar los campos del empleado, y luego de para poder
actualizar los datos se da clic en el botn actualizar. Y para cerrar se da
clic en el botn salir.

pg. 44

10.3.
Listado: para poder mostrar el listado de los empleados que
tenemos registrados, se dar clic en botn mostrar lista y as nos mostrar
el listado de los empleados, y para cerrar se da clic en el botn Salir.

11. En la pestaa VENTAS AL CONTADO podr registrar, consultar.


Actualizar y el listado de clientes.

pg. 45

11.1. Registrar: Si se desea registrar una venta al contado, se llena


todo lo que se desea para una venta, luego se da clic en el botn
registrar. Y se desea cerrar se da clic en botn salir.

pg. 46

11.2. Listado: para poder mostrar el listado de las ventas al contado al


que tenemos registrados, se dar clic en botn mostrar lista y as nos
mostrar el listado de las ventas al contado, y para cerrar se da clic en el
botn Salir.

12. En la pestaa VENTAS AL CREDITO podr registrar, consultar.


Actualizar y el listado de clientes.

pg. 47

12.1. Registrar: Si se desea registrar una venta al crdito, se llena


todo lo que se desea para una venta, luego se da clic en el botn
registrar. Y se desea cerrar se da clic en botn salir.

pg. 48

12.2. Listado: para poder mostrar el listado de las ventas al crdito, se


dar clic en botn mostrar lista y as nos mostrar el listado de las ventas
al credito, y para cerrar se da clic en el botn Salir.

13. Para cerrar todo el programa se da clic en la pestaa FINALIZAR


y as se cerrar todo el sistema.

pg. 49

2.3.2.Manual tecnico

pg. 50

3.- ARQUITECTURA TECNOLGICA REQUERIDA


3.1. Requerimiento de hardware y software
3.1.1 Requerimientos de Hardware
Pc con la capacidad que ellos crean conveniente
3.1.2 Requerimientos de Software

Sistema Operativo Windows 2008 Server


Microsoft SQL Server 2008
Visual estudio

pg. 51

4.- IMPLEMENTACION DEL SISTEMA


4.1. Pantallas del sistema
Formas de Acceso

Diseo de Men

pg. 52

pg. 53

pg. 54

Diseo de Entrada de Datos (Mantenimiento, Movimientos, Etc.)

pg. 55

pg. 56

pg. 57

pg. 58

pg. 59

Diseo de Salida de Datos (Consultas, Reportes, etc.)

pg. 60

pg. 61

pg. 62

4.2. Cdigo de la aplicacin

ACTUALIZAR Y CONSULTAR CLIENTE

Imports System.Data.SqlClient
Public Class FRMACTUALIZARCLIENTE
Dim CMD As New SqlCommand
Dim cn As New SqlConnection
Dim da As New SqlDataAdapter
Dim DS As New DataSet
Dim DS1 As New DataSet
Dim DS2 As New DataSet
Dim dt As New DataTable
Sub cargarclientes()
DS.Clear()
cn.ConnectionString = "database=BDFERRETERIA; Integrated Security=SSPI;
Data Source=(local)"
CMD.Connection = cn
CMD.CommandText = "select nombre_razonsocial from cliente "
da.SelectCommand = CMD
da.Fill(DS, "nombre_razonsocial")
cboclientes.DataSource = DS.Tables("nombre_razonsocial")
cboclientes.DisplayMember = "nombre_razonsocial"
End Sub
Sub desbloquearcontroles()
txtcodigo.ReadOnly = False
txtnombre.ReadOnly = False
txtdireccion.ReadOnly = False
txtciudad.ReadOnly = False
txtpais.ReadOnly = False
txtdni.ReadOnly = False
txtemail.ReadOnly = False
txttipo.ReadOnly = False
cbotipo.Enabled = True
End Sub
Sub bloquearcontroles()
txtcodigo.ReadOnly = True
txtnombre.ReadOnly = True
txtdireccion.ReadOnly = True
txtciudad.ReadOnly = True
txtpais.ReadOnly = True
txtdni.ReadOnly = True
txtemail.ReadOnly = True
txttipo.ReadOnly = True
cbotipo.Enabled = False

pg. 63

End Sub
Private Sub FRMACTUALIZARCLIENTE_Load(sender As Object, e As EventArgs)
Handles MyBase.Load
Button2.Enabled = True
cn.ConnectionString = "database=BDFERRETERIA; Integrated Security=SSPI;
Data Source=(local)"
CMD.Connection = cn
cargarclientes()
CMD.CommandText = "select descripcion from TIPO order by descripcion "
da.SelectCommand = CMD
da.Fill(DS, "descripcion")
cbotipo.DataSource = DS.Tables("descripcion")
cbotipo.DisplayMember = "descripcion"
bloquearcontroles()
Button2.Enabled = False
End Sub
Private Sub cboclientes_SelectedIndexChanged(sender As Object, e As
EventArgs) Handles cboclientes.SelectedIndexChanged
Dim dt As New DataTable
CMD.CommandText = "select * from cliente_v where nombre_razonsocial='" &
cboclientes.Text & "'"
da.SelectCommand = CMD
da.Fill(dt)
If dt.Rows.Count > 0 Then
txtcodigo.Text = dt.Rows(0).Item("codcliente")
txtnombre.Text = dt.Rows(0).Item("nombre_razonsocial")
txtdireccion.Text = dt.Rows(0).Item("direccion")
txtciudad.Text = dt.Rows(0).Item("ciudad")
txtpais.Text = dt.Rows(0).Item("pais")
txtdni.Text = dt.Rows(0).Item("dni_ruc")
txtemail.Text = dt.Rows(0).Item("email")
txttipo.Text = dt.Rows(0).Item("idtipo")
cbotipo.Text = dt.Rows(0).Item("descripcion")
End If
dt.Reset()
bloquearcontroles()
Button1.Enabled = True
Button2.Enabled = False
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles
Button2.Click
Dim datos As String
datos = "update cliente set
nombre_razonsocial=@nombre,direccion=@direccion
,ciudad=@ciudad,pais=@pais,dni_ruc=@dni_ruc,email=@email,idtipo=@idtipo where
codcliente=@codigo"
cn.Open()
da.UpdateCommand = New SqlCommand(datos, cn)
da.UpdateCommand.Parameters.AddWithValue("@nombre", txtnombre.Text)
da.UpdateCommand.Parameters.AddWithValue("@direccion", txtdireccion.Text)
da.UpdateCommand.Parameters.AddWithValue("@ciudad", txtciudad.Text)
da.UpdateCommand.Parameters.AddWithValue("@pais", txtpais.Text)
da.UpdateCommand.Parameters.AddWithValue("@dni_ruc", txtdni.Text)
da.UpdateCommand.Parameters.AddWithValue("@email", txtemail.Text)
da.UpdateCommand.Parameters.AddWithValue("@idtipo", txttipo.Text)
da.UpdateCommand.Parameters.AddWithValue("@codigo", txtcodigo.Text)
da.UpdateCommand.ExecuteNonQuery()
cn.Close()
MsgBox("DATOS ACTUALIZADOS CON EXITO", 64, "AVISO")
cargarclientes()
dt.Reset()

pg. 64

End Sub
Private Sub cbotipo_SelectedIndexChanged(sender As Object, e As EventArgs)
Handles cbotipo.SelectedIndexChanged
cn.Close()
cn.Open()
Dim dt As New DataTable
CMD.CommandText = "SELECT * FROM tipo WHERE descripcion='" & cbotipo.Text
& " ' "
da.SelectCommand = CMD
da.Fill(dt)
If dt.Rows.Count > 0 Then
txttipo.Text = dt.Rows(0).Item("CODTIPO")
Else
txttipo.Text = " "
End If
dt.Reset()
cn.Close()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles
Button3.Click
Hide()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
desbloquearcontroles()
Button2.Enabled = True
Button1.Enabled = False
End Sub
End Class

LISTADO CLIENTE

Imports System.Data.SqlClient
Public Class FRMLISTADOCLIENTES

pg. 65

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


Button1.Click
Dim cn As New SqlConnection
Dim cmd As New SqlCommand
Dim Da As New SqlDataAdapter
Dim Ds As New DataSet
cn.ConnectionString = "database=BDFERRETERIA; Integrated Security=SSPI;
Data Source=(local)"
cmd.Connection = cn
cmd.CommandText = "SELECT * FROM CLIENTE"
Da.SelectCommand = cmd
Da.Fill(Ds, "nombre_razonsocial")
DGCLIENTES.DataSource = Ds.Tables("nombre_razonsocial")
cmd.Parameters.Clear()

DGCLIENTES.Columns(0).Width
DGCLIENTES.Columns(1).Width
DGCLIENTES.Columns(2).Width
DGCLIENTES.Columns(5).Width

=
=
=
=

80
180
150
150

DGCLIENTES.Columns(0).DefaultCellStyle.Alignment
DataGridViewContentAlignment.MiddleCenter
DGCLIENTES.Columns(3).DefaultCellStyle.Alignment
DataGridViewContentAlignment.MiddleCenter
DGCLIENTES.Columns(4).DefaultCellStyle.Alignment
DataGridViewContentAlignment.MiddleCenter
DGCLIENTES.Columns(5).DefaultCellStyle.Alignment
DataGridViewContentAlignment.MiddleCenter
DGCLIENTES.Columns(7).DefaultCellStyle.Alignment
DataGridViewContentAlignment.MiddleCenter

=
=
=
=
=

End Sub
Private Sub btnsalir_Click(sender As Object, e As EventArgs) Handles
btnsalir.Click
Hide()
End Sub
End Class

pg. 66

REGISTRAR CLIENTE

Imports System.Data.SqlClient
Public Class FRMREGISTRARCLIENTE
Dim CMD As New SqlCommand
Dim cn As New SqlConnection
Dim da As New SqlDataAdapter
Dim DS As New DataSet
Dim dt As New DataTable
Sub desbloquearcontroles()
txtnombre.Enabled = True
txtdireccion.Enabled = True
txtciudad.Enabled = True
txtpais.Enabled = True
txtdni.Enabled = True
txtemail.Enabled = True
cbotipo.Enabled = True
End Sub
Sub bloquearcontroles()
txtnombre.Enabled = False
txtdireccion.Enabled = False
txtciudad.Enabled = False
txtpais.Enabled = False
txtdni.Enabled = False
txtemail.Enabled = False
cbotipo.Enabled = False
End Sub
Private Sub FRMREGISTRARCLIENTE_Load(sender As Object, e As EventArgs)
Handles MyBase.Load
cn.ConnectionString = "database=BDFERRETERIA; Integrated Security=SSPI;
Data Source=(local)"
CMD.Connection = cn
CMD.CommandText = "select descripcion from TIPO order by descripcion "
da.SelectCommand = CMD
da.Fill(DS, "descripcion")
cbotipo.DataSource = DS.Tables("descripcion")
cbotipo.DisplayMember = "descripcion"
cbotipo.SelectedIndex = -1
bloquearcontroles()
End Sub

pg. 67

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


btnregistrar.Click
Dim sql As String
sql = "INSERT INTO cliente (NOMBRE_RAZONSOCIAL,
DIRECCION,CIUDAD,PAIS,DNI_RUC,EMAIL,IDTIPO) VALUES(@NOMBRE_RAZONSOCIAL,
@DIRECCION,@CIUDAD,@PAIS,@DNI_RUC,@EMAIL,@IDTIPO) "
cn.Open()
da.InsertCommand = New SqlCommand(Sql, cn)
da.InsertCommand.Parameters.AddWithValue("@NOMBRE_RAZONSOCIAL",
txtnombre.Text)
da.InsertCommand.Parameters.AddWithValue("@DIRECCION", txtdireccion.Text)
da.InsertCommand.Parameters.AddWithValue("@CIUDAD", txtciudad.Text)
da.InsertCommand.Parameters.AddWithValue("@PAIS", txtpais.Text)
da.InsertCommand.Parameters.AddWithValue("@DNI_RUC", txtdni.Text)
da.InsertCommand.Parameters.AddWithValue("@EMAIL", txtemail.Text)
da.InsertCommand.Parameters.AddWithValue("@IDTIPO", lblcodigo.Text)
da.InsertCommand.ExecuteNonQuery()
cn.Close()
MsgBox("LOS DATOS SE GRABARON CON EXITO", 64, "AVISO")
txtnombre.Clear()
txtdireccion.Clear()
txtciudad.Clear()
txtpais.Clear()
txtdni.Clear()
txtemail.Clear()
cbotipo.SelectedIndex = -1
End Sub
Private Sub cbotipo_KeyPress(sender As Object, e As KeyPressEventArgs)
Handles cbotipo.KeyPress
If Asc(e.KeyChar) = 13 Then
btnregistrar.Focus()
End If
End Sub
Private Sub cbotipo_SelectedIndexChanged(sender As Object, e As EventArgs)
Handles cbotipo.SelectedIndexChanged
cn.Close()
cn.Open()
Dim dt As New DataTable
CMD.CommandText = "SELECT * FROM tipo WHERE descripcion='" & cbotipo.Text
& " ' "
da.SelectCommand = CMD
da.Fill(dt)
If dt.Rows.Count > 0 Then
lblcodigo.Text = dt.Rows(0).Item("CODTIPO")
Else
lblcodigo.Text = " "
End If
dt.Reset()
cn.Close()
End Sub
Private Sub txtnombre_KeyPress(sender As Object, e As KeyPressEventArgs)
Handles txtnombre.KeyPress
If Asc(e.KeyChar) = 13 Then
txtdireccion.Focus()
End If
End Sub
Private Sub txtdireccion_KeyPress(sender As Object, e As KeyPressEventArgs)
Handles txtdireccion.KeyPress
If Asc(e.KeyChar) = 13 Then
txtciudad.Focus()
End If
End Sub

pg. 68

Private Sub txtciudad_KeyPress(sender As Object, e As KeyPressEventArgs)


Handles txtciudad.KeyPress
If Asc(e.KeyChar) = 13 Then
txtpais.Focus()
End If
End Sub
Private Sub txtpais_KeyPress(sender As Object, e As KeyPressEventArgs)
Handles txtpais.KeyPress
If Asc(e.KeyChar) = 13 Then
txtdni.Focus()
End If
End Sub
Private Sub txtdni_KeyPress(sender As Object, e As KeyPressEventArgs) Handles
txtdni.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
MsgBox("SOLO INGRESE NUMEROS", 16, "INFORMACION")
End If
If Asc(e.KeyChar) = 13 Then
txtemail.Focus()
End If
End Sub
Private Sub txtemail_KeyPress(sender As Object, e As KeyPressEventArgs)
Handles txtemail.KeyPress
If Asc(e.KeyChar) = 13 Then
cbotipo.Focus()
End If
End Sub
Private Sub btnsalir_Click(sender As Object, e As EventArgs) Handles
btnsalir.Click
Hide()
End Sub
Private Sub btnnuevo_Click(sender As Object, e As EventArgs) Handles
btnnuevo.Click
desbloquearcontroles()
txtnombre.Focus()
End Sub
End Class

pg. 69

REGISTRAR VENTA AL CONTADO

Imports System.Data.SqlClient
Imports System.Data
Public Class FRMVENTACONTADO
Dim cn As New SqlConnection
Dim cmd As New SqlCommand
Dim da As New SqlDataAdapter
Dim ds As New DataSet
Dim ds1 As New DataSet
Dim ds2 As New DataSet
Dim ds3 As New DataSet
Dim ds4 As New DataSet
Dim ds5 As New DataSet
Dim dt As New DataTable
Private Sub cboproducto_SelectedIndexChanged(sender As Object, e As
EventArgs) Handles cboproducto.SelectedIndexChanged
Dim dt As New DataTable
cmd.CommandText = "select * from productos_v where nombre='" &
cboproducto.Text & "'"
da.SelectCommand = cmd
da.Fill(dt)
If dt.Rows.Count > 0 Then
txtcodigo.Text = dt.Rows(0).Item("codproducto")
txtnombreproducto.Text = dt.Rows(0).Item("nombre")
txtcosto.Text = Format(dt.Rows(0).Item("costo"), "#,##0.00")
txtprecio.Text = Format(dt.Rows(0).Item("precio"), "#,##0.00")
txtvendidoa.Text = Format(dt.Rows(0).Item("precio"), "#,##0.00")
txtstock.Text = Format(dt.Rows(0).Item("stock"), "#,##0")
dtvencimiento.Text = dt.Rows(0).Item("fechavencimiento")
cbocategoria.Text = dt.Rows(0).Item("Categoria")
cbounidadmedida.Text = dt.Rows(0).Item("UnidadMedida")

pg. 70

End If
dt.Reset()
End Sub
Sub cargarproducto()
Dim ds As New DataSet
cn.ConnectionString = "database=Bdferreteria; Integrated Security =SSPI;
Data source=(local)"
cmd.Connection = cn
cmd.CommandText = "select nombre from productos_v order by nombre"
da.SelectCommand = cmd
da.Fill(ds, "nom")
cboproducto.DataSource = ds.Tables("nom")
cboproducto.DisplayMember = "nombre"
End Sub
Private Sub cbocategoria_SelectedIndexChanged(sender As Object, e As
EventArgs) Handles cbocategoria.SelectedIndexChanged
Dim dt As New DataTable
cmd.CommandText = "SELECT * FROM categoria WHERE NOMBRE='" &
cbocategoria.Text & " ' "
da.SelectCommand = cmd
da.Fill(dt)
If dt.Rows.Count > 0 Then
lblcategoria.Text = dt.Rows(0).Item("codcategoria")
Else
lblcategoria.Text = " "
End If
dt.Reset()
cn.Close()
End Sub
Sub cargarcategoria()
Dim ds1 As New DataSet
cn.ConnectionString = "database=Bdferreteria; Integrated Security =SSPI;
Data source=(local)"
cmd.Connection = cn
cmd.CommandText = "select nombre from categoria order by nombre"
da.SelectCommand = cmd
da.Fill(ds1, "nom")
cbocategoria.DataSource = ds1.Tables("nom")
cbocategoria.DisplayMember = "nombre"
End Sub
Private Sub cbounidadmedida_SelectedIndexChanged(sender As Object, e As
EventArgs) Handles cbounidadmedida.SelectedIndexChanged
Dim dt As New DataTable
cmd.CommandText = "SELECT * FROM unidad_medida WHERE descripcion='" &
cbounidadmedida.Text & " ' "
da.SelectCommand = cmd
da.Fill(dt)
If dt.Rows.Count > 0 Then
lblunidadmedida.Text = dt.Rows(0).Item("codunidadmedida")
Else
lblunidadmedida.Text = " "
End If
dt.Reset()
cn.Close()
End Sub
Sub cargarunidadmedida()
Dim ds2 As New DataSet
cn.ConnectionString = "database=Bdferreteria; Integrated Security =SSPI;
Data source=(local)"
cmd.Connection = cn
cmd.CommandText = "select descripcion from unidad_medida order by
descripcion"
da.SelectCommand = cmd
da.Fill(ds2, "des")

pg. 71

cbounidadmedida.DataSource = ds2.Tables("des")
cbounidadmedida.DisplayMember = "descripcion"
End Sub
Private Sub FRMVENTACONTADO_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
cn.ConnectionString = "database=Bdferreteria; Integrated Security =SSPI;
Data source=(local)"
cmd.Connection = cn
cargarcategoria()
cargarunidadmedida()
cargarproducto()
cargarcliente()
cargarcomprobante()
cargarempleado()
CargarLista()
End Sub
Sub totalizar()
Dim n As Integer
Dim total As Single
For n = 0 To dglista.RowCount - 1
total = total + dglista.Rows(n).Cells("importe").Value
dglista.Rows(n).Cells("N").Value = n + 1
Next
lbltotal.Text = Format(total, "###,##0.00")
End Sub
Private Sub txtcantidad_KeyPress(sender As Object, e As KeyPressEventArgs)
Handles txtcantidad.KeyPress
'If Asc(e.KeyChar) = 27 Then
'
cbodescripcion.Focus()
'
Exit Sub
'End If
If Asc(e.KeyChar) = 13 Then
If Val(txtcantidad.Text) >= txtstock.Text Then
MsgBox("stock insuficiente")
ElseIf Val(txtcantidad.Text) <= 0 Then
MsgBox("por favor ingrese una cantidad a vender")
txtcantidad.Clear()
Else
txtstock.Text = Val(txtstock.Text) - Val(txtcantidad.Text)
dglista.Rows.Add(Val(txtcodigo.Text), Val(txtprecio.Text),
Val(txtcosto.Text), dglista.Rows.Count + 1, Val(txtcantidad.Text),
txtnombreproducto.Text, Val(txtprecio.Text), Val(lblimporte.Text))
txtcantidad.Text = ""
cboproducto.Focus()
totalizar()
End If
End If
End Sub
Private Sub cboclientes_SelectedIndexChanged(sender As Object, e As
EventArgs) Handles cboclientes.SelectedIndexChanged,
cboempleado.SelectedIndexChanged
Dim dt As New DataTable
cmd.CommandText = "select * from cliente where nombre_razonsocial='" &
cboclientes.Text & "'"
da.SelectCommand = cmd
da.Fill(dt)
If dt.Rows.Count > 0 Then
lblcodcliente.Text = dt.Rows(0).Item("codcliente")
Else
lblcodcliente.Text = ""
End If
dt.Reset()
End Sub

pg. 72

Sub cargarcliente()
Dim ds3 As New DataSet
cmd.CommandText = "select nombre_razonsocial from cliente"
da.SelectCommand = cmd
da.Fill(ds3, "mami")
cboclientes.DataSource = ds3.Tables("mami")
cboclientes.DisplayMember = "nombre_razonsocial"
End Sub
Private Sub txtdnicliente_KeyPress(sender As Object, e As KeyPressEventArgs)
Handles txtdnicliente.KeyPress
If Asc(e.KeyChar) = 13 Then
ds.Clear()
cmd.CommandText = "select nombre_razonsocial from cliente where
dni_ruc='" & txtdnicliente.Text & "'"
da.SelectCommand = cmd
da.Fill(ds3, "nombre")
cboclientes.DataSource = ds3.Tables("nombre")
cboclientes.DisplayMember = "nombre_razonsocial"
End If
End Sub
Private Sub txtdnicliente_TextChanged(sender As Object, e As EventArgs)
Handles txtdnicliente.TextChanged
If txtdnicliente.Text = "" Then
ds.Clear()
cargarcliente()
End If
dt.Reset()
End Sub
Private Sub cbocomprobante_SelectedIndexChanged(sender As Object, e As
EventArgs) Handles cbocomprobante.SelectedIndexChanged
Dim dt As New DataTable
cmd.CommandText = "select * from COMPROBANTE where TIPO='" &
cbocomprobante.Text & "'"
da.SelectCommand = cmd
da.Fill(dt)
If dt.Rows.Count > 0 Then
lblserie.Text = dt.Rows(0).Item("serie")
lblnumero.Text = dt.Rows(0).Item("numero")
End If
dt.Reset()
End Sub
Sub cargarcomprobante()
cmd.CommandText = "select tipo from comprobante"
da.SelectCommand = cmd
da.Fill(ds4, "m")
cbocomprobante.DataSource = ds4.Tables("m")
cbocomprobante.DisplayMember = "tipo"
End Sub
Private Sub txtdniempleado_KeyPress(sender As Object, e As KeyPressEventArgs)
Handles txtdniempleado.KeyPress
If Asc(e.KeyChar) = 13 Then
ds.Clear()
cmd.CommandText = "select nombre from empleado where dni='" &
txtdniempleado.Text & "'"
da.SelectCommand = cmd
da.Fill(ds5, "nombre")
cboempleado.DataSource = ds5.Tables("nombre")
cboempleado.DisplayMember = "nombre"
End If
End Sub
Sub cargarempleado()
Dim ds5 As New DataSet

pg. 73

cmd.CommandText = "select nombre from empleado"


da.SelectCommand = cmd
da.Fill(ds5, "mami")
cboempleado.DataSource = ds5.Tables("mami")
cboempleado.DisplayMember = "nombre"
End Sub
Private Sub txtdniempleado_TextChanged(sender As Object, e As EventArgs)
Handles txtdniempleado.TextChanged
If txtdniempleado.Text = "" Then
ds2.Clear()
cargarempleado()
End If
dt.Reset()
End Sub
Sub CargarLista()
Me.dglista.ColumnCount = 0
dglista.Columns.Add("CODIGO", "CODIGO")
dglista.Columns.Add("PRECIOREAL", "PRECIOREAL")
dglista.Columns.Add("COSTO", "COSTO")
dglista.Columns.Add("N", "N")
dglista.Columns.Add("CANTIDAD", "CANTIDAD")
dglista.Columns.Add("DESCRIPCION", "DESCRIPCION")
dglista.Columns.Add("PRECIO", "PRECIO")
dglista.Columns.Add("IMPORTE", "IMPORTE")
'SOLO DE LECTURA
dglista.Columns("DESCRIPCION").ReadOnly = True
dglista.Columns("IMPORTE").ReadOnly = True
dglista.Columns("N").ReadOnly = True
End Sub
Private Sub dglista_CellEndEdit(sender As Object, e As
DataGridViewCellEventArgs) Handles dglista.CellEndEdit
dglista.CurrentRow.Cells("Importe").Value =
dglista.CurrentRow.Cells("Cantidad").Value *
dglista.CurrentRow.Cells("Precio").Value
If dglista.CurrentRow.Cells("CANTIDAD").Value = 0 Then
dglista.Rows.RemoveAt(dglista.CurrentRow.Index)
End If
totalizar()
End Sub
Private Sub btnregistrarventacontado_Click(sender As Object, e As EventArgs)
Handles btnregistrarventacontado.Click
Try
Dim datos As String
datos = "registrarventa_pa"
cn.Open()
da.InsertCommand = New SqlCommand(datos, cn)
da.InsertCommand.Parameters.AddWithValue("@tipo",
cbocomprobante.Text)
da.InsertCommand.Parameters.AddWithValue("@serie", lblserie.Text)
da.InsertCommand.Parameters.AddWithValue("@numero", lblnumero.Text)
da.InsertCommand.Parameters.AddWithValue("@fecha", dtfecha.Value)
da.InsertCommand.Parameters.AddWithValue("@codcliente",
lblcodcliente.Text)
da.InsertCommand.Parameters.AddWithValue("@dni", txtdniempleado.Text)
da.InsertCommand.CommandType = CommandType.StoredProcedure
da.InsertCommand.ExecuteNonQuery()
da.InsertCommand.Parameters.Clear()
'GRABAR EL DETALLE DE VENTA
datos = "REGISTRARDETALLE_VENTASCONTADO"
For N = 0 To dglista.Rows.Count - 1
da.InsertCommand = New SqlCommand(datos, cn)
da.InsertCommand.Parameters.AddWithValue("@tipo",
cbocomprobante.Text)

pg. 74

da.InsertCommand.Parameters.AddWithValue("@serie", lblserie.Text)
da.InsertCommand.Parameters.AddWithValue("@numero",
lblnumero.Text)
da.InsertCommand.Parameters.AddWithValue("@codarticulo",
dglista.Rows(N).Cells("CODIGO").Value)
da.InsertCommand.Parameters.AddWithValue("@cantidad",
dglista.Rows(N).Cells("CANTIDAD").Value)
da.InsertCommand.CommandType = CommandType.StoredProcedure
da.InsertCommand.ExecuteNonQuery()
Next
cn.Close()
If dglista.RowCount = 0 Then
MsgBox("NO HAY NINGUNA VENTA")
Else
MsgBox("LA VENTA SE GRABO CORRECTAMENTE", 64, "FELICITACIONES")
cbocomprobante_SelectedIndexChanged(sender, e)
CargarLista()
cboproducto.Focus()
End If
Catch ex As Exception
MsgBox(Err.Description, 16, "ERROR ENCONTRADO")
End Try
End Sub
Private Sub txtcantidad_TextChanged(sender As Object, e As EventArgs) Handles
txtcantidad.TextChanged
lblimporte.Text = Val(txtcantidad.Text) * Val(txtvendidoa.Text)
lblutilidad.Text = (Val(txtcantidad.Text) * Val(txtprecio.Text)) (Val(txtcosto.Text) * Val(txtcantidad.Text))
End Sub
Private Sub txtvendidoa_TextChanged(sender As Object, e As EventArgs) Handles
txtvendidoa.TextChanged
lblimporte.Text = Val(txtcantidad.Text) * Val(txtvendidoa.Text)
lblutilidad.Text = (Val(txtcantidad.Text) * Val(txtvendidoa.Text)) (Val(txtcosto.Text) * Val(txtcantidad.Text))
End Sub
End Class

pg. 75

5.- CONCLUSIONES

1. La ferretera Jeison presenta problemas en el control de ventas y a la


vez de cobranzas, lo que le ha generado costos elevados de
operaciones y una rentabilidad menor a la que podra obtener si su
gestin fuera ms eficiente.
2. El administrador y/o gerente de la empresa podr tener informacin detallada de las
ventas realizada, registro de clientes, productos gestionados, etc. en
cualquier momento que l lo requiere, por lo mismo que el Sistema de
ventas cuenta con opcin de reportes.
3. El uso del Sistema de Gestin orientado al control de ventas y Stock
permitir brindar una adecuada atencin al cliente.
4. El uso del Sistema de ventas y Stock permitir a los que laboran obtener
una ayuda visualmente al momento de la venta a los clientes, reduciendo los
tiempos en la atencin y de esta forma evitando esperas innecesarias
5. Los que trabajan con el sistema percibirn un rendimiento considerable y
favorable con respecto al sistema manual que actualmente realizan,
porque el Sistema de de ventas y Stock le permitir tener un control
sobre las existencias de cada uno de los productos en stock lo que
resulta favorable tanto en la atencin como para la compra oportuna de
los insumos imprescindibles para la venta.

6.- RECOMENDACION
1. La adquisicin de la implementacin de un software, les permitir llevar
a cabo una mejor gestin de ventas, por ello se recomienda su
implementacin pues ya que se adecua a la actual situacin de la
empresa.
2. En este sistema de ventas se muestran los productos que comercializa
la empresa y una manera ms rpida de atender a sus clientes, de esta
forma captar nuevos clientes y generar en los actuales identificacin y
lealtad hacia ella.
3. Desarrollar e implementar una pgina Web donde se muestren los
servicios y productos que comercializa la empresa, de esta forma
captar nuevos clientes y generar en los actuales identificacin y
lealtad hacia ella.
4. Utilizar software con la licencia respectiva de acuerdo, con la finalidad de
prever cualquier sancin por usar software comercial sin licencia.
5. Realizar las transacciones tributarias con la SUNAT y comerciales con
los Bancos a travs de Internet, aprovechando las ventajas de sta
tecnologa

pg. 76

7.- GLOSARIO DE TRMINOS


Celeridad
Rapidez, velocidad o prontitud en el movimiento o la ejecucin de algo.
Mstica
Designa un tipo de experiencia muy difcil de alcanzar en q se llega el grado
mximo de alcanzar algo
Oportuna
Sucede o se realiza en unas circunstancias o en momentos buenos para producir
en el momento indicado
Prever
Conocer o saber algo con anticipacin por medio de ciertas seales o indicios

pg. 77

9.- ANEXOS
Boleta

pg. 78

Factura

pg. 79

Requisitos para venta a crdito

pg. 80

SCRIPT BASE DE DATOS


USE [master]
GO
/****** Object: Database [BDferreteria]
Script Date: 18/07/2016 10:16:59 a.m.
******/
CREATE DATABASE [BDferreteria]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'ferreteria_jheyson_dat', FILENAME = N'E:\ferreteria
jheyson\ferreteria.mdf' , SIZE = 512000KB , MAXSIZE = 819200KB , FILEGROWTH =
10240KB )
LOG ON
( NAME = N'ferreteria_jheyson_log', FILENAME = N'E:\ferreteria
jheyson\ferreteria.ldf' , SIZE = 512000KB , MAXSIZE = 614400KB , FILEGROWTH =
10240KB )
GO
ALTER DATABASE [BDferreteria] SET COMPATIBILITY_LEVEL = 110
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [BDferreteria].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [BDferreteria] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [BDferreteria] SET ANSI_NULLS OFF
GO
ALTER DATABASE [BDferreteria] SET ANSI_PADDING OFF
GO
ALTER DATABASE [BDferreteria] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [BDferreteria] SET ARITHABORT OFF
GO
ALTER DATABASE [BDferreteria] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [BDferreteria] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [BDferreteria] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [BDferreteria] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [BDferreteria] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [BDferreteria] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [BDferreteria] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [BDferreteria] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [BDferreteria] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [BDferreteria] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [BDferreteria] SET DISABLE_BROKER
GO
ALTER DATABASE [BDferreteria] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [BDferreteria] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [BDferreteria] SET TRUSTWORTHY OFF
GO

pg. 81

ALTER DATABASE [BDferreteria] SET ALLOW_SNAPSHOT_ISOLATION OFF


GO
ALTER DATABASE [BDferreteria] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [BDferreteria] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [BDferreteria] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [BDferreteria] SET RECOVERY FULL
GO
ALTER DATABASE [BDferreteria] SET MULTI_USER
GO
ALTER DATABASE [BDferreteria] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [BDferreteria] SET DB_CHAINING OFF
GO
ALTER DATABASE [BDferreteria] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
GO
ALTER DATABASE [BDferreteria] SET TARGET_RECOVERY_TIME = 0 SECONDS
GO
EXEC sys.sp_db_vardecimal_storage_format N'BDferreteria', N'ON'
GO
USE [BDferreteria]
GO
/****** Object: StoredProcedure [dbo].[REGISTRARDETALLE_VENTASCONTADO]
Script
Date: 18/07/2016 10:16:59 a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[REGISTRARDETALLE_VENTASCONTADO]
@tipo varchar(50),
@serie varchar(3),
@numero varchar(6),
@CODARTICULO INT,
@CANTIDAD DECIMAL(5,2)
AS
BEGIN
insert into DETALLE_CONTADO(TIPO,serie,numero,IDPRODUCTO,CANTIDAD) values(@TIPO,
@serie,@numero,@CODARTICULO ,@CANTIDAD )
UPDATE PRODUCTO SET STOCK=STOCK-@CANTIDAD WHERE CODPRODUCTO=@CODARTICULO
END
GO
/****** Object: StoredProcedure [dbo].[REGISTRARDETALLE_VENTASCREDITO]
Date: 18/07/2016 10:16:59 a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[REGISTRARDETALLE_VENTASCREDITO]
@tipo varchar(20),
@serie varchar(3),
@numero varchar(6),
@CODARTICULO INT,
@CANTIDAD DECIMAL(5,2),
@total money
AS
BEGIN
insert into
detalle_credito(TIPO,serie,numero,IDPRODUCTO,CANTIDAD,totalconinteres)
values(@TIPO, @serie,@numero,@CODARTICULO ,@CANTIDAD,@total )
UPDATE PRODUCTO SET STOCK=STOCK-@CANTIDAD WHERE CODPRODUCTO=@CODARTICULO
END

Script

pg. 82

GO
/****** Object: StoredProcedure [dbo].[REGISTRARVENTA_PA]
18/07/2016 10:16:59 a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[REGISTRARVENTA_PA]
@tipo varchar(50),
@serie varchar(3),
@numero varchar(6),
@fecha datetime,
@codcliente int,
@DNI char(8)
as
begin

Script Date:

insert into venta_CONTADO(TIPO,idserie,idnumero,fechaventa,IDCLIENTE,IDDNI)


values(@TIPO, @serie,@numero ,@fecha ,@codcliente,@dni)
update COMPROBANTE set numero =numero+1 WHERE TIPO=@tipo
END
GO
/****** Object: StoredProcedure [dbo].[REGISTRARVENTACREDITO_PA]
18/07/2016 10:16:59 a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[REGISTRARVENTACREDITO_PA]
@tipo varchar(50),
@serie varchar(3),
@numero varchar(6),
@fecha datetime,
@fechapago datetime,
@codcliente int,
@DNI char(8),
@idinteres int,
@idmedio int
as
begin

Script Date:

insert into venta_credito (TIPO,idserie,idnumero,fechaventa,fechapago


,IDCLIENTE,IDDNI,idinteres ,idmediopago )
values(@TIPO,@serie,@numero,@fecha,@fechapago ,@codcliente ,@DNI,@idinteres
,@idmedio )
update COMPROBANTE set numero =numero+1 WHERE TIPO=@tipo
END
GO
/****** Object: Table [dbo].[categoria]
Script Date: 18/07/2016 10:16:59 a.m.
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[categoria](
[codcategoria] [int] IDENTITY(1,1) NOT NULL,
[nombre] [varchar](50) NOT NULL,
CONSTRAINT [pk_categoria] PRIMARY KEY CLUSTERED
(

pg. 83

[codcategoria] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[cliente]
Script Date: 18/07/2016 10:16:59 a.m.
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[cliente](
[codcliente] [int] IDENTITY(1,1) NOT NULL,
[nombre_razonsocial] [varchar](80) NOT NULL,
[direccion] [varchar](50) NOT NULL,
[ciudad] [varchar](20) NOT NULL,
[pais] [varchar](20) NOT NULL,
[dni_ruc] [varchar](11) NOT NULL,
[email] [varchar](25) NOT NULL,
[idtipo] [int] NOT NULL,
CONSTRAINT [pk_cliente] PRIMARY KEY CLUSTERED
(
[codcliente] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[comprobante]
Script Date: 18/07/2016 10:16:59
a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[comprobante](
[tipo] [varchar](20) NOT NULL,
[serie] [char](3) NOT NULL,
[numero] [char](6) NOT NULL,
CONSTRAINT [PK_comprobante_1] PRIMARY KEY CLUSTERED
(
[tipo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[detalle_contado]
10:16:59 a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON

Script Date: 18/07/2016

pg. 84

GO
CREATE TABLE [dbo].[detalle_contado](
[Tipo] [varchar](20) NOT NULL,
[serie] [char](3) NOT NULL,
[numero] [char](6) NOT NULL,
[idproducto] [int] NOT NULL,
[cantidad] [decimal](5, 2) NOT NULL,
CONSTRAINT [PK_detalle_contado_1] PRIMARY KEY CLUSTERED
(
[Tipo] ASC,
[serie] ASC,
[numero] ASC,
[idproducto] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[detalle_credito]
Script Date: 18/07/2016
10:16:59 a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[detalle_credito](
[Tipo] [varchar](20) NOT NULL,
[serie] [char](3) NOT NULL,
[numero] [char](6) NOT NULL,
[idproducto] [int] NOT NULL,
[cantidad] [decimal](5, 2) NOT NULL,
[totalconinteres] [money] NULL,
CONSTRAINT [PK_detalle_credito_1] PRIMARY KEY CLUSTERED
(
[Tipo] ASC,
[serie] ASC,
[numero] ASC,
[idproducto] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[empleado]
Script Date: 18/07/2016 10:16:59 a.m.
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[empleado](
[dni] [char](8) NOT NULL,
[nombre] [varchar](80) NOT NULL,
[cargo] [varchar](20) NOT NULL,
[direccion] [varchar](25) NOT NULL,
[telefono] [char](9) NOT NULL,
[ciudad] [varchar](20) NOT NULL,
[pais] [varchar](20) NOT NULL,

pg. 85

[fechacontrato] [datetime] NOT NULL,


[Usuario] [varchar](20) NOT NULL,
[Contrasea] [varchar](15) NOT NULL,
CONSTRAINT [pk_empleado] PRIMARY KEY CLUSTERED
(
[dni] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[interes]
Script Date: 18/07/2016 10:16:59 a.m.
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[interes](
[codinteres] [int] IDENTITY(1,1) NOT NULL,
[tiempo] [varchar](30) NOT NULL,
[porcentaje] [decimal](5, 2) NOT NULL,
CONSTRAINT [pk_interes] PRIMARY KEY CLUSTERED
(
[codinteres] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[medios_pago]
Script Date: 18/07/2016 10:16:59
a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[medios_pago](
[codmediopago] [int] IDENTITY(1,1) NOT NULL,
[descripcion] [varchar](40) NOT NULL,
CONSTRAINT [pk_medios_pago] PRIMARY KEY CLUSTERED
(
[codmediopago] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[producto]
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO

Script Date: 18/07/2016 10:16:59 a.m.

pg. 86

CREATE TABLE [dbo].[producto](


[codproducto] [int] IDENTITY(1,1) NOT NULL,
[nombre] [varchar](80) NOT NULL,
[costo] [money] NOT NULL,
[precio] [money] NOT NULL,
[stock] [decimal](5, 2) NOT NULL,
[fechavencimiento] [datetime] NOT NULL,
[idcategoria] [int] NOT NULL,
[idunidadmedida] [int] NOT NULL,
CONSTRAINT [pk_producto] PRIMARY KEY CLUSTERED
(
[codproducto] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[tipo]
Script Date: 18/07/2016 10:16:59 a.m.
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tipo](
[codtipo] [int] IDENTITY(1,1) NOT NULL,
[descripcion] [varchar](40) NOT NULL,
CONSTRAINT [pk_tipo] PRIMARY KEY CLUSTERED
(
[codtipo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[unidad_medida]
Script Date: 18/07/2016 10:16:59
a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[unidad_medida](
[codunidadmedida] [int] IDENTITY(1,1) NOT NULL,
[descripcion] [varchar](50) NOT NULL,
CONSTRAINT [pk_unidad_medida] PRIMARY KEY CLUSTERED
(
[codunidadmedida] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[venta_contado]
a.m. ******/
SET ANSI_NULLS ON

Script Date: 18/07/2016 10:16:59

pg. 87

GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[venta_contado](
[tipo] [varchar](20) NOT NULL,
[idserie] [char](3) NOT NULL,
[idnumero] [char](6) NOT NULL,
[fechaventa] [datetime] NOT NULL,
[idcliente] [int] NOT NULL,
[iddni] [char](8) NOT NULL,
CONSTRAINT [PK_venta_contado_1] PRIMARY KEY CLUSTERED
(
[tipo] ASC,
[idserie] ASC,
[idnumero] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[venta_credito]
Script Date: 18/07/2016 10:16:59
a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[venta_credito](
[tipo] [varchar](20) NOT NULL,
[idserie] [char](3) NOT NULL,
[idnumero] [char](6) NOT NULL,
[fechaventa] [datetime] NOT NULL,
[fechapago] [datetime] NULL,
[idcliente] [int] NOT NULL,
[iddni] [char](8) NOT NULL,
[idinteres] [int] NOT NULL,
[idmediopago] [int] NOT NULL,
CONSTRAINT [PK_venta_credito] PRIMARY KEY CLUSTERED
(
[tipo] ASC,
[idserie] ASC,
[idnumero] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: View [dbo].[CLIENTE_V]
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[CLIENTE_V]
AS

Script Date: 18/07/2016 10:16:59 a.m.

pg. 88

SELECT
dbo.cliente.codcliente, dbo.cliente.nombre_razonsocial,
dbo.cliente.direccion, dbo.cliente.ciudad, dbo.cliente.pais, dbo.cliente.dni_ruc,
dbo.cliente.email,
dbo.cliente.idtipo, dbo.tipo.descripcion
FROM
dbo.tipo INNER JOIN
dbo.cliente ON dbo.tipo.codtipo = dbo.cliente.idtipo
GO
/****** Object: View [dbo].[Productos_V]
Script Date: 18/07/2016 10:16:59
a.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[Productos_V]
AS
SELECT
dbo.producto.codproducto, dbo.producto.nombre, dbo.producto.costo,
dbo.producto.precio, dbo.producto.stock, dbo.producto.fechavencimiento,
dbo.producto.idcategoria, dbo.categoria.nombre AS
Categoria, dbo.producto.idunidadmedida, dbo.unidad_medida.descripcion AS
UnidadMedida
FROM
dbo.producto INNER JOIN
dbo.categoria ON dbo.producto.idcategoria =
dbo.categoria.codcategoria INNER JOIN
dbo.unidad_medida ON dbo.producto.idunidadmedida =
dbo.unidad_medida.codunidadmedida
GO
/****** Object: View [dbo].[View_1]
Script Date: 18/07/2016 10:16:59 a.m.
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[View_1]
AS
SELECT
dbo.producto.codproducto, dbo.producto.nombre, dbo.producto.costo,
dbo.producto.precio, dbo.producto.stock, dbo.producto.fechavencimiento,
dbo.unidad_medida.descripcion, dbo.categoria.nombre AS
categoria
FROM
dbo.producto INNER JOIN
dbo.unidad_medida ON dbo.producto.idunidadmedida =
dbo.unidad_medida.codunidadmedida INNER JOIN
dbo.categoria ON dbo.producto.idcategoria =
dbo.categoria.codcategoria
GO
/****** Object: View [dbo].[View_2]
Script Date: 18/07/2016 10:16:59 a.m.
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[View_2]
AS
SELECT
dbo.detalle_contado.Tipo, dbo.detalle_contado.serie,
dbo.detalle_contado.numero, dbo.venta_contado.fechaventa, dbo.producto.nombre,
dbo.producto.precio, dbo.detalle_contado.cantidad,
dbo.producto.precio * dbo.detalle_contado.cantidad AS importe,
dbo.cliente.nombre_razonsocial
FROM
dbo.producto INNER JOIN
dbo.detalle_contado ON dbo.producto.codproducto =
dbo.detalle_contado.idproducto INNER JOIN

pg. 89

dbo.venta_contado ON dbo.detalle_contado.Tipo =
dbo.venta_contado.tipo AND dbo.detalle_contado.serie = dbo.venta_contado.idserie
AND
dbo.detalle_contado.numero = dbo.venta_contado.idnumero
INNER JOIN
dbo.cliente ON dbo.venta_contado.idcliente =
dbo.cliente.codcliente
GO
/****** Object: View [dbo].[View_3]
Script Date: 18/07/2016 10:16:59 a.m.
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[View_3]
AS
SELECT
dbo.venta_credito.tipo, dbo.venta_credito.idserie,
dbo.venta_credito.idnumero, dbo.venta_credito.fechaventa,
dbo.venta_credito.fechapago,
dbo.producto.nombre, dbo.detalle_credito.cantidad,
dbo.producto.precio, dbo.detalle_credito.totalconinteres,
cliente_1.nombre_razonsocial
FROM
dbo.cliente AS cliente_1 CROSS JOIN
dbo.venta_credito INNER JOIN
dbo.detalle_credito ON dbo.venta_credito.tipo =
dbo.detalle_credito.Tipo AND dbo.venta_credito.idserie =
dbo.detalle_credito.serie AND
dbo.venta_credito.idnumero = dbo.detalle_credito.numero
INNER JOIN
dbo.producto ON dbo.detalle_credito.idproducto =
dbo.producto.codproducto
GO
SET IDENTITY_INSERT [dbo].[categoria] ON
INSERT
INSERT
INSERT
INSERT
mano')
INSERT
unin

[dbo].[categoria]
[dbo].[categoria]
[dbo].[categoria]
[dbo].[categoria]

([codcategoria],
([codcategoria],
([codcategoria],
([codcategoria],

[nombre])
[nombre])
[nombre])
[nombre])

VALUES
VALUES
VALUES
VALUES

(1,
(2,
(3,
(4,

N'Calefaccion')
N'Fontaneria')
N'Tuberas')
N'Herramientas de

[dbo].[categoria] ([codcategoria], [nombre]) VALUES (5, N'Elementos de

')
INSERT [dbo].[categoria] ([codcategoria], [nombre]) VALUES (6, N'Productos de
fijacin y sellado
')
INSERT [dbo].[categoria] ([codcategoria],
INSERT [dbo].[categoria] ([codcategoria],
INSERT [dbo].[categoria] ([codcategoria],
INSERT [dbo].[categoria] ([codcategoria],
INSERT [dbo].[categoria] ([codcategoria],
elctricas')
INSERT [dbo].[categoria] ([codcategoria],
SET IDENTITY_INSERT [dbo].[categoria] OFF
SET IDENTITY_INSERT [dbo].[cliente] ON

[nombre])
[nombre])
[nombre])
[nombre])
[nombre])

VALUES
VALUES
VALUES
VALUES
VALUES

(7, N'Pinturas')
(8, N'Esmaltes')
(9, N'Barnices')
(10, N'Esmaltes')
(11, N'Herramientas

[nombre]) VALUES (12, N'Otros')

INSERT [dbo].[cliente] ([codcliente], [nombre_razonsocial], [direccion],


[ciudad], [pais], [dni_ruc], [email], [idtipo]) VALUES (2, N'Pedro Rodriguez ',
N'Jr. bagua', N'lima', N'Peru', N'99999999', N'Nmnh@hotmail.com', 2)

pg. 90

INSERT [dbo].[cliente] ([codcliente], [nombre_razonsocial], [direccion],


[ciudad], [pais], [dni_ruc], [email], [idtipo]) VALUES (5, N'Mariano Prez
Calderon', N'Av. Chachapoyas 5555', N'Bagua Grande', N'Peru', N'88888888',
N'kilo@gmail.com', 1)
INSERT [dbo].[cliente] ([codcliente], [nombre_razonsocial], [direccion],
[ciudad], [pais], [dni_ruc], [email], [idtipo]) VALUES (7, N'LELY YOJANY YDROGO',
N'JR JOSE ', N'BAGUA', N'PERU', N'28282882', N'LELY@GMAIL', 2)
INSERT [dbo].[cliente] ([codcliente], [nombre_razonsocial], [direccion],
[ciudad], [pais], [dni_ruc], [email], [idtipo]) VALUES (8, N'PAMELA FERNANDEZ
CALDERON', N'JR. JULIO C. TELLO 57', N'BAGUA', N'PERU', N'63737889',
N'PAMEA@GMAIL.COM', 1)
SET IDENTITY_INSERT [dbo].[cliente] OFF
INSERT [dbo].[comprobante] ([tipo], [serie], [numero]) VALUES (N'Boleta', N'001',
N'10
')
INSERT [dbo].[comprobante] ([tipo], [serie], [numero]) VALUES (N'FACTURA',
N'001', N'901
')
INSERT [dbo].[detalle_contado] ([Tipo], [serie], [numero], [idproducto],
[cantidad]) VALUES (N'Boleta', N'001', N'000001', 1, CAST(1.00 AS Decimal(5, 2)))
INSERT [dbo].[detalle_contado] ([Tipo], [serie], [numero], [idproducto],
[cantidad]) VALUES (N'Boleta', N'001', N'000002', 8, CAST(1.00 AS Decimal(5, 2)))
INSERT [dbo].[detalle_contado] ([Tipo], [serie], [numero], [idproducto],
[cantidad]) VALUES (N'Boleta', N'001', N'3
', 8, CAST(2.00 AS Decimal(5, 2)))
INSERT [dbo].[detalle_contado] ([Tipo], [serie], [numero], [idproducto],
[cantidad]) VALUES (N'Boleta', N'001', N'9
', 11, CAST(2.00 AS Decimal(5,
2)))
INSERT [dbo].[detalle_credito] ([Tipo], [serie], [numero], [idproducto],
[cantidad], [totalconinteres]) VALUES (N'Boleta', N'001', N'000000', 3, CAST(1.00
AS Decimal(5, 2)), 15.0000)
INSERT [dbo].[detalle_credito] ([Tipo], [serie], [numero], [idproducto],
[cantidad], [totalconinteres]) VALUES (N'Boleta', N'001', N'4
', 6, CAST(3.00
AS Decimal(5, 2)), NULL)
INSERT [dbo].[detalle_credito] ([Tipo], [serie], [numero], [idproducto],
[cantidad], [totalconinteres]) VALUES (N'Boleta', N'001', N'5
', 4, CAST(1.00
AS Decimal(5, 2)), NULL)
INSERT [dbo].[detalle_credito] ([Tipo], [serie], [numero], [idproducto],
[cantidad], [totalconinteres]) VALUES (N'Boleta', N'001', N'6
', 1, CAST(1.00
AS Decimal(5, 2)), 2.0000)
INSERT [dbo].[detalle_credito] ([Tipo], [serie], [numero], [idproducto],
[cantidad], [totalconinteres]) VALUES (N'Boleta', N'001', N'8
', 4, CAST(1.00
AS Decimal(5, 2)), 20.0000)
INSERT [dbo].[empleado] ([dni], [nombre], [cargo], [direccion], [telefono],
[ciudad], [pais], [fechacontrato], [Usuario], [Contrasea]) VALUES (N'64578778',
N'DEISY GLADYS VILCHEZ CIEZA', N'Vendedor', N'JR. JULIO', N'228737377', N'BAGUA',
N'PERU', CAST(0x0000A62B0096927C AS DateTime), N'DEISY', N'DEISY')
INSERT [dbo].[empleado] ([dni], [nombre], [cargo], [direccion], [telefono],
[ciudad], [pais], [fechacontrato], [Usuario], [Contrasea]) VALUES (N'66666666',
N'Kevin alexander Gonzales ', N'Administrador', N'fghj', N'5555555 ',
N'dtfyghj', N'cvhj', CAST(0x0000A12500000000 AS DateTime), N'kkk', N'kkk')
INSERT [dbo].[empleado] ([dni], [nombre], [cargo], [direccion], [telefono],
[ciudad], [pais], [fechacontrato], [Usuario], [Contrasea]) VALUES (N'77777777',
N'Manuel Fernandez Garcia', N'Gerente', N'ddfghjkl', N'98765
', N'fghjkl',
N'kjhgf', CAST(0x0000A69800000000 AS DateTime), N'ppp', N'ppp')
SET IDENTITY_INSERT [dbo].[interes] ON
INSERT [dbo].[interes] ([codinteres],
Semana', CAST(0.00 AS Decimal(5, 2)))
INSERT [dbo].[interes] ([codinteres],
Dias', CAST(5.00 AS Decimal(5, 2)))
INSERT [dbo].[interes] ([codinteres],
Mes', CAST(10.00 AS Decimal(5, 2)))
INSERT [dbo].[interes] ([codinteres],
meses', CAST(12.00 AS Decimal(5, 2)))
INSERT [dbo].[interes] ([codinteres],
Meses', CAST(15.00 AS Decimal(5, 2)))

[tiempo], [porcentaje]) VALUES (1, N'Una


[tiempo], [porcentaje]) VALUES (2, N'Quince
[tiempo], [porcentaje]) VALUES (4, N'Un
[tiempo], [porcentaje]) VALUES (5, N'Tres
[tiempo], [porcentaje]) VALUES (6, N'Seis

pg. 91

INSERT [dbo].[interes] ([codinteres], [tiempo], [porcentaje]) VALUES (7, N'Un


Ao', CAST(20.00 AS Decimal(5, 2)))
SET IDENTITY_INSERT [dbo].[interes] OFF
SET IDENTITY_INSERT [dbo].[medios_pago] ON
INSERT [dbo].[medios_pago] ([codmediopago], [descripcion]) VALUES (1, N'Cheque')
INSERT [dbo].[medios_pago] ([codmediopago], [descripcion]) VALUES (2,
N'Deposito')
INSERT [dbo].[medios_pago] ([codmediopago], [descripcion]) VALUES (3, N'Pago en
caja')
SET IDENTITY_INSERT [dbo].[medios_pago] OFF
SET IDENTITY_INSERT [dbo].[producto] ON
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (1, N'Chaleadora Stil
mami', 1023.0000, 1200.0000, CAST(2.00 AS Decimal(5, 2)), CAST(0x0000A63F00000000
AS DateTime), 1, 1)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (2, N'Motosierra
Honda', 1000.0000, 1130.0000, CAST(4.00 AS Decimal(5, 2)),
CAST(0x0000A63F00000000 AS DateTime), 2, 2)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (3, N'Codos 90
hembra Polyplumb', 10.0000, 15.0000, CAST(9.00 AS Decimal(5, 2)),
CAST(0x0000AC9300000000 AS DateTime), 3, 1)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (4, N'Codos 90
MultiStandard sl', 15.0000, 20.0000, CAST(8.00 AS Decimal(5, 2)),
CAST(0x0000AC8F00000000 AS DateTime), 3, 1)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (5, N'Codo con rosca
1/2 Claber', 20.0000, 30.0000, CAST(10.00 AS Decimal(5, 2)),
CAST(0x0000AC8F00000000 AS DateTime), 3, 1)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (6, N'Cepillos de
dimetro pequeo Incale STS', 20.0000, 30.0000, CAST(12.00 AS Decimal(5, 2)),
CAST(0x0000AC8F00000000 AS DateTime), 4, 1)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (7, N'Cepillos
cilndricos de pluma ', 100.0000, 150.0000, CAST(10.00 AS Decimal(5, 2)),
CAST(0x0000A64600000000 AS DateTime), 5, 2)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (8, N'Alicates de
boca ', 15.0000, 30.0000, CAST(7.00 AS Decimal(5, 2)), CAST(0x0000A64600000000 AS
DateTime), 2, 3)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (9, N'Alicates de
corte lateral ', 20.0000, 50.0000, CAST(10.00 AS Decimal(5, 2)),
CAST(0x0000A64600000000 AS DateTime), 4, 1)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (10, N'Corta alambres
para cobre y aluminio', 40.0000, 50.0000, CAST(10.00 AS Decimal(5, 2)),
CAST(0x0000A7B200000000 AS DateTime), 4, 1)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (11, N'Alicates EGA
Master Mastercut', 30.0000, 35.0000, CAST(8.00 AS Decimal(5, 2)),
CAST(0x0000A7B300000000 AS DateTime), 4, 1)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (12, N'Herramientas
de seguridad aisladas EGA Master 1000V', 30.0000, 50.0000, CAST(5.00 AS
Decimal(5, 2)), CAST(0x0000A7B300000000 AS DateTime), 4, 1)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (13, N'Soportes para

pg. 92

tubo Swagelok', 40.0000, 50.0000, CAST(10.00 AS Decimal(5, 2)),


CAST(0x0000A7B300000000 AS DateTime), 3, 1)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (14, N'Cubreaguas
helicoidales Caexven Serie helicoidal', 10.0000, 20.0000, CAST(10.00 AS
Decimal(5, 2)), CAST(0x0000A7B300000000 AS DateTime), 3, 1)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (15, N'Tubo de
proteccin', 20.0000, 35.0000, CAST(10.00 AS Decimal(5, 2)),
CAST(0x0000A7B300000000 AS DateTime), 3, 1)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (16, N'Esmalte
antioxidante Oxirite Xtrem Brillante', 35.0000, 45.0000, CAST(10.00 AS Decimal(5,
2)), CAST(0x0000A7B300000000 AS DateTime), 10, 3)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (17, N'Esmalte
antioxidante Oxirite Xtrem Satinado', 40.0000, 50.0000, CAST(10.00 AS Decimal(5,
2)), CAST(0x0000A7B300000000 AS DateTime), 10, 3)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (18, N'Esmalte
antioxidante al agua Oxirite Xtrem Forja', 50.0000, 70.0000, CAST(12.00 AS
Decimal(5, 2)), CAST(0x0000A7B300000000 AS DateTime), 10, 3)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (19, N'Esmaltes
acrlicos Montonature', 40.0000, 60.0000, CAST(10.00 AS Decimal(5, 2)),
CAST(0x0000A7B300000000 AS DateTime), 10, 3)
INSERT [dbo].[producto] ([codproducto], [nombre], [costo], [precio], [stock],
[fechavencimiento], [idcategoria], [idunidadmedida]) VALUES (20, N'pintura
celeste', 20.0000, 30.0000, CAST(20.00 AS Decimal(5, 2)), CAST(0x0000A65300960384
AS DateTime), 7, 2)
SET IDENTITY_INSERT [dbo].[producto] OFF
SET IDENTITY_INSERT [dbo].[tipo] ON
INSERT [dbo].[tipo]
INSERT [dbo].[tipo]
SET IDENTITY_INSERT
SET IDENTITY_INSERT

([codtipo], [descripcion]) VALUES (1, N'Natural')


([codtipo], [descripcion]) VALUES (2, N'Juridico')
[dbo].[tipo] OFF
[dbo].[unidad_medida] ON

INSERT [dbo].[unidad_medida] ([codunidadmedida], [descripcion]) VALUES (1,


N'Ninguna')
INSERT [dbo].[unidad_medida] ([codunidadmedida], [descripcion]) VALUES (2,
N'Kilos')
INSERT [dbo].[unidad_medida] ([codunidadmedida], [descripcion]) VALUES (3,
N'Gramos')
SET IDENTITY_INSERT [dbo].[unidad_medida] OFF
INSERT [dbo].[venta_contado] ([tipo], [idserie], [idnumero], [fechaventa],
[idcliente], [iddni]) VALUES (N'Boleta', N'001', N'000001',
CAST(0x0000A64500AFCF9D AS DateTime), 2, N'77777777')
INSERT [dbo].[venta_contado] ([tipo], [idserie], [idnumero], [fechaventa],
[idcliente], [iddni]) VALUES (N'Boleta', N'001', N'000002',
CAST(0x0000A64601590033 AS DateTime), 2, N'77777777')
INSERT [dbo].[venta_contado] ([tipo], [idserie], [idnumero], [fechaventa],
[idcliente], [iddni]) VALUES (N'Boleta', N'001', N'3
',
CAST(0x0000A646015A9ED5 AS DateTime), 5, N'77777777')
INSERT [dbo].[venta_contado] ([tipo], [idserie], [idnumero], [fechaventa],
[idcliente], [iddni]) VALUES (N'Boleta', N'001', N'9
',
CAST(0x0000A6470096E478 AS DateTime), 5, N'77777777')
INSERT [dbo].[venta_credito] ([tipo], [idserie], [idnumero], [fechaventa],
[fechapago], [idcliente], [iddni], [idinteres], [idmediopago]) VALUES (N'Boleta',
N'001', N'000000', CAST(0x0000A646017AAF96 AS DateTime), CAST(0x0000A646017AAF95
AS DateTime), 2, N'
', 1, 1)
INSERT [dbo].[venta_credito] ([tipo], [idserie], [idnumero], [fechaventa],
[fechapago], [idcliente], [iddni], [idinteres], [idmediopago]) VALUES (N'Boleta',

pg. 93

N'001', N'4
', CAST(0x0000A646016A1C57 AS DateTime), CAST(0x0000A646016A1C57
AS DateTime), 5, N'77777777', 1, 1)
INSERT [dbo].[venta_credito] ([tipo], [idserie], [idnumero], [fechaventa],
[fechapago], [idcliente], [iddni], [idinteres], [idmediopago]) VALUES (N'Boleta',
N'001', N'5
', CAST(0x0000A646016A1C57 AS DateTime), CAST(0x0000A646016A1C57
AS DateTime), 5, N'77777777', 1, 1)
INSERT [dbo].[venta_credito] ([tipo], [idserie], [idnumero], [fechaventa],
[fechapago], [idcliente], [iddni], [idinteres], [idmediopago]) VALUES (N'Boleta',
N'001', N'6
', CAST(0x0000A646017A29EB AS DateTime), CAST(0x0000A646017A29EA
AS DateTime), 5, N'77777777', 1, 1)
INSERT [dbo].[venta_credito] ([tipo], [idserie], [idnumero], [fechaventa],
[fechapago], [idcliente], [iddni], [idinteres], [idmediopago]) VALUES (N'Boleta',
N'001', N'8
', CAST(0x0000A646017ADE98 AS DateTime), CAST(0x0000A646017ADE97
AS DateTime), 5, N'77777777', 1, 1)
ALTER TABLE [dbo].[cliente] WITH CHECK ADD CONSTRAINT [FK_cliente_tipo1]
FOREIGN KEY([idtipo])
REFERENCES [dbo].[tipo] ([codtipo])
GO
ALTER TABLE [dbo].[cliente] CHECK CONSTRAINT [FK_cliente_tipo1]
GO
ALTER TABLE [dbo].[detalle_contado] WITH CHECK ADD CONSTRAINT
[FK_detalle_contado_producto1] FOREIGN KEY([idproducto])
REFERENCES [dbo].[producto] ([codproducto])
GO
ALTER TABLE [dbo].[detalle_contado] CHECK CONSTRAINT
[FK_detalle_contado_producto1]
GO
ALTER TABLE [dbo].[detalle_contado] WITH CHECK ADD CONSTRAINT
[FK_detalle_contado_venta_contado] FOREIGN KEY([Tipo], [serie], [numero])
REFERENCES [dbo].[venta_contado] ([tipo], [idserie], [idnumero])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[detalle_contado] CHECK CONSTRAINT
[FK_detalle_contado_venta_contado]
GO
ALTER TABLE [dbo].[detalle_credito] WITH CHECK ADD CONSTRAINT
[FK_detalle_credito_producto] FOREIGN KEY([idproducto])
REFERENCES [dbo].[producto] ([codproducto])
GO
ALTER TABLE [dbo].[detalle_credito] CHECK CONSTRAINT
[FK_detalle_credito_producto]
GO
ALTER TABLE [dbo].[detalle_credito] WITH CHECK ADD CONSTRAINT
[FK_detalle_credito_venta_credito] FOREIGN KEY([Tipo], [serie], [numero])
REFERENCES [dbo].[venta_credito] ([tipo], [idserie], [idnumero])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[detalle_credito] CHECK CONSTRAINT
[FK_detalle_credito_venta_credito]
GO
ALTER TABLE [dbo].[producto] WITH CHECK ADD CONSTRAINT [FK_producto_categoria1]
FOREIGN KEY([idcategoria])
REFERENCES [dbo].[categoria] ([codcategoria])
GO
ALTER TABLE [dbo].[producto] CHECK CONSTRAINT [FK_producto_categoria1]
GO
ALTER TABLE [dbo].[producto] WITH CHECK ADD CONSTRAINT
[FK_producto_unidad_medida1] FOREIGN KEY([idunidadmedida])
REFERENCES [dbo].[unidad_medida] ([codunidadmedida])
GO
ALTER TABLE [dbo].[producto] CHECK CONSTRAINT [FK_producto_unidad_medida1]
GO

pg. 94

ALTER TABLE [dbo].[venta_contado] WITH CHECK ADD CONSTRAINT


[FK_venta_contado_cliente1] FOREIGN KEY([idcliente])
REFERENCES [dbo].[cliente] ([codcliente])
GO
ALTER TABLE [dbo].[venta_contado] CHECK CONSTRAINT [FK_venta_contado_cliente1]
GO
ALTER TABLE [dbo].[venta_contado] WITH CHECK ADD CONSTRAINT
[FK_venta_contado_empleado1] FOREIGN KEY([iddni])
REFERENCES [dbo].[empleado] ([dni])
GO
ALTER TABLE [dbo].[venta_contado] CHECK CONSTRAINT [FK_venta_contado_empleado1]
GO
ALTER TABLE [dbo].[venta_credito] WITH CHECK ADD CONSTRAINT
[FK_venta_credito_interes] FOREIGN KEY([idinteres])
REFERENCES [dbo].[interes] ([codinteres])
GO
ALTER TABLE [dbo].[venta_credito] CHECK CONSTRAINT [FK_venta_credito_interes]
GO
ALTER TABLE [dbo].[venta_credito] WITH CHECK ADD CONSTRAINT
[FK_venta_credito_medios_pago] FOREIGN KEY([idmediopago])
REFERENCES [dbo].[medios_pago] ([codmediopago])
GO
ALTER TABLE [dbo].[venta_credito] CHECK CONSTRAINT [FK_venta_credito_medios_pago]
GO
ALTER TABLE [dbo].[empleado] WITH CHECK ADD CONSTRAINT [chk_codigo_empleado]
CHECK (([dni] like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'))
GO
ALTER TABLE [dbo].[empleado] CHECK CONSTRAINT [chk_codigo_empleado]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[62] 4[5] 2[15] 3) )"
End
Begin PaneConfiguration = 1
NumPanes = 3
Configuration = "(H (1 [50] 4 [25] 3))"
End
Begin PaneConfiguration = 2
NumPanes = 3
Configuration = "(H (1 [50] 2 [25] 3))"
End
Begin PaneConfiguration = 3
NumPanes = 3
Configuration = "(H (4 [30] 2 [40] 3))"
End
Begin PaneConfiguration = 4
NumPanes = 2
Configuration = "(H (1 [56] 3))"
End
Begin PaneConfiguration = 5
NumPanes = 2
Configuration = "(H (2 [66] 3))"
End
Begin PaneConfiguration = 6
NumPanes = 2
Configuration = "(H (4 [50] 3))"
End
Begin PaneConfiguration = 7
NumPanes = 1
Configuration = "(V (3))"

pg. 95

End
Begin PaneConfiguration = 8
NumPanes = 3
Configuration = "(H (1[56] 4[18] 2) )"
End
Begin PaneConfiguration = 9
NumPanes = 2
Configuration = "(H (1 [75] 4))"
End
Begin PaneConfiguration = 10
NumPanes = 2
Configuration = "(H (1[66] 2) )"
End
Begin PaneConfiguration = 11
NumPanes = 2
Configuration = "(H (4 [60] 2))"
End
Begin PaneConfiguration = 12
NumPanes = 1
Configuration = "(H (1) )"
End
Begin PaneConfiguration = 13
NumPanes = 1
Configuration = "(V (4))"
End
Begin PaneConfiguration = 14
NumPanes = 1
Configuration = "(V (2))"
End
ActivePaneConfig = 0
End
Begin DiagramPane =
Begin Origin =
Top = 0
Left = 0
End
Begin Tables =
Begin Table = "tipo"
Begin Extent =
Top = 6
Left = 38
Bottom = 133
Right = 208
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "cliente"
Begin Extent =
Top = 6
Left = 246
Bottom = 296
Right = 441
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End

pg. 96

End
Begin CriteriaPane =
Begin ColumnWidths = 11
Column = 1440
Alias = 900
Table = 1170
Output = 720
Append = 1400
NewValue = 1170
SortType = 1350
SortOrder = 1410
GroupBy = 1350
Filter = 1350
Or = 1350
Or = 1350
Or = 1350
End
End
End
' , @level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'VIEW',@level1name=N'CLIENTE_V'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 ,
@level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'VIEW',@level1name=N'CLIENTE_V'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[41] 4[21] 2[8] 3) )"
End
Begin PaneConfiguration = 1
NumPanes = 3
Configuration = "(H (1 [50] 4 [25] 3))"
End
Begin PaneConfiguration = 2
NumPanes = 3
Configuration = "(H (1 [50] 2 [25] 3))"
End
Begin PaneConfiguration = 3
NumPanes = 3
Configuration = "(H (4 [30] 2 [40] 3))"
End
Begin PaneConfiguration = 4
NumPanes = 2
Configuration = "(H (1 [56] 3))"
End
Begin PaneConfiguration = 5
NumPanes = 2
Configuration = "(H (2 [66] 3))"
End
Begin PaneConfiguration = 6
NumPanes = 2
Configuration = "(H (4 [50] 3))"
End
Begin PaneConfiguration = 7
NumPanes = 1
Configuration = "(V (3))"
End
Begin PaneConfiguration = 8
NumPanes = 3

pg. 97

Configuration = "(H (1[56] 4[18] 2) )"


End
Begin PaneConfiguration = 9
NumPanes = 2
Configuration = "(H (1 [75] 4))"
End
Begin PaneConfiguration = 10
NumPanes = 2
Configuration = "(H (1[66] 2) )"
End
Begin PaneConfiguration = 11
NumPanes = 2
Configuration = "(H (4 [60] 2))"
End
Begin PaneConfiguration = 12
NumPanes = 1
Configuration = "(H (1) )"
End
Begin PaneConfiguration = 13
NumPanes = 1
Configuration = "(V (4))"
End
Begin PaneConfiguration = 14
NumPanes = 1
Configuration = "(V (2))"
End
ActivePaneConfig = 0
End
Begin DiagramPane =
Begin Origin =
Top = 0
Left = 0
End
Begin Tables =
Begin Table = "producto"
Begin Extent =
Top = 6
Left = 38
Bottom = 205
Right = 222
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "categoria"
Begin Extent =
Top = 6
Left = 260
Bottom = 102
Right = 430
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "unidad_medida"
Begin Extent =
Top = 6
Left = 676
Bottom = 102
Right = 862
End
DisplayFlags = 280
TopColumn = 0
End

pg. 98

End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 11
Width = 284
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 11
Column = 1440
Alias = 900
Table = 1170
Output = 720
Append = 1400
NewValue = 1170
SortType = 1350
SortOrder = 1410
GroupBy = 1350
Filter = 1350
Or = 1350
Or = 1350
Or = 1350
End
End
End
' , @level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'VIEW',@level1name=N'Productos_V'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 ,
@level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'VIEW',@level1name=N'Productos_V'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[40] 4[20] 2[20] 3) )"
End
Begin PaneConfiguration = 1
NumPanes = 3
Configuration = "(H (1 [50] 4 [25] 3))"
End
Begin PaneConfiguration = 2
NumPanes = 3
Configuration = "(H (1 [50] 2 [25] 3))"
End
Begin PaneConfiguration = 3
NumPanes = 3

pg. 99

Configuration = "(H (4 [30] 2 [40] 3))"


End
Begin PaneConfiguration = 4
NumPanes = 2
Configuration = "(H (1 [56] 3))"
End
Begin PaneConfiguration = 5
NumPanes = 2
Configuration = "(H (2 [66] 3))"
End
Begin PaneConfiguration = 6
NumPanes = 2
Configuration = "(H (4 [50] 3))"
End
Begin PaneConfiguration = 7
NumPanes = 1
Configuration = "(V (3))"
End
Begin PaneConfiguration = 8
NumPanes = 3
Configuration = "(H (1[56] 4[18] 2) )"
End
Begin PaneConfiguration = 9
NumPanes = 2
Configuration = "(H (1 [75] 4))"
End
Begin PaneConfiguration = 10
NumPanes = 2
Configuration = "(H (1[66] 2) )"
End
Begin PaneConfiguration = 11
NumPanes = 2
Configuration = "(H (4 [60] 2))"
End
Begin PaneConfiguration = 12
NumPanes = 1
Configuration = "(H (1) )"
End
Begin PaneConfiguration = 13
NumPanes = 1
Configuration = "(V (4))"
End
Begin PaneConfiguration = 14
NumPanes = 1
Configuration = "(V (2))"
End
ActivePaneConfig = 0
End
Begin DiagramPane =
Begin Origin =
Top = 0
Left = 0
End
Begin Tables =
Begin Table = "producto_1"
Begin Extent =
Top = 6
Left = 38
Bottom = 211
Right = 222
End
DisplayFlags = 280
TopColumn = 0
End

pg. 100

Begin Table = "unidad_medida"


Begin Extent =
Top = 6
Left = 260
Bottom = 102
Right = 446
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "categoria"
Begin Extent =
Top = 6
Left = 484
Bottom = 102
Right = 654
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 11
Column = 1440
Alias = 900
Table = 1170
Output = 720
Append = 1400
NewValue = 1170
SortType = 1350
SortOrder = 1410
GroupBy = 1350
Filter = 1350
Or = 1350
Or = 1350
Or = 1350
End
End
End
' , @level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'VIEW',@level1name=N'View_1'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 ,
@level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'VIEW',@level1name=N'View_1'
GO

pg. 101

EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0B466-11cf-A24F-00AA00A3EFFF, 1.00]


Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[40] 4[20] 2[20] 3) )"
End
Begin PaneConfiguration = 1
NumPanes = 3
Configuration = "(H (1 [50] 4 [25] 3))"
End
Begin PaneConfiguration = 2
NumPanes = 3
Configuration = "(H (1 [50] 2 [25] 3))"
End
Begin PaneConfiguration = 3
NumPanes = 3
Configuration = "(H (4 [30] 2 [40] 3))"
End
Begin PaneConfiguration = 4
NumPanes = 2
Configuration = "(H (1 [56] 3))"
End
Begin PaneConfiguration = 5
NumPanes = 2
Configuration = "(H (2 [66] 3))"
End
Begin PaneConfiguration = 6
NumPanes = 2
Configuration = "(H (4 [50] 3))"
End
Begin PaneConfiguration = 7
NumPanes = 1
Configuration = "(V (3))"
End
Begin PaneConfiguration = 8
NumPanes = 3
Configuration = "(H (1[56] 4[18] 2) )"
End
Begin PaneConfiguration = 9
NumPanes = 2
Configuration = "(H (1 [75] 4))"
End
Begin PaneConfiguration = 10
NumPanes = 2
Configuration = "(H (1[66] 2) )"
End
Begin PaneConfiguration = 11
NumPanes = 2
Configuration = "(H (4 [60] 2))"
End
Begin PaneConfiguration = 12
NumPanes = 1
Configuration = "(H (1) )"
End
Begin PaneConfiguration = 13
NumPanes = 1
Configuration = "(V (4))"
End
Begin PaneConfiguration = 14
NumPanes = 1
Configuration = "(V (2))"
End

pg. 102

ActivePaneConfig = 0
End
Begin DiagramPane =
Begin Origin =
Top = 0
Left = 0
End
Begin Tables =
Begin Table = "producto"
Begin Extent =
Top = 6
Left = 38
Bottom = 188
Right = 222
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "venta_contado"
Begin Extent =
Top = 6
Left = 260
Bottom = 192
Right = 430
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "detalle_contado"
Begin Extent =
Top = 6
Left = 468
Bottom = 201
Right = 638
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "cliente"
Begin Extent =
Top = 6
Left = 676
Bottom = 136
Right = 871
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 10
Width = 284
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500

pg. 103

Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 11
Column = 1440
Alias = 900
Table = 1170
Output = 720
Append = 1400
NewValue = 1170
SortType = 1350
SortOrder = 1410
GroupBy = 1350
Filter = 1350
Or = 1350
Or = 135' , @level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'VIEW',@level1name=N'View_2'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane2', @value=N'0
Or = 1350
End
End
End
' , @level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'VIEW',@level1name=N'View_2'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=2 ,
@level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'VIEW',@level1name=N'View_2'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[67] 4[5] 2[3] 3) )"
End
Begin PaneConfiguration = 1
NumPanes = 3
Configuration = "(H (1 [50] 4 [25] 3))"
End
Begin PaneConfiguration = 2
NumPanes = 3
Configuration = "(H (1 [50] 2 [25] 3))"
End
Begin PaneConfiguration = 3
NumPanes = 3
Configuration = "(H (4 [30] 2 [40] 3))"
End
Begin PaneConfiguration = 4
NumPanes = 2
Configuration = "(H (1 [56] 3))"
End
Begin PaneConfiguration = 5
NumPanes = 2
Configuration = "(H (2 [66] 3))"
End
Begin PaneConfiguration = 6
NumPanes = 2
Configuration = "(H (4 [50] 3))"
End

pg. 104

Begin PaneConfiguration = 7
NumPanes = 1
Configuration = "(V (3))"
End
Begin PaneConfiguration = 8
NumPanes = 3
Configuration = "(H (1[56] 4[18] 2) )"
End
Begin PaneConfiguration = 9
NumPanes = 2
Configuration = "(H (1 [75] 4))"
End
Begin PaneConfiguration = 10
NumPanes = 2
Configuration = "(H (1[66] 2) )"
End
Begin PaneConfiguration = 11
NumPanes = 2
Configuration = "(H (4 [60] 2))"
End
Begin PaneConfiguration = 12
NumPanes = 1
Configuration = "(H (1) )"
End
Begin PaneConfiguration = 13
NumPanes = 1
Configuration = "(V (4))"
End
Begin PaneConfiguration = 14
NumPanes = 1
Configuration = "(V (2))"
End
ActivePaneConfig = 0
End
Begin DiagramPane =
Begin Origin =
Top = 0
Left = 0
End
Begin Tables =
Begin Table = "cliente_1"
Begin Extent =
Top = 6
Left = 38
Bottom = 136
Right = 233
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "detalle_credito"
Begin Extent =
Top = 6
Left = 271
Bottom = 227
Right = 441
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "venta_credito"
Begin Extent =
Top = 6
Left = 479

pg. 105

Bottom = 271
Right = 649
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "producto"
Begin Extent =
Top = 6
Left = 687
Bottom = 195
Right = 871
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 11
Column = 1440
Alias = 900
Table = 1170
Output = 720
Append = 1400
NewValue = 1170
SortType = 1350
SortOrder = 1410
GroupBy = 1350
Filter = 1350
Or = 1350
Or = 1350
Or = 1350
' , @level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'VIEW',@level1name=N'View_3'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane2', @value=N'
End
End
End
' , @level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'VIEW',@level1name=N'View_3'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=2 ,
@level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'VIEW',@level1name=N'View_3'
GO
USE [master]

pg. 106

GO
ALTER DATABASE [BDferreteria] SET
GO

READ_WRITE

pg. 107

También podría gustarte