fbpx
Wikipedia

European Article Number

El número de artículo europeo[1][2][3]​ (en inglés European Article Number o EAN) es un sistema de códigos de barras adoptado por más de cien países y cerca de un millón de empresas.[4]​ En el año 2005, la asociación EAN se fusionó con la UCC para formar una nueva y única organización mundial identificada como GS1, con sede en Bélgica.

Código de barras EAN-13. El primer dígito siempre se sitúa fuera del código. Además, el signo antilambda (>) se utiliza para indicar «zonas en blanco», necesarias para que los escáneres de códigos de barras funcionen correctamente.

Estructura y partes

El código EAN más usual es EAN-13, constituido por trece (13) dígitos y con una estructura dividida en cuatro partes:

  • Los primeros dígitos del código de barras EAN identifican el país que otorgó el código, no el país de origen del producto. Por ejemplo, en Chile se encarga de ello una empresa responsable adscrita al sistema EAN y su código es el 780.
  • Composición del código:
    • Código del país: en donde radica la empresa, compuesto por tres (3) dígitos.
    • Código de empresa: es un número compuesto por cuatro o cinco dígitos, que identifica al propietario de la marca. Es asignado por la asociación de fabricantes y distribuidores (AECOC).[5]
    • Código de producto: completa los doce primeros dígitos.
    • Dígito de control: para comprobar el dígito de control (por ejemplo, inmediatamente después de leer un código de barras mediante un escáner), numeramos los dígitos de derecha a izquierda. A continuación se suman los dígitos de las posiciones impares, el resultado se multiplica por 3, y se le suman los dígitos de las posiciones pares. Se busca decena inmediatamente superior y se le resta el resultado obtenido. El resultado final es el dígito de control. Si el resultado es múltiplo de 10 el dígito de control será cero (0).

Por ejemplo, para 123456789041 el dígito de control será:

  • Numeramos de derecha a izquierda: 140987654321
  • Suma de los números en los lugares Impares: 1 + 0 + 8 + 6 + 4 + 2 = 21
  • Multiplicado (por 3): 21 × 3 = 63
  • Suma de los números en los lugares pares: 4 + 9 + 7 + 5 + 3 + 1 = 29
  • Suma total: 63 + 29 = 92
  • Decena inmediatamente superior: 100
  • Dígito de control: 100 - 92 = 8

El código quedará así: 1234567890418.

Algoritmo informático

Perl

# Cálculo del dígito de control EAN my $ean = '750863367001';  # Valor de prueba my $checksum = 1000; my $i = 0; for my $digit (split //, reverse $ean) { # Recorremos el $ean de forma inversa, dígito por dígito $checksum   # Modificamos $checksum -= $i++ % 2   # según la posición del dígito: ? $digit   # posición impar : $digit*3   # posición par ; } $checksum %= 10;   # Ajustamos a la decena inmediatamente inferior print "Dígito de control: $checksum\n"; print "Código EAN: $ean$checksum\n"; 

PHP

// Cálculo del dígito de control EAN function ean13_checksum ($message) { $checksum = 0; foreach (str_split(strrev($message)) as $pos => $val) { $checksum += $val * (3 - 2 * ($pos % 2)); } return ((10 - ($checksum % 10)) % 10); } // Valor de prueba (sin dígito de control) $ean = '931804231236'; echo 'Digito de control: ', ean13_checksum($ean); 

C#

// Cálculo del dígito de control EAN string EAN = "123456789012"; int iSum = 0; int iSumInpar = 0; var iDigit = 0; for (int i = EAN.Length; i >= 1; i--) { iDigit = Convert.ToInt32(EAN.Substring(i - 1, 1)); if (i % 2 != 0) { iSumInpar += iDigit; } else { iSum += iDigit; } } iDigit = (iSumInpar) + (iSum * 3) ; int iCheckSum = (10 - (iDigit % 10)) % 10; Console.Write("Digito de control: " + iCheckSum.ToString()); 

Python 3

EAN = "123456789041" def ean_checksum(code: str) -> int: digits = [int(i) for i in reversed(code)] return (10 - (3 * sum(digits[0::2]) + (sum(digits[1::2])))) % 10 print(f"Dígito de control: {ean_checksum(EAN)}") 

Python

EAN = "123456789041" def eanCheck(ean): checksum = 0 for i, digit in enumerate(reversed(ean)): checksum += int(digit) * 3 if (i % 2 == 0) else int(digit) return (10 - (checksum % 10)) % 10 print "Digito de control: %d" %eanCheck(EAN) 

