CÓDIGOS DE BARRAS.


Un poco de historia.

La primera experiencia sobre códigos de barras data de 1973, cuando en EEUU se aprobó el UPC (Universal Product Code), un estándar que aún continúa vigente y que se refiere a EEUU y Canadá. Pero no fue hasta el año siguiente, en 1974, cuando el 26 de junio se inauguró el primer punto de venta con escáner de la historia en Trou (Ohio, EEUU), con lo que es en esta fecha cuando el código de barras comienza a actuar.
Mientras, en Europa, un grupo de especialistas con representación de unos 12 países y diversos organismos de numeración (el CGC alemán, el francés GENDOC…) trabajaron durante 3 ó 4 años hasta alumbrar el sistema de codificación comercial EAN, compuesto por una serie de herramientas estandarizadas, entre las que destaca la que nos ocupa.

Hace ya 32 años que fue utilizado por primera vez el código de barras en España, un sistema que actualmente utilizan cerca de 24.000 empresas en todo el país, según AECOC, asociación empresarial que nació para impulsar el uso de este sistema.

Una cajera valenciana pasó por primera vez un producto comercial por un lector de código de barras hace 32 años y desde entonces ha pasado a convertirse en una herramienta imprescindible para desarrollar operaciones tan necesarias como el control del ‘stock’ o la gestión de pedidos en las empresas.

La AEOC es el organismo que asigna el código de empresa, primer paso para que una compañía pueda disponer de códigos de barras para sus productos una vez que se asocia a esta entidad. Este número varía entre 7 y 10 dígitos, en función de las referencias que la empresa quiera incluir. Es decir, según la estructura de esta serie secuencial, se pueden codificar hasta 100, 1.000, 10.000 ó 100.000 referencias distintas, sin que exista un límite. De todas formas, los primeros dos dígitos son siempre fijos. Se trata del prefijo nacional que, para el caso de España, es el 84.

Pero ojo, esto no significa necesariamente que el producto sea español. Sólo indica que el responsable de su puesta en el mercado, independientemente de su nacionalidad o ubicación territorial, utiliza el código asignado por la Asociación Española de Codificación Comercial.

Esto echa por tierra el argumento que se utilizó hace unos años para boicotear productos franceses cuando se produjeron los diversos encontronazos entre transportistas españoles y los del país vecino. Igual que unos espárragos de Logroño pueden comercializarse con los dígitos franceses (del 30 al 37), también un detergente galo puede sacarse a nuestro mercado con el código 84.

El siguiente paso para la empresa es completar la serie de números hasta llegar a 12 dígitos. Esta segunda secuencia, junto al dígito número trece (el de control, que se obtiene mediante un algoritmo matemático) constituye el código del producto en cuestión.
La última parte del proceso es la impresión de los códigos y la adhesión a los productos, para lo cual se puede acudir a un proveedor especializado.
En resumen, lo que se consigue es que cada producto tenga su propio código de barras de manera única y exclusiva. El código de control, además, elimina cualquier error de impresión al interceptar una lectura errónea.

Inventado en 1948, este sistema ya tiene sucesor, un chip que funciona mediante radiofrecuencia y que permite distinguir dos artículos del mismo producto dentro del carro de la compra.

Pagar la novatada.

Una anécdota de este aspecto es cuando al principio de imponerse el código de barras, algunos impresores avispados aseguraban a las empresas que;ellos se encargarían de todo». Entonces lo que hacían era recortar códigos de barra de ciertos productos para, una vez reescritos los números, añadirlos a los productos de su cliente. La sorpresa hacía su aparición ante la cajera cuando, perpleja, descubría que el escáner leía una lata de paté en lugar de un bote de tomate frito. Pues bien, esto es lo que impide el código de control.

La calidad de los códigos de barras se mide respecto a la primera lectura en las cajas. Hoy por hoy, el 97% de ellos se lee al primer intento. El 3% restante sí presenta dificultades de lectura o, simplemente, no se lee y esto cuesta dinero. Según un estudio de una empresa de distribución, a una gran cadena de supermercados le costó la friolera de 120 millones de pesetas en 1996 el hacer más de un intento de lectura o tener que teclear a mano.

Aparte de errores de lectura, quizá la única desventaja del sistema sea que para el distribuidor se hace innecesario marcar el precio en cada producto, puesto que acceden a él a través del código. Esto impide cotejar el ticket de compra una vez que se llega a casa.
Algunos distribuidores tienen escáneres en el propio centro para que los clientes comprueben que el precio del código coincide con el de la estantería. Pero son los menos, grandes superficies en su mayoría, y además es un engorro. Lo suyo es que cada producto lleve marcado su precio porque puede ocurrir que un artículo que se haya ofertado no tenga la rebaja en la información que maneja la caja registradora.

