Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Boa tarde amigos,

Não estou conseguindo "Obter PDF do DANFSE".

Passo uma chave válida. Inclusive consultando pelo navegador, obtenho do download corretamente do PDF

A opção "Consutar NFSe por Chave" o resultado é satisfatório.

image.thumb.png.92ab78f69f8c90b3864d2c9a495a6d31.png

Postado

Bom dia a todos.

Consegui fazer o download do pdf:

    ACBrNFSeX.SSL.HTTPGet('https://adn.producaorestrita.nfse.gov.br/danfse');
    ACBrNFSeX.ObterDANFSE(DataSource.DataSet.FieldByName('codigo_verificacao').AsString);
    ChecarResposta(tmConsultarNFSePorChave);

    // Não está respeitando a pasta para salvar. Salvando em: ...\Bin\Nota Fiscal Eletronica de Serviço\NFSe\202511
    ACBrNFSeX.DANFSE.PathPDF := dm.QrExecutaSQL.FieldByName('pathpdfserv').AsString;
    ACBrNFSeX.DANFSE.ImprimirDANFSePDF;
 

Porém não está salvando na pasta correta, que seria: ...\Bin\Nota Fiscal Eletronica de Serviço\PDF

 

  • Consultores
Postado
Em 25/11/2025 at 08:40, Anadilson Marx disse:

  // Não está respeitando a pasta para salvar. Salvando em: ...\Bin\Nota Fiscal Eletronica de Serviço\NFSe\202511
    ACBrNFSeX.DANFSE.PathPDF := dm.QrExecutaSQL.FieldByName('pathpdfserv').AsString;
    ACBrNFSeX.DANFSE.ImprimirDANFSePDF;

é que esse trecho assim dai ele vai usar o componente local pra imprimir

e não vai pegar o pdf pronto lá no provedor com o seu código acima

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado
1 minuto atrás, Juliomar Marchetti disse:

é que esse trecho assim dai ele vai usar o componente local pra imprimir

e não vai pegar o pdf pronto lá no provedor com o seu código acima

Entendido. Obrigado

 

Postado
3 horas atrás, Anadilson Marx disse:

Entendido. Obrigado

 

      // Não está respeitando a psta para salvar. Salvando em: ..\Nota Fiscal Eletronica de Serviço\NFSe\202511
      ACBrNFSeX.DANFSE.PathPDF             := dm.QrExecutaSQL.FieldByName('pathpdfserv').AsString;
      ACBrNFSeX.DANFSE.UsaSeparadorPathPDF := False;

      ACBrNFSeX.SSL.HTTPGet('https://adn.producaorestrita.nfse.gov.br/danfse');
      ACBrNFSeX.ObterDANFSE(DataSource.DataSet.FieldByName('codigo_verificacao').AsString);
      //ChecarResposta(tmConsultarNFSePorChave);
      //ACBrNFSeX.DANFSE.ImprimirDANFSePDF;

      ArqPdf := ACBrNFSeX.DANFSE.PathPDF + DataSource.DataSet.FieldByName('codigo_verificacao').AsString + '-nfse.pdf';
      Achou := FilesExists(ArqPdf);
 

O objetivo é salvar o arquivo obtido na pasta conforme o informado em: ACBrNFSeX.DANFSE.PathPDF e não em: ..\Nota Fiscal Eletronica de Serviço\NFSe\202511

 

 

  • Consultores
Postado
Citar

    ACBrNFSeX.DANFSE.PathPDF             := dm.QrExecutaSQL.FieldByName('pathpdfserv').AsString;
      ACBrNFSeX.DANFSE.UsaSeparadorPathPDF := False;

      ACBrNFSeX.SSL.HTTPGet('https://adn.producaorestrita.nfse.gov.br/danfse');
      ACBrNFSeX.ObterDANFSE(DataSource.DataSet.FieldByName('codigo_verificacao').AsString);
      //ChecarResposta(tmConsultarNFSePorChave);
      //ACBrNFSeX.DANFSE.ImprimirDANFSePDF;

      ArqPdf := ACBrNFSeX.DANFSE.PathPDF + DataSource.DataSet.FieldByName('codigo_verificacao').AsString + '-nfse.pdf';
      Achou := FilesExists(ArqPdf);

