Asi es como dices estamos asumiendo que estamos haciendo el programa nosotros, jejeje y no deberiamos.. pero nada mas te explico mi idea va
Antes de tu estado actual falta el prender las cajas
- Prendes Caja1 crea generador GCaja1
- Prendes Caja2 crea generador GCaja2
- Prendes Caja3 crea generador GCaja3
Estado Actual:
- Caja1: Esperando cliente
- Caja2: Esperando cliente
- Caja3: Cajero en tiempo de comida
Secuencia de sucesos:
- caja1 Inicio de transaccion (factura 10) Supongo que en este momento se reiniciaria el generador, ingresa 3 lineas (10,1), (10,2), y (10,3) (tomando los numeros del Generador GCaja1)
- caja2 Inicio de transaccion (factura 11) (Se reinicia el generador, aqui no se reinicia el generado) ingresa 1 linea (11,1) (Tomando los numeros del Generador GCaja2)
- caja1 ingresa otra línea (: error: clave duplicada! (10,2) aqui no hay error ya que meteria) (10,4) (del generador GCaja1)
- caja2 Ingresa otra línea (11,2) (warning: queda un agujero en el contador tampoco ˇˇˇhay warningˇˇ)
Esto dependiendo del tipo de aplicación real, puede o no tener importancia.
Ahora lo que pones a continuacion, asi como tu dices y como yo digo lo que debemos hacer es saber cual es el ultimo numero de item que metio.
Caja 3 Regresa de comer, y le piden que agregue un item a la factura 3, que ya tenia grabados 75 items...
Entonces ahi seguimos usando la potencia de los procedimientos almacenados, (de todos modos hay que consultar cuantos tiene) consultando cuantos items tiene y vamos aumentando el GCaja3 hasta 75 (en este caso)
entonces entraria el 76
(error: seguramente habrá clave duplicada (3, 4) (o a estas alturas ya es una loteria))
weno ya vez alguna vez nos han de servir estas ideas no crees, y como tu dices todo empezo por el uso de nuestro lenguaje
saludos

__________________
saludos desde Puebla Mexico..
[email protected]
"como siempre a sus ordenes y siempre con buena cara"
'lolita me excitas, perversa piel de melocotón'