![]() |
![]() |
| 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:
Tendrías que incrementar el nivel de aislamiento de la transacción involucrada (con un Isolation Level de Serializable no se podrían duplicar los valores del contador), o bien usar generadores, que en mi opinión es la opción recomendable en Firebird. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). Última edición por guillotmarc fecha: 27-06-2011 a las 17:38:53. |
|
#2
|
||||
|
||||
|
Otra opción, aunque algo "chapuzera", es grabar el número, si da error porque ya existe, incrementarlo y grabar de nuevo, y así en un bucle hasta que llegue a uno que no exista.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
||||
|
||||
|
Gracias Marc:
Uso contador en vez de Generador porque en algunos casos se puede eliminar una factura y volver el contador atrás, volver a hacer otra en su lugar y restaurar el contador por donde iba. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#4
|
||||
|
||||
|
Cita:
Saludos, Chris |
|
#5
|
||||
|
||||
|
Por otro lado, has probado a utilizar un procedimiento almacenado del tipo BEFORE INSERT?
|
|
#6
|
|||
|
|||
|
Hola...
Tal vez no tenga efecto, pero, intenta usando el método Commit en lugar de CommitRetaining... Saludos... |
|
#7
|
||||
|
||||
|
Cita:
Usuario 2: hace fra. 11 Usuario 1: elimina fra. 10 ¿qué número pones en el contador?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#8
|
||||
|
||||
|
Son casos especiales y en este caso se avisa a los otros 5 usuarios que no hagan factura, "porque se va a hacer una chapucilla", se pone el contador una antes de la que se quiere hacer, se hace la factura se vuelve el contador igual a la última factura y arreglado.
Hay veces en que una factura de albaranes se deshace porque el cliente pide que se le quite un albarán o se le cambie un precio, en este caso también se pone el contador donde corresponda para poder volver a hacer la factura con el mismo número que tenía........ Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#9
|
||||
|
||||
|
En cuanto a usar Commit, no me sirve porque me cierra todas las tablas implicadas.
Hay que tener en cuenta que uso una tabla temporal para la cabecera y otra para el detalle y cuando se pulsa el botón grabar es cuando se transfiere todo a la tabla facturas y LineasdeFactura y acto seguido sin preguntar imprime la factura, al cerrarse las tablas este proceso se perdería. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#10
|
||||
|
||||
|
Hola Marcos.
Cita:
Puedes poner un incremento de -1 para bajar el generador un número, o bien, si quieres asignar un nº concreto al generador puedes usar ALTER SEQUENCE nombre_generador RESTART WITH <valor> Así pues los problemas con contadores y generadores, son los mismos : que te deshagan una factura cuando ya han generado nuevas facturas posteriores. En todo caso, si prefieres seguir usando contadores, entonces utiliza una segunda transacción para asignar/recuperar el nº del contador. De esta forma podrás realizar el Commit inmediatamente y será visible para el resto de equipos. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#11
|
||||
|
||||
|
Gracias Marc, lo de la segunda transación es algo que venía pensando y creo que al final voy a optar por esta opción. Ya comentaré. Aunque me interesa seguir viendo otras aportaciones.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#12
|
||||
|
||||
|
De momento y a falta de más pruebas creo que la segunda transacion que la he ligado únicamente al IbDataset de Contadores parece que me ha resuelto el problema.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Contador PHP | Deiv | HTML, Javascript y otros | 19 | 25-02-2008 15:15:38 |
| Mostrar un Contador | Deiv | HTML, Javascript y otros | 7 | 09-07-2007 04:04:34 |
| Contador De Impresiones | codigit | Windows | 0 | 27-11-2004 21:41:46 |
| Contador en impresion | Pablo Carlos | Impresión | 2 | 18-09-2004 19:07:16 |
| Problemas con un contador. | UTECYBER | OOP | 11 | 02-06-2004 05:49:24 |
|