na verdade ele não vai pelo código de verificação e sim ele retorna pelo chave da nfse 

chegoua depurar o evento obter

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado
10 horas atrás, Juliomar Marchetti disse:

na verdade ele não vai pelo código de verificação e sim ele retorna pelo chave da nfse 

chegoua depurar o evento obter

Bom dia,

Nesse "codigo_verificacao" está a chave com 50 dígitos. 

Em: ACBrNFSeX.DANFSE.PathPDF está: 'C:\FortePlus ERP\Bin\Nota Fiscal Eletronica de Serviço\PDF\' mas salva somente "C:\FortePlus ERP\Bin\Nota Fiscal Eletronica de Serviço\NFSe\202511".

Debuguei aqui mas não encontrei o porque de não respeitar a pasta própria para "PDF"

 

Postado

Em: ACBrNFSeXWebserviceBase

function TACBrNFSeXWebservice.GravarJSON(NomeArquivo, ConteudoXML: String;
  const aPath: String): Boolean;
var
  SoNome, SoPath: String;
begin
  Result := False;
  try
    SoNome := ExtractFileName(NomeArquivo);
    if EstaVazio(SoNome) then
      raise EACBrDFeException.Create('Nome de arquivo não informado');

    SoPath := ExtractFilePath(NomeArquivo);
    if EstaVazio(SoPath) then
      SoPath := aPath;
    if EstaVazio(SoPath) then
      SoPath := FPConfiguracoes.Arquivos.PathSalvar;

    SoPath := PathWithDelim(SoPath);

    ConteudoXML := StringReplace(ConteudoXML, '<-><->', '', [rfReplaceAll]);

    if not DirectoryExists(SoPath) then
      ForceDirectories(SoPath);

    NomeArquivo := SoPath + SoNome;

    WriteToTXT(NomeArquivo, ConteudoXML, False, False);
    Result := True;
  except
    on E: Exception do
      GerarException('Erro ao salvar.', E);
  end;
end;
 

Aqui é que ele atlera. No ExtratFilePath('20251128085256-con-nfse-chv-soap.json') vai retornar vazio aí ele usa: SoPath := FPConfiguracoes.Arquivos.PathSalvar;

Até aí tudo bem, para salvar os arquivos. Mas ele mantém esse, e não respeita o Path do PDF

 

Postado

Debugado tudo...

ACBrProviderBase.pas

procedure TACBrNFSeXProvider.SalvarPDFNfse(const aNome: string;
  const aPDF: AnsiString);
var
  aPath, aNomeArq: string;
  aConfig: TConfiguracoesNFSe;
begin
  aConfig := TConfiguracoesNFSe(FAOwner.Configuracoes);

  aPath := aConfig.Arquivos.GetPathNFSe(0, aConfig.Geral.Emitente.CNPJ,
                        aConfig.Geral.Emitente.DadosEmitente.InscricaoEstadual);

  aNomeArq := PathWithDelim(aPath) + aNome + '-nfse.pdf';

  WriteToTXT(aNomeArq, aPDF, False, False);
end;
 

Não pega o path do PDF 

ANomeArq fica: 'C:\FortePlus ERP\Bin\Nota Fiscal Eletronica de Serviço\NFSe\202511\31062002225794827000145000000000000325113640312586-nfse.pdf'

 

  • 4 semanas depois ...
  • Consultores
Postado

Creio que não tenha conseguido pegar a informação.

mas ele baixa um pdf com o nome dele para a pasta especificada.

chegou a conferir exatamente onde salvou ?

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

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