Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Consultores
Postado

Como você pretende fazer essa Validação?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Consultores
Postado

Minha pergunta se refere ao algorítimo. :)

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

Poderia usar o próprio algorítimo de validação do componente ACBRNfe:

function ValidaEAN(const 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;

Sistemas para toda área Goumert, pequeno varejo e baladas.

www.controleautomacao.com.br

  • 5 semanas depois ...
  • Fundadores
Postado

É preciso uma revisão no ACBrNFe e ACBrSPED, existem muitas funções repetidas como por exemplo a validação de CNPJ e I.E.

Hoje existe em ACBrUtil as funçoes:

function EAN13Valido( CodEAN13 : String ) : Boolean ;

function EAN13_DV( CodEAN13 : String ) : String ;

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • 3 meses depois ...
  • Moderadores
Postado

daniel_paixao, não encontrei a função "ValidaEAN(const vEAN:String):Boolean;" no ACBRNfe, poderia me mostrar onde está?

Como fica os códigos de barras com 8, 12 e 14 dígitos para emissão de NF-e ? Só consigo transmitir NF-e com 13 dígitos.

Esta em ACBrUtil.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

Regys, encontrei as funções EAN13Valido e EAN13_DV no ACBrUtil, porém não encontrei a função ValidaEAN que o daniel_paixao postou acima.

Se o ACBr só tem a função para validar EAN13 como é feita a validação dos códigos EAN de 8, 12 e 14 dígitos? Tentei transmitir NFe de produtos com EAN de 8 e 14 dígitos e a SEFAZ-MT não aceitou, alguém poderia explicar como funciona isso tudo?

  • 4 semanas depois ...
  • 2 semanas depois ...
  • 1 ano depois...
  • Este tópico foi criado há 4130 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.