![]() |
![]() |
| 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
|
||||
|
||||
|
????
Cita:
No sería mejor que me aconsejarás como puedo evitar que cuando se guarda una Factura otro usuario no tome el mismo folio ???? De los 2 años que tengo usando bloqueos pesimistas esta es la primer vez en que me he visto con problemas, espero no hayan otros más con motivo de los bloqueos pesimistas. |
|
#2
|
||||
|
||||
|
Hay una Esperanza
Encontre algo en el archivo Firebird.conf, hay un parámetro que se llama DeadLockTimeOut donde se le añade el tiempo en segundos de un bloqueo muerto, puediera ayudarme, voy a realizar pruebas.
![]() |
|
#3
|
|||
|
|||
|
Dices que tu factura ya vienen con el folio de echo aqui se manejan igual, pero para que una tabla para guardar los folios, yo lo que hago es usar un id auntoinc para el identificador, un id_folio para las notas foliadas y seriarlas segun se ocupen en cada caja y un campo referencia en el cual se almacena el folio de factura en caso de que se emita una por esa venta, como no se que folio pudiera llegar a ocupar en determinado momento pues simplemente a la hora de facturar el usuario escribira el folio de la factura y lo guarda de esta forma no tengo que bloquear nada, bueno no soy un experto es esto de la facturacion y tal ves este mal pero asi es como vi que funcionaria mejor y no creo que al usuario le de un ataque por escribir unos numeros.
Saludos. |
|
#4
|
|||
|
|||
|
Yo estoy trabajando en un sistema de inventarios, donde los números consecutivos los genera la aplicación, basándome en una tabla de control. Cuando más de un cliente trata de guardar un registro nuevo, primero verifico si el número que voy a usar no está ya usado, si es así, obtengo un número nuevo y lo uso. Todo esto con un Trigger Before Insert de la tabla.
Ahora, desde la aplicación, al momento de guardar el registro lo hago mediante un repeat..until de esta forma:
El código no es exactamente el mismo, pero con esto resolví el problema de los DeadLock... Espero te sirva... Saludos... |
|
#5
|
||||
|
||||
|
Cita:
__________________
"Hemos aprendido a volar como los Pájaros, y a nadar como los Peces, y todavía No aprendemos a vivir como Hermanos". Martin Luther King |
|
#6
|
|||
|
|||
|
Bueno, si hay un TransactionStart y un Commit o Rollback en caso de otro tipo de error, pero como este código es para guardar uno o más registros en sucesión, estos van afuera del código que puse...
Saludos... |
|
#7
|
||||
|
||||
|
No entendí esto
![]() Cita:
Que componentes usas????
__________________
"Hemos aprendido a volar como los Pájaros, y a nadar como los Peces, y todavía No aprendemos a vivir como Hermanos". Martin Luther King |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como darle información a mi base de Datos | servicomp | Firebird e Interbase | 3 | 01-08-2006 18:56:22 |
| como darle nuevos aspectos a un trackbar de delphi | rls | Varios | 2 | 16-11-2005 21:26:31 |
| Como darle color a un TListColumn? | abracadabra | OOP | 4 | 15-07-2005 17:01:40 |
| Tips: Como darle velocidad al IDE en D8 | mamcx | .NET | 0 | 30-09-2004 18:09:45 |
| Darle Vida a una IbQuery | Rabata | Conexión con bases de datos | 6 | 16-09-2003 18:48:23 |
|