Comprendiendo la Estructura

A pesar de haber usado miles de veces estos códigos, no sabía que su estructura era bastante compleja, simplemente pensé que con escribir un numero (por ejemplo : “9900100726019” y seleccionar la fuente EAN-13.TTF estaría todo resuelto. Muy lejos estaba de la verdad.
En primer lugar (tomando como ejemplo para esta nota el EAN-13) el código de barras se divide en varias partes.


Entonces ya sabemos que un código EAN-13 se compone por :
• un comienzo (chr(5))
• un código de 2 dígitos identificando al país del producto (no necesariamente debe respetarse)
• un primer grupo de 5 dígitos
• un separador (chr(124) que representa el carácter “|” pipe)
• un segundo grupo de 5 dígitos
• un Dígito control
• una marca de finalización (chr(5))
Ahora bien…. parece que queda un solo misterio por resolver… como se puede calcular el dígito verificador. Sin embargo estamos muy lejos de comprender todo.
En primer lugar cada carácter numérico deberá ser reemplazado de acuerdo a la siguiente tabla.

Tomaremos nuestro número de ejemplo (9900100726019) y comenzaremos a codificarlo.

Código de país

Comenzaremos con el código de País (99), para codificar al país, tomaremos las columnas de First Flag y Second Flag en este caso al reemplazar cada dígito por su carácter correspondiente nos da como resultado que 99=*i (asterisco, i latina)

Primer grupo

Para nuestro primer grupo de 5 dígitos (00100) tomaremos las 2 primeras columnas de la tabla Left Hand A y Left Hand B. Pero porque tomamos 2 columnas ? (respuesta : Porque algunos de estos 5 dígitos responderán a la columna A y otros a la B)
El formato usado en EAN-13 dice que para el primer grupo se deberá seguir esta regla (ABABB).

Esto significa que para el primer dígito del primer grupo se usará la columna LEFT HAND A y para el segundo la de LEFT HAND B y así sucesivamente.
Como resultado, (si hacemos bien los deberes) notaremos que la representación codificada de nuestro primer grupo (00100) = (0@1@@) ( cero – arroba – uno – arroba – arroba )

Segundo grupo

La codificación del segundo grupo (72601) es mas simple que la del primero, ya que se basa en una sola columna de referencia. Esa columna es la identificada como Right Hand.
De acuerdo con esa columna, nuestro código (72601) = (WRVPQ)

Dígito de control

Una vez obtenido el dígito control del código de Barras (cosa que veremos más adelante) deberemos tomar la columna Check. Como en nuestro ejemplo el dígito verificador era (9), nuestro código terminará con (y)

String Formado

Como resultado de la codificación para nuestro código de ejemplo (9900100726019) obtendremos el siguiente String.

***i0@1@@WRVPQy**

Como además del código hay caracteres especiales intercalados entre el String, el resultado final deberá ser el siguiente.

chr(5) + *i0@1@@ + chr(124) + WRVPQy + chr(5)

Esta secuencia debe ser mostrada con la font EAN-13.TTF y obtendrán el códigos de barra necesario.

Generando el Dígito Verificador

Ya vimos como codificar nuestra secuencia numérica, ahora, en caso de desconocer el dígito verificador, conoceremos en profundidad el algoritmo que lo genera.
Realmente es muy simple. Vamos a volver a mostrar nuestro número de ejemplo pero esta vez sin el dígito verificador.

990010072601

En primer lugar deberemos sumar estos dígitos comenzando desde el último y salteando de a 1.

1 + 6 + 7 + 0 + 0 + 9 = 23

El resultado se debe multiplicar por 3 y luego adicionar la suma del siguiente grupo de dígito.

1 + 6 + 7 + 0 + 0 + 9 = 23 * 3 = 69 + ( 0 + 2 + 0 + 1 + 0 + 9 ) = 81

Se deberá restar 81 a 100 para ver cuanto queda, en este caso 19
Se tomará el último dígito (9) como dígito verificador.

Como podrán deducir, tiene sus secretos pero una vez conocido el algoritmo y teniendo las tablas de referencia todo puede lograrse.

He tomado para esta nota, el formato EAN-13 pero pude ver que para cada formato hay otros algoritmos e inclusive otras tablas de referencia.

Fuente: Mates2000.

Anuncios

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: