Ir para conteúdo
  • Cadastre-se

dev botao

Ref. preenchimento dos campos cEAN e cEANTrib


Vilmardiogo
  • Este tópico foi criado há 4785 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Olá pessoal... conforme exigência da legislação, (“§ 6o A partir de 1o de julho de 2011, fica obrigatório o preenchimento dos campos cEAN e cEANTrib da NF-e, quando o produto comercializado possuir código de barras com GTIN (Numeração Global de Item Comercial).”). Já me antecipando, resolvi criar uma função que faça a validação do digito verificador dos códigos de barras, de acordo com o manual da EAN Brasil. Esta função valida todos os códigos, de acordo com o que esta no final da página 57, do manual do usuário.

Códigos de barra que a função valida

GTIN - 8

UCC - 12

GTIN - 13

GTIN - 14

SSCC - 18

-----------------------------------------------

código da função Valida_EAN

function Valida_EAN(vEan: String): Boolean;

var

Temp1, Temp2, Digito: Integer;

Temp3, Temp4: String;

begin

Result := False;

Temp2 := 0; Temp3 := '';

if ((Length(vEan) <> 8) and (Length(vEan) <> 12) and

(Length(vEan) <> 13) and (Length(vEan) <> 18)) then

Exit;

Temp4 := '31313131313131313';

Temp4 := Copy(Temp4,(Length(Temp4)-Length(vEan)),Length(vEan)-1);

Digito := StrToInt(Copy(vEan,Length(vEan),1));

Temp3 := Copy(vEan,1,Length(vEan)-1);

for Temp1 := 1 to Length(Temp3) do

Temp2 := Temp2+StrToInt(Temp3[Temp1])*StrToInt(Temp4[Temp1]);

Temp2:=10-Round(Frac(Temp2/10)*10);

if Temp2 = 10 then

Temp2 := 0;

Result := (Temp2 = Digito);

end;

Peço aos colegas desenvolvedores que analizem o código da função a fim de melhorar o código, pois criei ela na correria...

E aos colegas responsáveis pelo projeto ACBr se esta função for de utilidade para o projeto que a coloquem no projeto pra que outras pessoas possão utilizá-la.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4785 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.