Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Transacciones en punto de venta Ayuda !!! (https://www.clubdelphi.com/foros/showthread.php?t=21591)

lroblesco 22-05-2005 07:03:42

Transacciones en punto de venta Ayuda !!!
 
Un saludo a todos los foristas.

Saben tengo una duda sobre las el proceso de transacciones que llevo a cabo en un sistema de punto de venta.

Bueno va mas o menos asi:
para vender un articulo, primeramente checo la existencia, ya que un articulo esta constituido de varios sub-articulos que tienen una existencia en un stock. Como decia checo esta existencia y la descuento en la cantidad que quiero vender. Y pongo la informacion de la venta en un Listview, este proceso se repite pues para el numero de articulos que se compren.

Para llevar a cabo la venta recorro el Listview y voy ejecutando una sentencia de SQL, para cada linea del listview, para llenar una tabla de ventas.

Mi pregunta es, que sera mejor en terminos de rendimiento hacerlo como lo hago o trabajar directamente sobre la tabla de ventas, es decir, cada que agregue una linea a la lista que se agregue automaticamente a la tabla de ventas.

Trabajo en Delphi 6 y MS Access xp

Casimiro Notevi 22-05-2005 11:47:09

Ambos métodos tienen sus ventajas e inconvenientes. De la forma en que lo estás haciendo tiene la ventaja de que como está todo en memoria, puedes cancelar el proceso tranquilamente sin tener que deshacer nada. Aunque yo usaría una tabla en memoria.
También tienes la desventaja de que si vendes 5 unidades del artículo A1 y quedan en stock 10 unidades, si luego vas a vender 8 unidades más del artículo A1 te seguirá quedando 10 unidades, porque no has actualizado datos de las tablas. Todo depende de las necesidades de cada uno, si en tu caso no se repiten los artículos en la misma venta no tendrías este inconveniente.

Lepe 23-05-2005 10:56:39

El TClientDataset, está pensado para hacer ese tipo de cosas. Puedes realizar todas las operaciones (como si accedieras a las tablas), pero en realidad, los cambios se hacen en cache, y solo actualiza las tablas cuando ejecutas el método ApplyUpdates. De esta forma evitas el fallo de stocks comentado por Casimiro.


Un saludo


La franja horaria es GMT +2. Ahora son las 08:28:11.

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