![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
¿Solamente haces ese proceso de inserción? ¿No hay modificaciones ni anulaciones?
Por otro lado, y por experiencia, te puedo decir que lo más sano es que los procesos para actualizar distintos campos a partir de inserciones, modificaciones o anulaciones en tablas de movimientos estén en triggers de la base de datos. De esa manera tendrás bastantes menos problemas. Saludos
__________________
Be water my friend. |
|
#2
|
||||
|
||||
|
Cita:
![]() Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#3
|
|||
|
|||
|
Solo por molestar un poco, de casualidad tu cliente maneja multiples puntos de venta (varios equipos con su soft atacando la misma base de datos), como gestionas esto?
Veo que en tus inserts no manejas un identificador para el punto de venta o terminal. Saludos. |
|
#4
|
||||
|
||||
|
Otra buena practica es usar logs. En cada paso importante pones algo como
Cita:
AUN mas confiable si haces el LOG *dentro* de la BD. Creas una tabla LOG y haces similar. Si haces un Log *correcto*, deberias poder reconstruir con 100% de fidelidad los datos derivando SOLO del log.
__________________
El malabarista. |
|
#5
|
||||
|
||||
|
Gracias mamcx
Tienes razón, voy a programar el log porque es un dolor de cabeza esto. |
|
#6
|
|||
|
|||
|
Ya que nos ampliaste la info sobre le problema lo único que queda son los logs y como indican los compañeros en sus comentarios, si el fallo lo tiene el cliente y tu no puedes replicarlo vuela al lugar del cliente (después de añadir logs por donde se te ocurra) y espera a ver el error.
Saludos. |
|
#7
|
||||
|
||||
|
Cita:
No puse todos los campos de la tabla en la consulta que escribí arriba a fin simplificar mi ejemplo. La tabla de Ventas tiene como llave primaria (idSucursal, idVenta) ambas de tipo entero con la que identifico en que sucursal se realizó la venta. Claro, esta misma llave esta en la tabla ventas_det la cual tiene como llave primaria (idSucursal, idVenta, idProducto) siendo el ultimo de tipo string que es una llave foranea a la tabla de productos. La tabla de Ventas también tiene una columna llamada "idVendedor" con la que identifico que vendedor hizo la venta. No llevo un control por máquina ya que los vendedores pueden abrir multiples instancias del programa en diferentes computadoras usando su mismo id de usuario y estas ventas al hacerse el corte se filtran en base al vendedor que las realizó. Para registrar la venta lo que hago es obtener el primero el siguiente folio y después genero la consulta (como la que puse arriba, mas menos productos). Si ocurre un error (que se intentaran registrar dos ventas en el mismo instante y por ende el folio de la venta que llegó posterior está repetido) el sistema manda un rollback de la transaccion que fue rechazada, actualizamos el folio e intentamos registrarla nuevamente. Estoy haciendo algo mal? quiza me pueden sugerir una mejor manera de hacer las cosas. De verdad muchas gracias por sus comentarios |
|
#8
|
||||
|
||||
|
Cita:
Aprecio mucho tu tiempo para responder y por tu consejo. Basicamente son 3 tablas. Una con el inventario de productos, una para registro de ventas y otra con el detalle de la venta. La situación es que solo hago inserts cuando se hace una venta. Cuando se hace una devolución de algun producto o la cancelación de la venta solo marco el ID de la cancelación el que guardo en una tabla de cancelaciones y reintegro el producto al inventario. No se si para estos casos es posible programar un trigger ya que se haría una modificación solo en una columna de la tabla. No soy muy experto en el tema de los triggers. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Alguién conoce una solución simple y confiable para la WebCam en Delphi ? | rolandoj | Gráficos | 8 | 27-05-2013 09:53:56 |
| Sincronizar BD MySQL Hosting con BD MySQL servidor local | ivantech | MySQL | 3 | 09-03-2010 19:01:07 |
| Componente confiable para pasar voz a texto!! | JuanErasmo | C++ Builder | 1 | 06-05-2006 01:20:13 |
| como conectarme remotamente mysql a mysql | sakuragi | MySQL | 14 | 11-11-2004 15:04:46 |
|