Visual Basic 6.0

'Cálculo del dígito de control EAN Dim iSum As Integer Dim iDigit As Integer Dim EAN As String Dim i As Integer iSum = 0 iDigit = 0 EAN = Text1.Text 'EAN de prueba For i = Len(EAN) To 1 Step -1 iDigit = (Mid(EAN, i, 1)) If (Len(EAN) - i + 1) Mod 2 <> 0 Then iSum = iSum + iDigit * 3 Else iSum = iSum + iDigit End If Next Dim iCheckSum As Integer iCheckSum = (10 - (iSum Mod 10)) Mod 10 Text2.Text = iCheckSum Text3.Text = Text1.Text & Text2.Text & "0000000000000" 

JavaScript

// Cálculo del dígito de control EAN function ean13_checksum(message) { var checksum = 0; message = message.split('').reverse(); for(var pos in message){ checksum += message[pos] * (3 - 2 * (pos % 2)); } return ((10 - (checksum % 10 )) % 10); } // Valor de prueba (sin dígito de control) var ean = '123456789041'; console.log(ean13_checksum(ean)); 

Bash

function ean13_checksum() { local EAN="$1" test "${EAN//[0-9]*/}" != "" && return 1 local d i=${#EAN} CHECKSUM=0 while test $i -gt 0; do let i-=1 d=${EAN:$i:1} test $(($i % 2)) -ne 0 && let d*=3 let CHECKSUM+=d done let CHECKSUM=$((10 - (${CHECKSUM} % 10) % 10)) echo "$CHECKSUM" } ean13_checksum 123456789041 

ABAP

 CALL FUNCTION 'MARA_EAN11' EXPORTING  P_MATNR = MARA-MATNR  P_NUMTP = MARA-NUMTP  P_EAN11 = MARA-EAN11  P_MEINH = MARA-MEINS  RET_EAN11 = LMARA-EAN11  RET_NUMTP = LMARA-NUMTP  BINPT_IN = SY-BINPT  P_MESSAGE = ' '  ERROR_FLAG = EAN_FEHLERFLG  P_HERKUNFT = 'A' " Für Abmessungen / EAN  GDS_RELEVANT = MARA-GDS_RELEVANT IMPORTING  P_NUMTP = MARA-NUMTP  P_EAN11 = MARA-EAN11  VB_FLAG_MEAN = RMMG2-VB_MEAN  MSGID = MSGID " s. weiter unten  MSGTY = MSGTY  MSGNO = MSGNO  MSGV1 = MSGV1  MSGV2 = MSGV2  MSGV3 = MSGV3  MSGV4 = MSGV4 TABLES  MARM_EAN = MARM_EAN  MEAN_ME_TAB = MEAN_ME_TAB " NEU: AHE 24.10.95  ME_TAB = ME_TAB  YDMEAN = YDMEAN EXCEPTIONS  EAN_ERROR = 1  OTHERS = 2.... 

Delphi

// Cálculo del dígito de control EAN function cc_CalcDV_Ean(Ean: String): Integer; { Calcula y devuelve el dígito verificador de una cadena de código EAN13 o EAN8  Devcuelve -1 en caso de ser incorrecto. } var SP, SI, I, L:Integer; Impar: Boolean; begin L:= Length(Ean); if (L=8) or (L=13) then begin SI:= 0; SP:= 0; I:= L-1; Impar:= Odd(L); repeat    // Bucle para sumar los valores discriminando posiciones pares e impares if Impar then SI:= SI + StrToInt(Ean[I]) else SP:= SP + StrToInt(Ean[I]); Impar:= not Impar; I:= I - 1; until I =0; if Impar then SI:= SI*3 else SP:= SP*3; // Multiplica por tres según la longitud del código Result:= 10-(SI+SP) mod 10;  // Calcula el dígito de verificación end else Result:= -1; end; 

Java

/**  * Cálculo del código de control  */ private int controlCodeCalculator(String firstTwelveDigits) { char[] charDigits = firstTwelveDigits.toCharArray(); int[] ean13 = { 1, 3 }; int sum = 0; for(int i = 0; i < charDigits.length; i++) { sum += Character.getNumericValue(charDigits[i]) * ean13[i % 2]; } int checksum = 10 - sum % 10; if(checksum == 10) checksum = 0; return checksum; } 

SQL

DECLARE @initialBarcode VARCHAR(13), @auxBarcode VARCHAR(13), @finalBarcode VARCHAR(13) SET @auxBarcode = REVERSE(@initialBarcode) DECLARE @verifierCode INT = 0 SELECT @verifierCode = CASE WHEN i % 2 = 0 THEN @verifierCode + SUBSTRING(@auxBarcode, i, 1) ELSE @verifierCode + (SUBSTRING(@auxBarcode, i, 1) * 3) END FROM dbo.NumbersTable(1,12,1) --- FALTA ESTO EN EL SQL SET @verifierCode = RIGHT((10 - RIGHT(@verifierCode,1)),1) SET @finalBarcode = CONCAT(@initialBarcode, @verifierCode) RETURN @finalBarcode 

MATLAB

if isnumeric(ean)  ean = sprintf('%013d', ean); end; checksum = sum((ean(1:end-1)-'0').*(rem([0:11],2)*2+1)); if rem(10 - (rem(checksum,10)), 10) ~= ean(13)-'0'  disp('El checksum no parece ser correcto') end; 

Visual FoxPro

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 

Excel

El ejemplo calcula un EAN13 para la celda A1, si fuera 123456789041 añadiría un 8 como dígito de control

=SI(LARGO(A1)>12;"MAS de 13";SI(ESERROR(A1*1);"NO NUMERICO";CONCATENAR(REPETIR(0;12-LARGO(A1));A1)&RESIDUO((10-(DERECHA(((SI.ERROR(VALOR(EXTRAEB(TEXTO(A1;0);2;1));"0")+(SI.ERROR(VALOR(EXTRAEB(TEXTO(A1;0);4;1));"0"))+(SI.ERROR(VALOR(EXTRAEB(TEXTO(A1;0);6;1));"0"))+(SI.ERROR(VALOR(EXTRAEB(TEXTO(A1;0);8;1));"0"))+(SI.ERROR(VALOR(EXTRAEB(TEXTO(A1;0);10;1));"0"))+(SI.ERROR(VALOR(EXTRAEB(TEXTO(A1;0);12;1));"0")))*3)+(SI.ERROR(VALOR(EXTRAEB(TEXTO(A1;0);1;1));"0")+(SI.ERROR(VALOR(EXTRAEB(TEXTO(A1;0);3;1));"0"))+(SI.ERROR(VALOR(EXTRAEB(TEXTO(A1;0);5;1));"0"))+(SI.ERROR(VALOR(EXTRAEB(TEXTO(A1;0);7;1));"0"))+(SI.ERROR(VALOR(EXTRAEB(TEXTO(A1;0);9;1));"0"))+(SI.ERROR(VALOR(EXTRAEB(TEXTO(A1;0);11;1));"0")));1)));10))) 

LibreOffice Calc & Google Sheets

El ejemplo calcula un EAN13 para la celda A6, si fuera 123456789041 añadiría un 8 como dígito de control

=IF(ISNUMBER(VALUE(A6)); IF(LEN(A6)=12 ;A6&IF(MOD(  (MID(A6;2;1)+MID(A6;4;1)+MID(A6;6;1)+  MID(A6;8;1)+MID(A6;10;1)+MID(A6;12;1))*3+  LEFT(A6;1)+MID(A6;3;1)+MID(A6;5;1)+  MID(A6;7;1)+MID(A6;9;1)+MID(A6;11;1)  ;10)=0;0;10-MOD(  (MID(A6;2;1)+MID(A6;4;1)+MID(A6;6;1)+  MID(A6;8;1)+MID(A6;10;1)+MID(A6;12;1))*3+  LEFT(A6;1)+MID(A6;3;1)+MID(A6;5;1)+  MID(A6;7;1)+MID(A6;9;1)+MID(A6;11;1)  ;10) )  ;"Deben ser 12 dígitos")  ;"Deben ser dígitos") 

C

// Se presupone que la variable ean contiene un código EAN válido char ean[13] = "123456789041"; char *car = ean + 12; int par = !0; int control = 0; int num; while(car-- - ean) { num = *car - '0'; if(par) num *= 3; par = !par; control += num; } return 10 - control % 10; 

Véase también

Referencias

  1. «BOE.es - Documento DOUE-L-2015-82354». www.boe.es. Consultado el 31 de marzo de 2020. 
  2. Flamarique, Sergi (31 de marzo de 2019). Manual de gestión de almacenes. MARGE BOOKS. ISBN 978-84-17313-84-5. Consultado el 31 de marzo de 2020. 
  3. «Información sobre los identificadores únicos de producto - Ayuda de Manufacturer Center». support.google.com. Consultado el 31 de marzo de 2020. 
  4. Datos del año 2003.
  5. Diez pasos para implantar el Código de Barras

Enlaces externos

  • EAN International, ahora GS1 International (en inglés)
  • Directorio de sitios en todo el mundo
  • Prefijos EAN por país
  • EAN database (en inglés)
  •   Datos: Q357404
  •   Multimedia: International Article Number (EAN)

european, article, number, redirige, aquí, para, otras, acepciones, véase, universidad, número, artículo, europeo, inglés, sistema, códigos, barras, adoptado, más, cien, países, cerca, millón, empresas, año, 2005, asociación, fusionó, para, formar, nueva, únic. EAN redirige aqui Para otras acepciones vease Universidad EAN El numero de articulo europeo 1 2 3 en ingles European Article Number o EAN es un sistema de codigos de barras adoptado por mas de cien paises y cerca de un millon de empresas 4 En el ano 2005 la asociacion EAN se fusiono con la UCC para formar una nueva y unica organizacion mundial identificada como GS1 con sede en Belgica Codigo de barras EAN 13 El primer digito siempre se situa fuera del codigo Ademas el signo antilambda gt se utiliza para indicar zonas en blanco necesarias para que los escaneres de codigos de barras funcionen correctamente Indice 1 Estructura y partes 2 Algoritmo informatico 2 1 Perl 2 2 PHP 2 3 C 2 4 Python 3 2 5 Python 2 6 Visual Basic 6 0 2 7 JavaScript 2 8 Bash 2 9 ABAP 2 10 Delphi 2 11 Java 2 12 SQL 2 13 MATLAB 2 14 Visual FoxPro 2 15 Excel 2 16 LibreOffice Calc amp Google Sheets 2 17 C 3 Vease tambien 4 Referencias 5 Enlaces externosEstructura y partes EditarEl codigo EAN mas usual es EAN 13 constituido por trece 13 digitos y con una estructura dividida en cuatro partes Los primeros digitos del codigo de barras EAN identifican el pais que otorgo el codigo no el pais de origen del producto Por ejemplo en Chile se encarga de ello una empresa responsable adscrita al sistema EAN y su codigo es el 780 Composicion del codigo Codigo del pais en donde radica la empresa compuesto por tres 3 digitos Codigo de empresa es un numero compuesto por cuatro o cinco digitos que identifica al propietario de la marca Es asignado por la asociacion de fabricantes y distribuidores AECOC 5 Codigo de producto completa los doce primeros digitos Digito de control para comprobar el digito de control por ejemplo inmediatamente despues de leer un codigo de barras mediante un escaner numeramos los digitos de derecha a izquierda A continuacion se suman los digitos de las posiciones impares el resultado se multiplica por 3 y se le suman los digitos de las posiciones pares Se busca decena inmediatamente superior y se le resta el resultado obtenido El resultado final es el digito de control Si el resultado es multiplo de 10 el digito de control sera cero 0 Por ejemplo para 123456789041 el digito de control sera Numeramos de derecha a izquierda 140987654321 Suma de los numeros en los lugares Impares 1 0 8 6 4 2 21 Multiplicado por 3 21 3 63 Suma de los numeros en los lugares pares 4 9 7 5 3 1 29 Suma total 63 29 92 Decena inmediatamente superior 100 Digito de control 100 92 8El codigo quedara asi 123456789041 b 8 b Algoritmo informatico EditarPerl Editar Calculo del digito de control EAN my ean 750863367001 Valor de prueba my checksum 1000 my i 0 for my digit split reverse ean Recorremos el ean de forma inversa digito por digito checksum Modificamos checksum i 2 segun la posicion del digito digit posicion impar digit 3 posicion par checksum 10 Ajustamos a la decena inmediatamente inferior print Digito de control checksum n print Codigo EAN ean checksum n PHP Editar Calculo del digito de control EAN function ean13 checksum message checksum 0 foreach str split strrev message as pos gt val checksum val 3 2 pos 2 return 10 checksum 10 10 Valor de prueba sin digito de control ean 931804231236 echo Digito de control ean13 checksum ean C Editar Calculo del digito de control EAN string EAN 123456789012 int iSum 0 int iSumInpar 0 var iDigit 0 for int i EAN Length i gt 1 i iDigit Convert ToInt32 EAN Substring i 1 1 if i 2 0 iSumInpar iDigit else iSum iDigit iDigit iSumInpar iSum 3 int iCheckSum 10 iDigit 10 10 Console Write Digito de control iCheckSum ToString Python 3 Editar EAN 123456789041 def ean checksum code str gt int digits int i for i in reversed code return 10 3 sum digits 0 2 sum digits 1 2 10 print f Digito de control ean checksum EAN Python Editar EAN 123456789041 def eanCheck ean checksum 0 for i digit in enumerate reversed ean checksum int digit 3 if i 2 0 else int digit return 10 checksum 10 10 print Digito de control d eanCheck EAN Visual Basic 6 0 Editar Calculo del digito de control EAN Dim iSum As Integer Dim iDigit As Integer Dim EAN As String Dim i As Integer iSum 0 iDigit 0 EAN Text1 Text EAN de prueba For i Len EAN To 1 Step 1 iDigit Mid EAN i 1 If Len EAN i 1 Mod 2 lt gt 0 Then iSum iSum iDigit 3 Else iSum iSum iDigit End If Next Dim iCheckSum As Integer iCheckSum 10 iSum Mod 10 Mod 10 Text2 Text iCheckSum Text3 Text Text1 Text amp Text2 Text amp 0000000000000 JavaScript Editar Calculo del digito de control EAN function ean13 checksum message var checksum 0 message message split reverse for var pos in message checksum message pos 3 2 pos 2 return 10 checksum 10 10 Valor de prueba sin digito de control var ean 123456789041 console log ean13 checksum ean Bash Editar function ean13 checksum local EAN 1 test EAN 0 9 amp amp return 1 local d i EAN CHECKSUM 0 while test i gt 0 do let i 1 d EAN i 1 test i 2 ne 0 amp amp let d 3 let CHECKSUM d done let CHECKSUM 10 CHECKSUM 10 10 echo CHECKSUM ean13 checksum 123456789041 ABAP Editar CALL FUNCTION MARA EAN11 EXPORTING P MATNR MARA MATNR P NUMTP MARA NUMTP P EAN11 MARA EAN11 P MEINH MARA MEINS RET EAN11 LMARA EAN11 RET NUMTP LMARA NUMTP BINPT IN SY BINPT P MESSAGE ERROR FLAG EAN FEHLERFLG P HERKUNFT A Fur Abmessungen EAN GDS RELEVANT MARA GDS RELEVANT IMPORTING P NUMTP MARA NUMTP P EAN11 MARA EAN11 VB FLAG MEAN RMMG2 VB MEAN MSGID MSGID s weiter unten MSGTY MSGTY MSGNO MSGNO MSGV1 MSGV1 MSGV2 MSGV2 MSGV3 MSGV3 MSGV4 MSGV4 TABLES MARM EAN MARM EAN MEAN ME TAB MEAN ME TAB NEU AHE 24 10 95 ME TAB ME TAB YDMEAN YDMEAN EXCEPTIONS EAN ERROR 1 OTHERS 2 Delphi Editar Calculo del digito de control EAN function cc CalcDV Ean Ean String Integer Calcula y devuelve el digito verificador de una cadena de codigo EAN13 o EAN8 Devcuelve 1 en caso de ser incorrecto var SP SI I L Integer Impar Boolean begin L Length Ean if L 8 or L 13 then begin SI 0 SP 0 I L 1 Impar Odd L repeat Bucle para sumar los valores discriminando posiciones pares e impares if Impar then SI SI StrToInt Ean I else SP SP StrToInt Ean I Impar not Impar I I 1 until I 0 if Impar then SI SI 3 else SP SP 3 Multiplica por tres segun la longitud del codigo Result 10 SI SP mod 10 Calcula el digito de verificacion end else Result 1 end Java Editar Calculo del codigo de control private int controlCodeCalculator String firstTwelveDigits char charDigits firstTwelveDigits toCharArray int ean13 1 3 int sum 0 for int i 0 i lt charDigits length i sum Character getNumericValue charDigits i ean13 i 2 int checksum 10 sum 10 if checksum 10 checksum 0 return checksum SQL Editar DECLARE initialBarcode VARCHAR 13 auxBarcode VARCHAR 13 finalBarcode VARCHAR 13 SET auxBarcode REVERSE initialBarcode DECLARE verifierCode INT 0 SELECT verifierCode CASE WHEN i 2 0 THEN verifierCode SUBSTRING auxBarcode i 1 ELSE verifierCode SUBSTRING auxBarcode i 1 3 END FROM dbo NumbersTable 1 12 1 FALTA ESTO EN EL SQL SET verifierCode RIGHT 10 RIGHT verifierCode 1 1 SET finalBarcode CONCAT initialBarcode verifierCode RETURN finalBarcode MATLAB Editar if isnumeric ean ean sprintf 013d ean end checksum sum ean 1 end 1 0 rem 0 11 2 2 1 if rem 10 rem checksum 10 10 ean 13 0 disp El checksum no parece ser correcto end Visual FoxPro Editar 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 lt gt 0 THEN lnSuma lnSuma lnDigito 3 ELSE lnSuma lnSuma lnDigito ENDIF ENDFOR lnDigitoVerificador Mod 10 Mod lnSuma 10 10 RETURN lnDigitoVerificador ENDFUNC Excel Editar El ejemplo calcula un EAN13 para la celda A1 si fuera 123456789041 anadiria un 8 como digito de control SI LARGO A1 gt 12 MAS de 13 SI ESERROR A1 1 NO NUMERICO CONCATENAR REPETIR 0 12 LARGO A1 A1 amp RESIDUO 10 DERECHA SI ERROR VALOR EXTRAEB TEXTO A1 0 2 1 0 SI ERROR VALOR EXTRAEB TEXTO A1 0 4 1 0 SI ERROR VALOR EXTRAEB TEXTO A1 0 6 1 0 SI ERROR VALOR EXTRAEB TEXTO A1 0 8 1 0 SI ERROR VALOR EXTRAEB TEXTO A1 0 10 1 0 SI ERROR VALOR EXTRAEB TEXTO A1 0 12 1 0 3 SI ERROR VALOR EXTRAEB TEXTO A1 0 1 1 0 SI ERROR VALOR EXTRAEB TEXTO A1 0 3 1 0 SI ERROR VALOR EXTRAEB TEXTO A1 0 5 1 0 SI ERROR VALOR EXTRAEB TEXTO A1 0 7 1 0 SI ERROR VALOR EXTRAEB TEXTO A1 0 9 1 0 SI ERROR VALOR EXTRAEB TEXTO A1 0 11 1 0 1 10 LibreOffice Calc amp Google Sheets Editar El ejemplo calcula un EAN13 para la celda A6 si fuera 123456789041 anadiria un 8 como digito de control IF ISNUMBER VALUE A6 IF LEN A6 12 A6 amp IF MOD MID A6 2 1 MID A6 4 1 MID A6 6 1 MID A6 8 1 MID A6 10 1 MID A6 12 1 3 LEFT A6 1 MID A6 3 1 MID A6 5 1 MID A6 7 1 MID A6 9 1 MID A6 11 1 10 0 0 10 MOD MID A6 2 1 MID A6 4 1 MID A6 6 1 MID A6 8 1 MID A6 10 1 MID A6 12 1 3 LEFT A6 1 MID A6 3 1 MID A6 5 1 MID A6 7 1 MID A6 9 1 MID A6 11 1 10 Deben ser 12 digitos Deben ser digitos C Editar Se presupone que la variable ean contiene un codigo EAN valido char ean 13 123456789041 char car ean 12 int par 0 int control 0 int num while car ean num car 0 if par num 3 par par control num return 10 control 10 Vease tambien EditarASIN Codigo de barras Tienda de autoservicio GS1 128 antes Ean 128 Referencias Editar BOE es Documento DOUE L 2015 82354 www boe es Consultado el 31 de marzo de 2020 Flamarique Sergi 31 de marzo de 2019 Manual de gestion de almacenes MARGE BOOKS ISBN 978 84 17313 84 5 Consultado el 31 de marzo de 2020 Informacion sobre los identificadores unicos de producto Ayuda de Manufacturer Center support google com Consultado el 31 de marzo de 2020 Datos del ano 2003 Diez pasos para implantar el Codigo de BarrasEnlaces externos EditarEAN International ahora GS1 International en ingles Directorio de sitios en todo el mundo Prefijos EAN por pais EAN database en ingles Datos Q357404 Multimedia International Article Number EAN Obtenido de https es wikipedia org w index php title European Article Number amp oldid 136243091, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos