Lectura y Escritura de Códigos Ean13

 


Esta semana me preguntó un chico en el foro de Appeon Community si mi ejemplo de lectura y escritura de códigos Qr se podía utilizar para generar códigos EAN-13.

Pues haciendo algunos cambios en la parte de PowerBuilder se pude usar perfectamente, pero antes hay que entender un poco qué es y para que sirve el código EAN-13.

El código EAN-13 (European Article Number) es un código numérico usado principalmente para la codificación de productos de venta que permite que la información de los productos sea leída con cualquier lector de códigos de barras a gran velocidad y está extendido en la mayoría de los piases del mundo, excepto Estados Unidos y Canadá.

La estructura del código consta de 13 dígitos divididos en 4 partes:

1. Código del país de origen, en España el código 84.

2. Código de empresa: entre 5 y 8 dígitos.

3. Código de producto: completa los 12 primeros digitos.

4. Dígito de control: último digito que garantiza la lectura correcta del código. Para calcularlo hay que sumar los dígitos de las posiciones impares, multiplicar el resultado por 3, sumar los números pares y a ese resultado restar el siguiente múltiplo de 10.



Volviendo a mi ejemplo en PowerBuilder, en el objeto nvo_bnarcode he creado 2 funciones privadas que nos serán utilices para generar el código ean-13. Una es para obtener el código de país y otra para calcular el digito de control.

En el ejemplo he puesto una lista de 25 productos con su ean13 y he añadido un botón para generar un nuevo ean13 en base al identificador de cada producto.

Además están los botones de crear la imagen del código de barras y el de leer la imagen del código de barras.

Fuentes consultadas para escribir este artículo:

EAN 13: Qué Es Y Cómo Generarlo

Cálculo del Dígito de Control

06-12-2022: Proyecto descrito en artículo archivado. Nueva versión en repositorio con librería en .Net6 y PowerBuilder 2022 build 1892.

Os dejo el enlace de proyecto actual en GitHub:

github.com/rasanfe/ean13code.git

Y proyecto en Visual Studio 2022:

github.com/rasanfe/ZxingBarcode.git

Para los que necesiten versiones anteriores como la descrita en este artículo:

Proyecto PowerBuilder 11.5 Build 2506

Proyecto PowerBuilder 12.6 build 3506

Proyecto Visual Studio 2022 NetCore 3.1 COM/ActiveX

Proyecto PowerBuilder 2019 build 2779

Proyecto PowerBuilder 2021 build 1509

Proyecto Visual Studio 2022 NetCore 3.1


Comentarios