Cita:
Empezado por marcoszorrilla
El contador es un campo guardado en la tabla contadores, el problema es que apesar de haber hecho un "post" despues de sumarle uno los otros equipos de la red no lo ven.
La prueba consiste en hacer dos facturas a la vez y a la hora de grabar grabo una antes que otra, la segunda no lee el incremento sobre la tabla.
He probado a que antes de leer cierre el IbDatset y lo vuelva a abrir, pero nada.
Un Saludo.
|
Solo te leerá el valor incrementado cuando abras una transacción nueva. Por lo tanto, para usar el contador tendrías que iniciar la transacción, incrementar el contador y cerrar la transacción, todo en el menor tiempo posible. Y aún así no vas a evitar que ocasionalmente varios puntos ejecuten simultáneamente el mismo proceso (y obtengan el mismo valor para el contador).
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.