Ir para conteúdo
  • Cadastre-se

dev botao

Procedimento para Validar e Assinar um XML


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

Recommended Posts

Boa tarde Pessoal,

Sou novo na utilização da DLL, pois ate então, utilizavamos o validador para fazer a validação, assinatura e envio do xml.

Com o comunicado da descontinuação do mesmo, estamos implementando a solução, para o mesmo.

Estou utilizando o Delphi xe8 para o mesmo, montando o procedimento para pegar um xml, que já geramos utilizando a dll da nfe,

para validar, assinar e enviar.

Poderiam me dar uma força ?

Segue o meu procedimento até o momento,

procedure TFormValidadorNfe.btnArquivoClick(Sender: TObject);
var
 vCaminhoXml  : String;
 vCaminhoCert : String;
 vNumeroSerie : String;
begin
 OpenDialog.DefaultExt := '*.xml';
 OpenDialog.Filter := 'Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*';

 OpenDialog.Title := 'Selecionar XML\';
 OpenDialog.InitialDir := 'C:\\';
 if OpenDialog.Execute then
 Begin
   vCaminhoXml :=  OpenDialog.FileName;

   Memo1.Clear;
   Memo1.Lines.LoadFromFile(vCaminhoXML);
   ACBrNFe1.NotasFiscais.LoadFromFile(vCaminhoXML,true);
   try

    if (edtTipoCertificado.Text = 'A1') then
    begin
      OpenDialog.Title := 'Selecione o Certificado';
      OpenDialog.DefaultExt := '*.pfx';
      OpenDialog.Filter := 'Arquivos PFX (*.pfx)|*.pfx|Todos os Arquivos (*.*)|*.*';
      OpenDialog.InitialDir := ExtractFileDir(application.ExeName);
      if OpenDialog.Execute then
      begin
       vCaminhoCert := OpenDialog.FileName;
       ACBrNFe1.Configuracoes.Certificados.ArquivoPFX  := vCaminhoCert;
       ACBrNFe1.Configuracoes.Certificados.Senha       := 'associacao';
       ACBrNFe1.Configuracoes.Certificados.NumeroSerie := 'A1';
       ACBrNFe1.SSL.CarregarCertificado;
      end;
    end;
    if (edtTipoCertificado.Text = 'A3') then
    begin
     if ACBrNFe1.SSL.CertificadoLido = False then
        ACBrNFe1.SSL.SelecionarCertificado;
    end;

    ACBrNFe1.NotasFiscais.Validar;
    if ACBrNFe1.NotasFiscais.Items[0].Alertas <> '' then
      MemoDados.Lines.Add('Alertas: '+ACBrNFe1.NotasFiscais.Items[0].Alertas);
      ShowMessage('Nota Fiscal Eletrônica Valida');
   except
    on E: Exception do
    begin
          MemoDados.Lines.Add('Exception: '+E.Message);
          MemoDados.Lines.Add('Erro: '+ACBrNFe1.NotasFiscais.Items[0].ErroValidacao);
          MemoDados.Lines.Add('Erro Completo: '+ACBrNFe1.NotasFiscais.Items[0].ErroValidacaoCompleto);
     end;
   end;

   //ACBrNFe1.NotasFiscais.GerarNFe;
   ACBrNFe1.NotasFiscais.Assinar;
 end;
end;

 

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

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