OT: calculo de codigo verificador secundario EAN13

157 views
Skip to first unread message

Carlos Alfaro

unread,
Jul 5, 2011, 3:18:55 PM7/5/11
to publice...@googlegroups.com

Saludos amigos:

 

Les molesto con una consulta, alguno de ustedes como se calcula es código verificador para un código de barras EAN13.

 

Yo se calcular el digito verificador principal que es el que va al extremo derecho, pero me han pedido que calcule el código secundario que ocupa la posición 7ª. De izquierda a derecha, un ejemplo de un código ya resuelto que me dieron es el siguiente:

 

2858455021709

 

El verificador que necesito encontrar como calcular es el marcado en subrayado.

 

Por su atención y ayuda muy agradecido.

 

Bendiciones.

 

 

Carlos Alfaro

Luis Maria Guayan

unread,
Jul 5, 2011, 6:01:24 PM7/5/11
to publice...@googlegroups.com
Carlos, los códigos EAN 13 tienen solamente 1 dígito verificador (el 13°)

Los códigos EAN13 se forman de la sig. manera.

Código_País + Código_Empresa + Codigo_Artículo + Digito_Verificador

 
Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Carlos Alfaro

unread,
Jul 5, 2011, 6:18:40 PM7/5/11
to publice...@googlegroups.com

Saludos Luis Maria:

Te agradezco mucho la información, prácticamente me convencerías si no fuera porque si encontré información de esta codificación, como muestra el siguiente link:

http://wiki.answers.com/Q/How_does_a_price_embedded_bar_code_work

En esta página podrás ver que un digito verificador secundario.

Abajo te copie lo que el cliente me envió, pero que no he encontrado como aplicar la formula de dicho digito secundario.

Ya le solicite al cliente que me remita mas información del tema, en cuanto me aclaren este punto te lo remitiré porque algún día te puede servir.

 

Bendiciones.

 

Carlos Alfaro

Product  

5845

 

 

 

 

 

 

 

Check Digit

 

 

 

 

 

Check Digit

 

 

 

 

 

 

Product Code

5845

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Weight

02170

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Prefix

28

 

country

Product #

Weight

 

 

 

 

 

 

 

 

Barcode

2

8

5

8

4

5

5

0

2

1

7

0

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

8

 

5

 

0

 

1

 

0

 

22

x3

66

a

 

 

 

 

 

2

 

5

 

4

 

5

 

2

 

7

 

 

25

x1

25

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

91

a+b

100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

number to round to nearest 10

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

0

weighted #

100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

4

weighted #

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

5

weighted #

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

8

weighted #

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

weighted #

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17

20

sum

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

round

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

reverse weighted 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Luis Maria Guayan

unread,
Jul 5, 2011, 7:04:22 PM7/5/11
to publice...@googlegroups.com
Mira esta función que sirve para los códigos EAN y UCC. Por lo que vi en el adjunto, es la misma formula para todos, los digitos de las posiciones impares multiplicados por 3 y las pares por 1, comenzando por la derecha.



FUNCTION CheckDigitEan(tcCodigo)
  LOCAL lnSuma, lnI, lnPos
  STORE 0 TO lnSuma, lnPos
  FOR lnI = LEN(tcCodigo) TO 1 STEP -1
  lnPos = lnPos + 1 
    lnSuma = lnSuma + (VAL(SUBSTR(tcCodigo,lnI,1)) * IIF(MOD(lnPos,2)=0,1,3))
  ENDFOR
  RETURN tcCodigo + TRANSFORM(MOD(10-MOD(lnSuma,10),10))
ENDFUNC

 
Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________



Carlos Alfaro

unread,
Jul 5, 2011, 8:39:20 PM7/5/11
to publice...@googlegroups.com

Exacto pero observaste que tiene que calcularse un segundo digito verificador? Que sale de aplicarle una formula a los valores 02170.

Reply all
Reply to author
Forward
0 new messages