Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SYS VENTAS
14/09/2017
Sistema de Ventas con Visual Studio 2013 y SQL 2012
Conexión.vb
Fproducto.vb
Fcliente.vb
Fventa.vb
Clases y Fdetalleventa.vb
funciones Fcategoria.vb
Fusuario.vb
frmInicio.vb Reporteproductos.vb
frmLogin.vb Reportecliente.vb
frmproducto.vb Reporteventa.vb
frmcliente.vb Reportecomprobante.vb
frmventa.vb Reportecategoria.vb
frmdetalleventa.vb
frmcategoria.vb
frmusuario.vb
frmvistacategoria.vb
frmvistaproducto.vb
Crear el proyecto SysVentas
- Obtener la cadena de conexión para poderme conectar a la base de datos que se encuentra en SQL
Server 2012.
o Vamos a crear una nueva clase dentro de la carpeta datos
Vamos a desarrollar el formulario frmCliente, modifique las siguientes propiedades del formulario:
- 2 Group Box
o Font: Negrita
o ForeColor: SteelBlue
Vamos a trabajar en el formulario frmCliente, con los botones insertar y editar. Como estos botones van a
enviar, recibir y editar datos vamos a crear una clase en la carpeta lógica pera un mejor control. La clase se
va a llamar “vClientes”.
A continuación, precedemos a realizar nuestros procedimientos almacenados en la base de datos.
Video 5
Dentro de nuestra carpeta datos vamos a abrir la función llamada “fCliente”, vamos a crear una función para
enviar datos desde un formulario a SQL Server.
Nos ubicamos debajo de nuestra función mostrar:
Ahora vamos a agregar un control “error provider” al formulario frmClientes, se debe cambiar la propiedad
name: erroricono. Este control nos va a mostrar un error si dejamos una caja de texto vacía en el formulario.
Ahora se va a programar el botón Guardar, debido a que no lo tenemos lo vamos a crear y cambiamos la
propiedad Text y name. El botón se va a poner encima del botón editar de manera que cuando hagamos click
en un registro se habilite el botón editar y cuando demos clic en nuevo se habilite el botón guardar.
Vamos a crear un procedimiento llamado Limpiar. Lo vamos a crear debajo del load del formulario.
Vamos a estar trabajando en el botón editar. Este botón va a funcionar de la siguiente manera; haremos clic
en los registros que se encuentran el datagrid y nuestro botón Editar se va a habilitar, además los datos
serán cargados en la caja de texto y podremos modificarlos para mandar los cambios y que estos sean
cambiados en la base de datos.
Ahora vamos a programar para que cada vez que seleccionemos un registro en nuestro datagrid,
estos se carguen en nuestras caja de texto. Se debe dar clic sobre el datagrid y buscar el evento
cellclick.
Seguidamente nos vamos a dirigir a la capa datos y dentro de nuestra clase “fcliente”, vamos a
crear un procedimiento.
Video 7
En esta sección lo que vamos a programar es el botón eliminar, para ello lo primero que debemos hacer es
crear nuestro procedimiento almacenado en la base de datos.
27/09/2019
Ahora procedemos a codificar el formulario. Vamos a hacerlo de forma que me permita eliminar
varios registros. Para ello vamos a agregar un checkbox a nuestro formulario:
o Text: Eliminar
o Name: cbEliminar
Además, mi datalistado(datagrid) debe tener una columna donde pueda marcar varios registros a
eliminar. Dicha columna se había agregado anteriormente
Programamos el checkbox cbEliminar
Configurar la propiedad dataListado_CellContentClick del datalistato, donde voy a buscar que los
checkbox sean mostrados
- En nuestra base de datos tenemos que para poder registrar un producto y poder realizar la ventas
necesariamente tenemos que tener registradas las categorías ya que los productos son ordenados por
categorías, ahora la llave primaria de la tabla categoría, aparece como llave foránea en la tabla
productos, necesariamente necesitamos categorías para poder registrar productos.
- Vamos a hacer el mantenimiento de la tabla categoría de una manera rápida mediante la reutilización de
código.
- Debemos afectar la capa de datos directamente en la base de datos, para ello vamos a crear nuestros
procedimientos almacenados en la BD.
use sysventas
- Ahora vamos a trabajar en nuestra capa grafica del visual studio, y empiezo a crear todos los métodos
getters y setter para mi tabla categoria. Vamos a crear dentro de la capa lógica una clase que
llamaremos “vcategoria”
- Ahora dentro de la capa datos vamos a crear una clase con todas las funciones que me permitan
comunicarme con SQL Server para poder insertar, modificar, eliminar datos. La clase la llamaremos
“fcategoria”
Creación del formulario: Vamos a crear un formulario en nuestra capa
presentación llamado “frmcategoria”
Propiedades
- Text: Listado Categoria
- BackColor: White
Vamos a seleccionar toda la interfaz gráfica del formulario frmcliente (Ctrl + A) y (Ctrl + V) para pegarlo
Procedemos a programar la parte lógica del formulario frmcategoria (se puede reutilizar código del
frmcliente)
Debemos continuar editando el guardar 04/10/2019
Video 9 – Mantenimiento del catálogo de productos
Recordemos que la tabla productos esta ordenada mediante categorías quiere decir que
necesariamente para poder registrar un producto tiene que haber ya categorías asignadas y
registradas en la base de datos.
Vamos a hacer mantenimiento de la tabla productos, de la primary key y la foreing key, sus otros
campos, además agregaremos un campo llamado imagen. De esta forma podremos realizar las
ventas.
Estos artículos se detallan en una tabla llamada “detalle_venta”
La tabla producto está relacionada con categoría, entonces en el momento que ordene un
producto no voy ocupar mostrar la llave de la categoría sino su nombre, para ello vamos a
utilizar una instrucción llamada INNER JOIN para poder unir las tablas.
Realizo un update en la tabla producto y las variables creadas son las que va a tomar
3 como valores desde la capa grafica del visual studio.
Finalmente aplico el filtro con la sentencia where idproducto debe ser igual al
@idproducto que estoy recibiendo.
4
En el visual studio, voy a crear los métodos setter y getters dentro de la capa lógica. Por ello dentro de la capa
lógica voy a crear una clase llamada vproducto.
Ahora vamos a hacer todas las funciones que me permitan comunicarme con mi capa datos. Dentro de la
capa datos vamos a crear una clase llamada “fproducto”
Video 10: Desarrollar el formulario Productos
Name: btnbuscar_categoria
Text: …
Se cargará imagen
que yo seleccione
En el evento load agregamos lo siguiente:
Vamos a programar las imágenes que van a funcionar como botones, primero vamos con la imagen
btnCargar:
Lo que seleccione en el datalistado se me va a cargar en los textbox, pero debo enumerarlos de acuerdo al
orden que tenemos en el procedimiento almacenado.
En el formulario frmCategoria voy a agregar un textbox y en su propiedad name le voy asignar: txtflag y en
su propiedad Text: 0
Es ventas
- Ahora vamos a crear una vista, ya que nuestra tabla venta está relacionada con la tabla clientes.
String
Ahora vamos a afectar nuestra capa lógica haremos lo mismo pero para detalle_venta.
Dentro de la capa datos vamos a crear dos clases: fventa (copiamos todo el contenido de la clase fcliente)
Vamos a crear nuestra segunda clase llamada fdetalle_venta (podemos copiar la clase fcliente para
modificarla)
Video 12:
Lo primero que haremos antes de empezar a trabajar en la capa grafica es modificar algunos procedimientos
almacenados:
- Procedimiento mostrar_venta
Como la tabla venta está relacionada con la tabla detalle_venta, la tabla detalle_venta va depender de esta
tabla venta. Por lo tanto, primero debemos eliminar el detalle_venta para poder eliminar la venta. Por esta
razón vamos a eliminar el botón Eliminar del formulario ya que está de más.
Botón Guardar: Cuando le demos clic en guardar la venta va a cargar una ventana que me va a permitir
adicionar productos a esa venta.
Vamos a agregar un nuevo formulario a la capa presentación donde va a estar todos los detalles o los ítems
de la compra. El formulario se va a llamar (frmdetalle), vamos a copiar todos los controles de frmventa.
Además, en el formulario frmcliente vamos a crear un textbox, con las siguientes propiedades:
- Name: txtflag
- Text: 0
- Visible: False
Programación Formulario frmventa:
En el evento dataListado_CellDoubleClick del datagridview de frmClientes
Nosotros podemos seleccionar cantidades pero que o sean mayores a lo que está en el stock, esto lo vamos
a programar en el evento value_changed de los controles numericupdown de frmventa_detalle.
FrmClientes evento dataListado_CellDoubleClick del datagridview
Propiedades:
Name: btnimprimir
Text: Vacio
BackgroundImage: Imagen
Title: Stretch
Agregamos un Textbox al
formulario llamado txtidventa y en
su propiedad visible lo dejamos en
false.
Evento load del reporte.
Ahora agregamos un Windows Form para que me muestre el comprobante dentro de la carpeta Reportes:
frmreporteproductos : Name
.:. Reporte Sistema Ventas .:. Text
Agregamos control ReportViwer…. (mismo pasos)