
números de factura únicos
Publicado por Eduardo (5 intervenciones) el 22/03/2021 17:44:32
Saludos colegas,
Estoy creando por primera vez una aplicación para MySql (tengo experiencia con MS-SQL) y se me ha presentado la siguiente duda:
- Tengo una tabla llamada "locales", en donde guardo los datos de las diferentes sucursales que tiene el cliente.
- Dentro de esta tabla tengo 1 campo que se encargará de almacenar los NUMEROS CORRELATIVOS de las diferentes facturas que se iran emitiendo en cada local.
- El correlativo por supuesto esta compuesto de una serie de 4 digitos seguido de un guion y luego el numero correlativo, todo en el mismo campo ejemplo; 'F001-00012345', como es evidente el número de serie es distinto en cada uno de los locales.
- Por supuesto en cada local existen VARIOS TERMINALES que podrán emitir en simultaneo las facturas.
- Mi duda es la siguiente: ¿ Cual es la forma más óptima para que cada terminal obtenga un número de factura distinto cada vez y que dicho número nunca se repita en dos términales dentro de un mismo local?
Mi flujo lógico me dice más o menos esto:
1. Consultar número de documento actual
2. Aumentar el número en +1
3. Grabar el nuevo número en el campo
4. La terminal usa el nuevo numero para emitir la factura.
Sin embargo, mi duda es que; estoy haciendo 2 querys :1ro en el paso 1 y 2do en el paso 3 - ¿ Existe la posibilidad de que luego de hacer la query en el paso 1 y antes de realizar el paso 3, otra terminal obtenga el mismo número al hacer el paso 1 ? Esto haría que el número de factura se repita en ambas terminales.
¿ Hay alguna forma de "bloquear el campo" de la tabla hasta después que se haya realizado el paso 3 para que otra terminal no obtenga el mismo número ?
Espero haber sido claro en mi explicación y agradezco de antemano su atención y tiempo.
Cordiales saludos.
Estoy creando por primera vez una aplicación para MySql (tengo experiencia con MS-SQL) y se me ha presentado la siguiente duda:
- Tengo una tabla llamada "locales", en donde guardo los datos de las diferentes sucursales que tiene el cliente.
- Dentro de esta tabla tengo 1 campo que se encargará de almacenar los NUMEROS CORRELATIVOS de las diferentes facturas que se iran emitiendo en cada local.
- El correlativo por supuesto esta compuesto de una serie de 4 digitos seguido de un guion y luego el numero correlativo, todo en el mismo campo ejemplo; 'F001-00012345', como es evidente el número de serie es distinto en cada uno de los locales.
- Por supuesto en cada local existen VARIOS TERMINALES que podrán emitir en simultaneo las facturas.
- Mi duda es la siguiente: ¿ Cual es la forma más óptima para que cada terminal obtenga un número de factura distinto cada vez y que dicho número nunca se repita en dos términales dentro de un mismo local?
Mi flujo lógico me dice más o menos esto:
1. Consultar número de documento actual
2. Aumentar el número en +1
3. Grabar el nuevo número en el campo
4. La terminal usa el nuevo numero para emitir la factura.
Sin embargo, mi duda es que; estoy haciendo 2 querys :1ro en el paso 1 y 2do en el paso 3 - ¿ Existe la posibilidad de que luego de hacer la query en el paso 1 y antes de realizar el paso 3, otra terminal obtenga el mismo número al hacer el paso 1 ? Esto haría que el número de factura se repita en ambas terminales.
¿ Hay alguna forma de "bloquear el campo" de la tabla hasta después que se haya realizado el paso 3 para que otra terminal no obtenga el mismo número ?
Espero haber sido claro en mi explicación y agradezco de antemano su atención y tiempo.
Cordiales saludos.
Valora esta pregunta


0