La base de datos genera secuenciales automáticos para cada registro de la tabla donde se guardan los artículos.
Este secuencial es invisible para el usuario, nosotros lo llamamos ID.
La única pantalla donde pueden ver el ID es en INVENTARIO / IMPORTAR Y EXPORTAR ARTÍCULOS
. Aquí se utiliza para poder identificar cuál fue el artículo cambiado y poder actualizarlo por base de datos.
Cuando uno abre INVENTARIO / ARTÍCULO el sistema muestra automáticamente un código.
Ese código se obtiene tomando el último ID de la tabla de artículos y sumándole +1, es decir:
Nuevo Código = Último ID + 1
Imaginemos que una empresa tiene 4 artículos en su base de datos
id | código | descripcion |
---|---|---|
1 | 1 | Producto A |
2 | 2 | Producto B |
3 | 3 | Producto C |
4 | 4 | Producto D |
[Tabla de artículos original]
Un usuario comete el error de cambiarle el código de Producto B de 2
a 5
, dejando la tabla así
id | código | descripcion |
---|---|---|
1 | 1 | Producto A |
2 | 5 | Producto B |
3 | 3 | Producto C |
4 | 4 | Producto D |
[Tabla de artículos modificada]
Importante: Los ids nunca cambian! Es un campo interno de la base de datos, no está pensado para ser manipulado por el usuario
La próxima vez que abras la pantalla de artículos, el sistema hará esto:
Nuevo Código = Último ID + 1
Nuevo Código = 4 + 1
Nuevo Código = 5
Como el código 5 ya existe, tendrás el mensaje de error El código ya existe
.
INVENTARIO / IMPORTAR Y EXPORTAR ARTÍCULOS
Cargar Todo
5
en esta pantalla y encuentra el ID que le corresponde, en nuestro ejemplo es 2
5
en la pantalla2
Si al ingresar artículos nuevos en nuestro sistema se genera un error de ID o código duplicado, esto puede deberse a que SQL no está tomando el siguiente código disponible para guardar. Los pasos para resolver este problema son los siguientes:
SELECT MAX(CAST(codigo AS INT))
FROM ARTICULO
WHERE ISNUMERIC(codigo) = 1 AND TRY_CAST(codigo AS INT) IS NOT NULL;
DBCC CHECKIDENT ('ARTICULO', RESEED, ULTIMO_CODIGO_DISPONIBLE);
Estos pasos aseguran que el sistema maneje correctamente la secuencia de códigos al ingresar nuevos artículos, evitando errores de duplicidad de ID o código.