Usando códigos de barras: la norma EAN-13

Como seguramente ya sabes, los códigos de barras sirven para identificar a los productos de tal manera que esos códigos puedan ser leídos por un aparato llamado «lector de códigos de barras».

Las ventajas de usar códigos de barras para identificar a los productos son:

  1. Se ahorra tiempo. Porque en lugar de escribir varios dígitos, el usuario solamente debe presionar el botón del lector de códigos de barras.
  2. Se evitan los errores de tipeo. Porque el lector siempre devuelve el código correcto. Cuando se los debe tipear manualmente es frecuente equivocarse y no escribir un dígito o escribir un dígito incorrecto.
  3. Relacionado con el punto 2. hay un problema mucho más grave y más insidioso. Ocurre cuando el usuario escribió un código que sí existía pero no era el que quería escribir. Por ejemplo escribió 125 cuando quería escribir 127. Ambos productos existen y por lo tanto en la computadora se registrará la venta del producto incorrecto, con todos los problemas que eso ocasionará.

Hay varias normas  utilizadas para codificar mediante códigos de barras. De entre ellas, la norma EAN-13 es la más conocida porque es la usada internacionalmente para identificar a los productos. Desde luego que una Empresa puede usar cualquier otra norma, e inclusive inventar su propia norma, pero si quiere que sus productos tengan aceptación en el mercado internacional (y muy posiblemente, nacional) obligatoriamente deberá usar EAN-13.

Los códigos de barras EAN-13 pueden ser:

  1. Para uso interno
  2. Para uso externo

Para uso interno significa que se usarán en la propia Empresa y que el comprador de ese producto será el consumidor final, en otras palabras que ese comprador no revenderá el producto. En un supermercado, puedes verlo en la sección Carnicería, en la sección Fiambrería, en la sección Panificados, etc. Si compras un producto en alguna de esas secciones y luego miras el código de barras, verás que siempre empieza con el número 2.

Según la normativa EAN-13, el código de barras de un producto, para uso interno, debe:

  • Empezar con 3 dígitos, cuyos valores deben estar entre 200 y 299
  • Tener 9 dígitos significativos
  • Finalizar con un dígito de control (también llamado dígito verificador)

Por ejemplo, en el caso de un Supermercado, los 3 primeros dígitos pueden ser:

  • 200, para productos de la sección Carnicería
  • 201, para productos de la sección Fiambrería
  • 202, para productos de la sección Panificados
  • etcétera

Entonces, si debemos codificar uno de esos productos, ponemos los 3 primeros dígitos que corresponden a la sección, luego un número de 9 dígitos que identifica al producto, y finalmente el dígito de control.

¿Y cómo calculamos el dígito de control, cómo sabemos cuál debe ser ese dígito?

La siguiente función te lo dirá:

Listado 1. Obteniendo el dígito de control de un código con formato EAN-13

FUNCTION DIGITO_VERIFICADOR_EAN
LPARAMETERS tcCodigoBarras
LOCAL lnSuma, lnI, lnDigito, lnDigitoVerificador
  
  lnSuma = 0
  
  FOR lnI = Len(tcCodigoBarras) TO 1 STEP -1
    lnDigito = Val(Substr(tcCodigoBarras, lnI, 1))
    IF (Mod(Len(tcCodigoBarras) - lnI + 1, 2)) <> 0 THEN
      lnSuma = lnSuma + lnDigito * 3
    ELSE
      lnSuma = lnSuma + lnDigito
    ENDIF
  ENDFOR
  
  lnDigitoVerificador = Mod(10 - Mod(lnSuma, 10), 10)
  
  RETURN (lnDigitoVerificador)
  
ENDFUNC
*
*

La función DIGITO_VERIFICADOR_EAN() recibe como parámetro el código de barras del cual se desea obtener el dígito de control (o verificador) y devuelve ese dígito.

Y listo, eso es todo. Ya podemos codificar a cualquier producto que se usará internamente y que además cumplirá con la norma EAN-13.

Artículos relacionados:

El índice del blog VFPavanzado

 

 

 

6 comentarios en “Usando códigos de barras: la norma EAN-13

    • Hola

      Pues nada se debe hacer en programación. Un lector de código de barras es simplemente un sustituto del teclado. O sea que en lugar de tipear 13 dígitos usando el teclado, con un clic del lector obtienes esos 13 dígitos.

      Te ahorra tiempo, y te asegura que se hayan introducido 13 dígitos, y que sean los correctos. Pero nada más que eso, un lector de código de barras es simplemente «un teclado rápido para introducir códigos».

      La marca más conocida de impresoras dedicadas exclusivamente a imprimir códigos de barras, es Zebra. Pero se justifica adquirir una solamente si todos los días debes imprimir un montón de códigos de barra y además requieres que la impresión sea de muy buena calidad. Para usos normales, cualquier impresora de chorro de tinta o láser cumplirá exactamente la misma función.

      Saludos.

      Walter.

  1. buenas tardes walter.
    mi nombres juan b. hernandez, de monterrey nl. mexico
    tendras una rutina para imprimir codigos de barras, utilizo el foxbarcode, y al generar e imprimir los codigos, solo puedo leer con el lector, los generados con 8 caracteres maximo. gracias.

    • La lectura depende de dos factores:
      1. De lo bueno que sea el lector de código de barras. Uno genérico, de baja calidad y bajo precio, jamás podrá equipararse a uno de alta calidad y por supuesto bastante más caro.
      2. Del código impreso. En tamaños grandes casi cualquier lector de código de barras lo leerá bien, pero para tamaños pequeños los baratos suelen fallar. Además, es importante la calidad de la impresión. Puedes imprimirlos con una impresora de chorro de tinta o con una impresora laser pero si quieres muy buena calidad entonces una impresora Zebra será la solución.

      Saludos.

      Walter.

Deja un comentario