Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Duda con Punto de Venta (https://www.clubdelphi.com/foros/showthread.php?t=80072)

LuisAlf:: 02-09-2012 03:16:19

Duda con Punto de Venta
 
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.


La franja horaria es GMT +2. Ahora son las 10:27:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi