Ir para conteúdo
  • Cadastre-se

dev botao

Validar AcrNFe ?


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

Recommended Posts

Boa Tarde,

Estou com problema ao validar um XMl, ao executar o codigo abaixo na linha de  Validar   esta saindo pelo   Except   e nao mostra o tipo de erro.

Estou esquecendo de configurar algum parametro ?

desde ja obrigado.

     ACBrNFe1.Configuracoes.Geral.Salvar             := True;
     ACBrNFe1.Configuracoes.Arquivos.PathSalvar      := wArqXML;
     ACBrNFe1.Configuracoes.Arquivos.PathSchemas     := wArqSchema;
     ACBrNFe1.Configuracoes.Geral.ExibirErroSchema   := True;
     ACBrNFe1.Configuracoes.Geral.FormatoAlerta      := 'Campo:%DESCRICAO% - %MSG%';
     ACBrNFe1.NotasFiscais.Clear;
     OpenDialog1.Execute;
     ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName, True);
     try
       ACBrNFe1.NotasFiscais.Validar;
       if ACBrNFe1.NotasFiscais.Items[0].Alertas <> '' then
          MemoResp.Lines.Add('Alertas: '+ACBrNFe1.NotasFiscais.Items[0].Alertas)
       else Application.MessageBox('Nota Fiscal  Validada  com Sucesso !', 'Informativo', MB_IconInformation + MB_OK);
     except
        MemoErro.Lines.Add('Erro: '+ACBrNFe1.NotasFiscais.Items[0].ErroValidacao);
        MemoErro.Lines.Add('Erro Completo: '+ACBrNFe1.NotasFiscais.Items[0].ErroValidacaoCompleto);  // Útil para gravar em arquivos de LOG
     end;

 

Link para o comentário
Compartilhar em outros sites

Ok, Obrigado Juliomar, eu coloquei o comando on exception para exibir a mensagem de erro e retornou como: Nao existe o Certificado.   exatamente como voce explicou.

Agora estou testando o validar, antes atribuindo os valores da nota no conponente ACBrNfe conforme o exemplo: (ACBrNFe1.NotasFiscais.Add.NFe  ...),  depois ACBrNFe1.NotasFiscais.Assinar;  e depois Validar conforme o codigo abaixo, porem esta retornando a mensagem:   "Arquivo de Schema Nao Especificado".     Porem eu ja copiei os arquivos .xsp na pasta correspondente.  O que estou esquecendo desta vez ?

     ACBrNFe1.Configuracoes.Arquivos.PathSchemas     := wArqSchema;
     ACBrNFe1.Configuracoes.Geral.ExibirErroSchema   := True;
     ACBrNFe1.Configuracoes.Geral.FormatoAlerta      := 'Campo:%DESCRICAO% - %MSG%';
     eExn.Free;
     try
       ACBrNFe1.NotasFiscais.Validar;
       if ACBrNFe1.NotasFiscais.Items[0].Alertas <> '' then
          MemoResp.Lines.Add('Alertas: '+ACBrNFe1.NotasFiscais.Items[0].Alertas)
       else Application.MessageBox('Nota Fiscal  Validada  com Sucesso !', 'Informativo', MB_IconInformation + MB_OK);
     except
        on eExn : exception do  begin

           Application.MessageBox(PChar(eExn.Message), 'Informativo', MB_IconInformation + MB_OK);
           MemoErro.Lines.Add('Erro: '+ACBrNFe1.NotasFiscais.Items[0].ErroValidacao);
           MemoErro.Lines.Add('Erro Completo: '+ACBrNFe1.NotasFiscais.Items[0].ErroValidacaoCompleto);  // Útil para gravar em arquivos de LOG

        end;
     end;

 

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois ...
  • Moderadores

Tu quis dizer arquivos XSD !!!

existem algumas situações que vai levantar a exceção outras você vai precisar conferir o retorno conforme o que é enviado!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2797 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.