![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
#1
|
|||
|
|||
![]() Buenos dias amigos, despues de mucho tiempo vulevo aqui a buscar ayuda, E creado un sistema de facturación para una empresa en la qual trabajo, en lo general el sistema se porta bien solamente necesito de algunas validaciones, en especial una de ellas que los explico ahora.
En la parte de ventas tengo un DBgrid donde son insertados los productos que seran vendidos (facturados) y al realizar esse processo se descuenta el mismo producto del BD Stock (ACCESS) salvo la venta y perfectamente funciona!!. Ahora el problema es: igual si no salvo la venta al insertar el producto me descuenta del BD,si cierro el programa sin salvar me descuenta del BD, qualquie problema que venga a ocurrir con la maquina (travar-se o algo así) descuenta el producto del BD, se que es algo sencillo pero como estoy con tam poco tiempo no estoy podiendo solucionar, la idea es que no se descuente el producto del BD si la venta no esta salva. Solamente descontar la venta del Banco de Dato si la venta fue salva. Gracias amigos.... |
#2
|
||||
|
||||
Hola.
El tema de los acumulados como las existencias en las bases de datos de escritorio es peliagudo porque lo suyo es manejarlas desde los triggers de una base de datos más seria. ¿Cuando descuentas las existencias? ¿Cuando se introduce el artículo y la cantidad en el grid?
__________________
Be water my friend. |
#3
|
||||
|
||||
Recuerda poner títulos descriptivos a tus preguntas, "Facturacion" no es un título que describa el problema que quieres resolver. Gracias
![]() En cuanto a tu pregunta, es casi imposible ayudarte si no explicas mucho más lo que haces, el cómo, dónde, etc. aportas código fuente, etc.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#4
|
||||
|
||||
Cita:
(1) Transacciones; Realizar las operaciones utilizando transacciones de forma que todas las operaciones de la transacción se hacen como una única operación, o todas o ninguna. Esto tiene sentido cuando las operaciones se realizan en un corto espacio de tiempo. Creo que este no es tu caso, pues entiendo que el proceso de venta puede tardar un rato. (2) ClientDataset, MemoryDataset o similar. Significa que realizar esa "venta" en memoria, no directamente sobre la Base de Datos. Al finalizar la venta es cuando (utilizando una transacción) se realizan TODAS las operaciones de golpe en la Base de Datos; La venta en sí y los movimientos sobre el stock. Hay varios componentes que te permiten realizar algo así; El TClientDataset que viene con Delphi, las RxLib traen uno llamado MemoryTable, y algunos otros que puedes encontrar sueltos. Es posible que se pueda realizar también utilizando una tabla temporal en la misma Base de Datos, aunque la idea de funcionamiento al final siempre es la misma. Realizar las operaciones en un "lugar intermedio" y luego al aceptar la venta, grabar todo en un sólo paso. Un saludo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
facturacion en red | GOG | Conexión con bases de datos | 5 | 05-06-2008 20:21:27 |
facturacion | josi | Varios | 2 | 24-05-2008 16:47:30 |
facturacion | douglas | Conexión con bases de datos | 4 | 08-11-2007 05:55:11 |
Facturación | lolobs | Varios | 3 | 29-04-2004 18:08:41 |
facturacion | xalemdq | Tablas planas | 7 | 06-06-2003 09:45:53 |
![]() |
|