Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Após atualizar o ACBRNFe estou encontrado dificuldade ao validar a NFe

Segue o erro:

1871 - Element '{http://www.portalfiscal.inf.br/nfe}NFe': Missing child element(s). Expected is one of ( {http://www.portalfiscal.inf.br/nfe}infNFeSupl, {http://www.w3.org/2000/09/xmldsig#}Signature ).

 

Obrigado

Fernando Costa

Postado

André para poder ir eliminando as variáveis eu acabei por copiar do Demo a rotina GerarNFe, assim não teria o XML ou TXT para ter erro no layout, estou preenchendo direto o componente via código. 

Segue a função em anexo

GerarNFe.txt

Postado

Sempre validei e depois assinei as NFe e não tinha problema

Fiz essa alteração para assinar a nota e retornou um Access Violation, não consegui identificar o motivo

 

Postado

Entendi André, isso que é uma dificuldade que estou encontrado, no Demo funciona normalmente mas quando tento replicar no meu emissor ocorre os erros, e não consigo identificar o motivo. 

 

Postado

São essas as configurações do certificado que coloquei no Demo e funcionaram ai passei para o meu Emissor

ACBrNFe1.Configuracoes.Geral.SSLLib                := TSSLLib(libOpenSSL);
ACBrNFe1.Configuracoes.Geral.SSLCryptLib           := TSSLCryptLib(cryOpenSSL);
ACBrNFe1.Configuracoes.Geral.SSLHttpLib            := TSSLHttpLib(httpOpenSSL);
ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib         := TSSLXmlSignLib(xsXmlSec);

ACBrNFe1.SSL.SSLType := LT_all;

ACBrNFe1.Configuracoes.Certificados.ArquivoPFX  :='caminho do arquivo PFX';
ACBrNFe1.Configuracoes.Certificados.Senha       := 'senha';
ACBrNFe1.Configuracoes.Certificados.NumeroSerie := '';//não informando

Postado

No comando de Assinar, segue a ação do meu botão. 

Quando ocorre o AV o Delphi abre o a unit ACBrDFeXsXMLSec e para na linha "destructor TDFeSSLXmlSignXmlSec.Destroy;"

  ConexaoDtm.ACBrNFe1.NotasFiscais.Clear;

  try
    ConexaoDtm.GerarNFe('1'); //função de teste que preenche os dados no componente 

    ConexaoDtm.ACBrNFe1.NotasFiscais.Assinar;

    mmProcesso.SelAttributes.Color := clBlue;
    mmProcesso.SelAttributes.Style := [fsBold];
    mmProcesso.Lines.Add('NFe GERADA');
    ConexaoDtm.ACBrNFe1.NotasFiscais.GravarXML(caminho+'temps\Nota.XML');
    mmProcesso.Lines.Add('NFe SALVA EM '+caminho+'temps\Nota.XML');
  except
    on e : exception do
    begin
      mmProcesso.SelAttributes.Color := clRed;
      mmProcesso.SelAttributes.Style := [fsBold];
      mmProcesso.Lines.Add('Erro ao gerar NFe '+e.message);
    end;
  end;

 

  • Moderadores
Postado

Tente configurar assim:

      ACBrNFe1.Configuracoes.Geral.SSLLib                := libOpenSSL;
      ACBrNFe1.Configuracoes.Geral.SSLCryptLib           := cryOpenSSL;
      ACBrNFe1.Configuracoes.Geral.SSLHttpLib            := httpOpenSSL;
      ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib         := xsXmlSec;   

 

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
Postado

Olá André, tbm continuou com o mesmo erro

Tentei depurar a função de Assinar. O que me parece que esta validando o certificado corretamente ao chegar na linha "FXMLAssinado := SSL.Assinar(String(XMLUTF8), 'NFe', 'infNFe');" é onde esta ocorrendo o AV.

 

 

  • 4 semanas depois ...
Postado

André 

Obrigado por toda atenção e por fim consegui fazer funcionar.

Depois de varias tentativa resolvi começar a escrever uma nova aplicação do zero, foi ai que identifiquei que quando colocava as DLLs "libeay32.dll" e "ssleay32.dll" na pasta da aplicação que ocorria o erro. Fui na aplicação antiga e tirei tais DLLs da pasta e voltou a funcionar normalmente.

Foi isso que identifiquei, resolvi postar caso ajude alguém

Obrigado

 

 

×
×
  • 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.

The popup will be closed in 10 segundos...