PDA

Ver la Versión Completa : Duda con Punto de Venta


LuisAlf::
02-09-2012, 03:16:19
Hola amigos!

Vengo con ustedes para exponerles una duda que surgió con el Sistema de Punto de Venta que estoy desarrollando...

Para empezar... tengo una relación de tablas VENTAS-------*DETALLEVENTAS*-------PRODUCTOS

La lógica es que cada vez que se genere una "venta" generar tantos "detallesdeventa" por cada uno de los productos(cantidad) que el cliente pretenda comprar...

Pero mi duda es en que momento generar un registro venta... lo mas facil es crear un boton que el empleado presione cada vez que va a hacer una nueva venta.... pero quiero saber si existe un mejor método más transparente al usuario.....

Les agradezco de antemano su tiempo...

champy
02-09-2012, 09:33:35
Tengo hecho un TPV muy completo que fué pensado para caja registradora de supermercado. Te puedo exponer los pasos que realiza por si te sirve como referencia, pero la idea base es no escribir nada en la BD hasta el último momento porque no sabes cuando el cliente puede irse corriendo a buscar un bote de tomate que se olvidó y nunca más volverlo a ver.

1º El cliente llega con los artículos
Se van pasando por caja EAN / Busqueda manual y almaceno toda la información en un TStringGrid, Codigo de Artículo, cantidad, tipo de IVA, PVP unitario... Si un artículo se repite, lo busco en el StringGrid e incremento su cantidad. Pero de momento no escribo nada en la BD.

2º cuando todos los artículos han pasado, hay un botón TOTAL donde el sistema exige que le indique la forma en que se realizará el pago "Efectivo" - "A credito" - "30/60/90" etc. Si el cliente tiene algún tipo de descuento u uferta, es el momento de aplicarlo.

3º Una vez conocidos los artículos a vender y la forma en que se va a pagar, se puede dar la venta por cerrada y puedo proceder a escribir la BD.

-Cabecera del Documento
-Detalles de la venta
-Documentos de pago
-Deducir el STOCK
-Si es un pago a credito, acumulo la deauda al cliente
-Imprimo el Ticket / Factura
-Genero los asientos contables de la venta (En tu caso esto no es necesario)
-Limpio los controles como el TStringGrid

y todo listo para recibir a un nuevo cliente

LuisAlf::
06-09-2012, 06:54:50
Hola Champy!

Gracias por tus consejos...

En cuanto a no escribir nada en la base de datos, es buena idea...
En realidad yo si escribo registros "detalles de venta" pero tengo la posibilidad de poderlos borrar si hay una "fuga" haha

La cuestión es que hasta que se cierra la venta es cuando se descuenta los productos "vendidos" del inventario.

Sobre el generar un registro venta (transparente al usuario), lo solucione validando si el último registro venta esta "cerrado" por medio del campo "total", el cual me indica que esa venta esta finalizada y entonces procedemos a crear un nuevo registro venta.

Este procedimiento lo llevo a cabo al concluir una venta o cada vez que habro el modulo de ventas.