Código de Barras
Short Description
Download Código de Barras...
Description
Código de Barras ¿Qué
producto no está, hoy en día, identificado por un código de barras? La respuesta es obvia. Muy pocos o ninguno, son los productos que hoy en día no identifican sus productos con códigos de barras. A la pregunta de ¿qué es un código de barras? Se podría afirmar que es un sistema de identificación automática, único, normalizado y homologado que no sólo permite controlar la gestión de stocks y racionalizar el suministro de mercancías, sino que crea nuevos cauces de comunicación entre fabricantes y distribuidores.
Código Fuente Los suscriptores pueden conseguir el código en el fichero correspondiente a este número de la revista Códigos Fox.2x, VFP 3.0/5.0/60 Existen distintos tipos de codificación entre los que destacan el UPC, EAN 13, EAN 8, ... Particularmente, en España el sistema de codificación más extendido es el EAN 13. Este será el objeto de nuestro estudio y de su posterior codificación. Grafico 1
Representación del sistema EAN 13. El sistema EAN es un conjunto de normas que homogeneizan la numeración de todos los productos de gran consumo y tiene tres características principales: - Puede ser utilizado por fabricantes y distribuidores en el intercambio y en la mejora de las informaciones. - Identifica la unidad del producto de forma biunívoca (un código, un producto).
- No es explicativo o significativo: toda la información está contenida en el registro de la base de datos al que se accede con el código. - Puede recogerse datos en el punto de venta. La representación del código EAN se efectúa mediante la visualización de 13 dígitos que identifican el producto: - Los dos primeros dígitos/caracteres corresponden al país. Para el caso que n os ocupa decir que el código numérico asociado a nuestro país es el 84. Grafico 2
- Los cinco caracteres siguientes identifican la empresa fabricante del artículo. - Los cinco siguientes caracteres será un número que identificará cada uno de los productos que la empresa produzca. La empresa podrá poner su propia numeración de productos. - Por último, el dígito 13, es un dígito de control y se calcula mediante una sencillo algoritmo matemático que comentaremos más adelante. Este algoritmo elimina cualquier posibilidad de error en la lectura. Características del símbolo La representación del código se ha de efectuar mediante la simbolización de los dígitos de forma que puedan leerse y traducirse directamente del decodificador, que a través de la interface se comunica con el ordenador o terminal. El símbolo estándar está formado por una serie de barras paralelas, de diferente grosor. En la parte inferior del símbolo se representa el mismo código en cifras para que sea legible. El símbolo es de tamaño variable. Su tamaño estándar es de 37,29*26,26 mm., pero este tamaño puede variar en función de las medidas del envase o de la etiqueta. En estos casos la variación está entre el 0,8 y 2 veces el tamaño del estándar.
El dígito de control La utilización del dígito de control tiene por objetivo el establecer un mecanismo que evite errores en el tratamiento automático de los códigos EAN. El dígito de control es la última cifra del código EAN de un producto. Su cálculo se realiza automáticamente en función del valor de las posiciones que le preceden en el código, mediante un sencillo algoritmo. Algoritmo para calcular el dígito de control Los pasos a seguir a la hora de calcular el dígito de control (para este tipo de simbolización EAN-13) son: Grafico 3
1.- Multiplicamos por 1 las posiciones impares y por 3 las posiciones pares del código empezando de derecha a izquierda. Tomemos como ejemplo el siguiente código : 841234567890 sabiendo que el 84 corresponde con el país, los siguientes 5 dígitos con la empresa y los últimos 5 dígitos con el artículo/producto. 2.- Sumamos los valores resultantes. 8+12+1+6+3+12+5+18+7+24+9+0 = 105 3.- Restamos de la decena superior ( es módulo 10) el valor de la suma de los valores resultantes. El resultado de esta operación es el valor del código de control (primera posición del código de barras). 110 - 105 = 5 ==> valor del código de control. Otra posibilidad es dividir la suma resultante (105) por 10 siendo el resto de ésta división el valor del dígito de control. 105 / 10 = 10 Cociente y 5 de resto El resultado final del código es: 84 12345 67890 5 (EAN-13).
¿Cómo representar gráficamente el código? Ya sabemos qué tipo de codificación se utiliza mayoritariamente en España y como averiguar su dígito de control. Pero, ¿ cómo representar el código resultante en forma de código de barras ? Cada carácter numérico debe tener obligatoriamente dos barras y dos espacios. Para conformar un carácter es necesario la unión de 7 módulos. Un módulo es la unidad mínima o básica del código. Visualmente, un carácter podría representarse como: Grafico 4
Este carácter se compone de 7 módulos, 2 barras y 2 espacios de diferente grosor (casualmente el grosor de los espacios es el mismo). Por norma estándar la anchura de un módulo es de 0,33 mm. De tal forma que si un carácter dispone de 7 módulos la anchura total de un carácter será: 0,33 mm X 7 = 2,31 mm. Los juegos de símbolos Para poder identificar simbólicamente los caracteres numéricos usando los siete módulos se definen 3 juegos de caracteres llamados A, B y C. Cada uno de ellos tiene 10 valores (del 0 al 9), que combinan dos barras y dos espacios para los siete módulos que componen cada carácter numérico. los juegos de caracteres se simbolizan de la siguiente manera Grafico 5
El juego A tiene un número impar de módulos oscuros. Por esta razón se dice que el juego de simbolización A tiene paridad impar. Los juegos B y C son juegos de simbolización con paridad par (el número de módulos oscuros es par). Los caracteres auxiliares Los caracteres auxiliares se componen de la siguiente forma: Caracteres Auxiliares Separador lateral 3 Separador Central
Número de Módulos 5
Secuencia del módulo del separador lateral Grafico 6:
Secuencia del módulo del separador centralGrafico 7:
Como su nombre indica, el separador central está en el centro del símbolo, separando los doce caracteres simbolizados, en dos grupos de seis. Los módulos del principio y del final son claros, con lo que de ésta forma, los caracteres situados a la izquierda y a la derecha de este separador central, cambian la alineación. Los separadores laterales indican principio y fin de las barras del símbolo. El separador lateral izquierdo se representará con los 3 módulos laterales más 11 módulos claros a la izquierdaGrafico 8.
El separador lateral derecho se representará con los tres módulos laterales más 7 módulos claros a la derechaGrafico 9.
Estos módulos claros deben de existir de tal forma que la omisión de estos, no garantizaría la correcta lectura. El formato del símbolo EAN-13 Volviendo a nuestro código de ejemplo (84 12345 67890 5) veamos qué formato y qué simbolización tendría cada uno de los caracteres dependiendo de la posición de estos. El formato, de izquierda a derecha y de mayor a menor posición , es el siguiente: Según nuestro código el carácter décimo tercero es el 8 (España), como comentábamos antes, el prefijo en España es el 84. Este carácter no será representado mediante códigos de barras quedando a la izquierda del código de barras. Según el cuadro siguiente utilizaremos la tabla de simbolización A o B para las posiciones del 7 al 12 según convenga. Del 1 al 6 utilizaremos la tabla C. El código queda a partir de este momento de la siguiente manera : 8 412345 678905 La tabla de uso de los juegos de caracteres de simbolización en el símbolo EAN-13 es la siguiente:
13 (1) 0 1 2 3 4 5 6 7 8 9
12
11
A A A A A A A A A A
A A A A B B B B B B
10 (2) A B B B A B B A A B
9
8
7
A A B B A A B B B A
A B A B B A A A B B
A B B A B B A B A A
6
5
4 3 (3)
2
1
C
(1) Valor del décimo tercer carácter. (2) Juegos de simbolización utilizados en los caracteres de la izquierda. (3) Juego de simbolización utilizado en los caracteres de la derecha.
La parte del código que es representada mediante barras tiene el siguiente formato: 1.- El separador lateral izquierdo incluyendo los 11 módulos claros a la izquierda. 2.- 6 caracteres numéricos, simbolizados por medio de los juegos A y B, que corresponde a los caracteres de la izquierda del símbolo. 3.- El separador centralGrafico 10.
4.- 6 caracteres numéricos, simbolizados por medio del juego de caracteres C, correspondientes a los caracteres de la derecha del símbolo. 5.- El separador lateral derecho incluyendo los 7 módulos claros por la derecha. El siguiente cuadro detalla el número de módulos: A partir de este momento ya tenemos creado nuestro código de barras. ¿ Seremos capaces de desarrollar un programa que imprima códigos de barras ? Un ejemplo Supongamos que tenemos un producto y queremos simbolizarlo mediante códigos de barras. Una vez tenemos creado y calculado el código completo el resultado es: 84 23455 01011 0
Comenzando por la izquierda, identificamos el primer carácter/dígito que nos indica el país. Con este número iremos a la tabla de uso de los juegos de caracteres para la simbolización de los demás caracteres. Para saber el símbolo correspondiente al carácter 3 del código anterior (posición 10) seguiremos los pasos siguientes: 1.- Averiguar el valor que corresponde al carácter décimo tercero (en este caso 8). 2.- Ir a la tabla de juegos de caracteres de simbolización y situarnos en la fila correspondiente al valor 8. 3.- Seguidamente, nos posicionaremos en la columna correspondiente a la posición que ocupa el carácter dentro del código. 4.- Esa posición en la tabla correspondería a un valor (A o B) que identificará qué juego de caracteres he de utilizar; el A o el B. En este caso, el juego a utilizar es el A. 5.- Vamos a la tabla de los juegos de caracteres y nos posicionamos en la fila correspondiente al valor del carácter a simbolizar -el valor 3- y en la columna correspondiente al juego de caracteres A. 6.- El contenido de esa posición en la tabla es la simbolización del carácter 3 de la posición 10 del código a representar. Si tomamos el 0 como barra clara y el 1 como barra oscura, la simbolización del carácter 3 sería 0111101. Grafico 11
La función La función cdbarras(...), cuyo código más adelante se describe, nos permite sacar por impresora el código de barras del tipos EAN-13A(el más estándar en España). Esta función contiene una tabla llamada codigos.dbf con la siguiente descripción de registroGrafico 12
El campo codigo contiene el tipo de descripción de códigos de barras utilizado (EAN-13). Este campo, en principio, es puramente informativo a no ser que la función permitiera la impresión de distintos tipos de códigos de barras en el que la descripción de este campo pudiera ser de utili dad. El campo juego contiene la tabla de simbolización que se está utilizado para cada dígito, estos van del 0 al 9 como hemos podido comprobar anteriormente. Por último, valor contiene la traducción a 0 y 1 del dígito dependiendo de cada tabla de simbolización (juego). ¿ Por qué la longitud del campo valor es 28 y no 7 que es el número de módulos de representación de cada dígito ? Cojamos como ejemplo el dígito 9 de la tabla de simbolización A. La disposición de los módulos sería la siguienteGrafico 13:
Como consecuencia, el contenido del campo valor debería ser (como se explicaba antes) 0 y 1 dependiendo de si el módulo es claro u oscuro. El registro tendría que contener = 0001011. Todo esto es cierto, y el programa funcionaría perfectamente pero la visualización de cada barra del código sería muy estrecha(fina) y no se ajustaría a las especificaciones propias del EAN-13. Por esta causa, cada uno de los módulos al traducirlo a 0 y 1 se multiplica por 4 quedando el contenido del registro de esta manera = 0000000000001111000011111111 Parámetros y llamada desde Fox. La función recibe tres parámetros que son :
- El país al que pertenece, 2 caracteres numéricos. - El código de la empresa , 5 caracteres numéricos. - El código del artículo, 5 caracteres numéricos. Desde la ventana de comandos de FoxPro la llamada a la función sería de la siguiente forma: pais=84 empresa=12345 codproducto=67890 =cdbarras(pais,empresa,codproducto) El código fuente. El código fuente de la función es el siguiente:
*********************************************************** ** Función: cdbarras() *********************************************************** ** Objetivo: imprimir un código de barras a partir ** de una especificaciones *********************************************************** ** Parametros : ** pais -->Código del pais ** empresa --> Código de la empresa ** producto --> Código del producto *********************************************************** ** Funciones llamadas: convertir() *********************************************************** ** Procedimientos llamados: control() *********************************************************** ** Tablas utilizadas: codigos.dbf *********************************************************** ** Fecha de creación: 25-Enero-1995 ** Versión : 1.1 *********************************************************** ** Autor : Luis Martínez Pérez *********************************************************** Conclusión A partir de esta función cada uno puede crear su propio formato de código de barras, o bien manipular la función para su uso particular o profesional.
View more...
Comments