MySQL - números de factura únicos

 
Vista:
sin imagen de perfil

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

números de factura únicos

Publicado por Martha (80 intervenciones) el 23/03/2021 17:42:36
Lo que podrías hacer es crear el registro para obtener su número y después editarlo para introducir el resto de los datos de la factura.

Algo así como que el usuario pulsa [Nueva Factura] y creas un registro en el que le das el número de factura.

Luego el usuario introduciría el resto de los datos, pero ya con el número de factura dado. Para ti el usuario estaría editando ese registro.


Otra opción que yo he usado con frecuencia es obtener el current_timestamp y pasarlo a AAAAMMDDhhmmss. Es raro que dos usuarios generen exactamente dos registros en el mismo segundo, aunque si lo necesitas para una línea de cajas sería tentar a la suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar