![]() |
![]() |
| 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
|
||||
|
||||
|
Una cosa más sin ánimo de molestar... bueno, un poquito
El método usando la función NuevoId, me parece que fallará más rápido que el autoincremental. La tabla debe bloquearse antes de leer el id y desbloquearse después de asignar el id. O si no, explíquenme qué sucede en la misma situación descrita por Lepe. El usuario A inserta un registro pero no hace el post. Lo mismo hace B. Ambos leen el NuevoId, que será el mismo para ambos si no han hecho el post. // Saludos |
|
#2
|
||||
|
||||
|
Yo ya he comentado algunas veces que utilizo una tabla auxiliar en donde guardo el último número de Albarán.
A los usuarios les atribuyo un número (1,2,3...) y cada usuario que empiece a crear un albarán multiplico su número por 100, el 1=100 el 2=200.... Al último albarán, le sumo este número, de tal manera que puece haber varios usuarios creando un albarán, sin confirmar y todos tendrán número distinto, este número es provisional, si lo cancelan pues cancelamos todo y no pasa nada, pero si deciden grabar, ponen la tabla contador en modo edición, si lo logran, esta queda bloqueada momentaneamente, le suman 1 al número y graban el albarán liberando la tabla contador despues de haber aumentado en uno el último número(milésimas de segundo). Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#3
|
||||
|
||||
|
Cita:
Conste que esto sólo es necesario para no dejar huecos en la secuencia, para lo cual ciertamente no sirven los autoinc, pero no porque fallen. Por cierto Marcos, muy inteligente eso de mutpilcar al usuario por cien. // Saludos |
|
#4
|
||||
|
||||
|
Si que se ha montado el pastel
![]() Simplemente se llama a mi rutina en el evento OnNewRecord, (que gracias a vtdeleon queda claro que no he compilado), despues en el BeforePost se vuelve a llamar y listo. El primero que grabe, se queda con el número que tiene en pantalla, el último usuario, verá como su númerito se actualiza, y siempre serán números correlativos. Si se quiere más seguridad, en el OnNewRecord no se hace nada, su dbedit de solo lectura se quedará en blanco, y en el BeforePost se llama a la rutina. De esta forma, únicamente al grabar se verá el número que le corresponde. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#5
|
||||
|
||||
|
Cita:
// Saludos |
|
#6
|
||||
|
||||
|
Tampoco interesa que haya dos albaranes con el mismo número aunque sea sin grabar, ya que en el momento que crees dos líneas de albarán(detalle) se hace un "post" automático y estas líneas pudieran quedar asociadas a otras 2 que está grabando otro usuario con el mismo número.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#7
|
||||
|
||||
|
Lo comentado por roman es cierto.
Lo comentado por Marcos, bueno, en mi caso no hay lineas de albaran. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|