Ir para conteúdo
  • Cadastre-se

dev botao

Load De Arquivo Xml E Geração De Pdf


MauricioGuedes
Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 3505 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde!

 

 

Legenda: Utilizo Fortes Rerport para impressão de notas e PDF.

 

 

Na seguinte Classe de coleção de Notas: TNotasFiscais = class(TOwnedCollection)

que esta localizada dentro do arquivo ACBrNFeNotasFiscais;

 

 

Tenho método:

function TNotasFiscais.LoadFromStream(Stream: TStringStream; AGerarNFe: Boolean = True): Boolean;

 

que dentro estancia o seguinte objeto:

LocNFeR := TNFeR.Create(Self.Add.NFe);

 

e chama o método: LocNFeR.LerXml;

 

 

Dentro do método lerXML o mesmo elimina a parte "NFe" do ID da Nota, ficando apenas a chave de acesso, conforme o seguinte código:

NFe.infNFe.ID := StringReplace( UpperCase(NFe.infNFe.ID), 'NFE', '', [rfReplaceAll] ) ;
 
O problema é que ao gerar o PDF pelo Fortes Rerport, utilizando a classe:   TACBrNFeDANFeRL = class( TACBrNFeDANFEClass )
localizada no arquivo ACBrNFeDANFeRLClass;
 
utilizando o método: procedure TACBrNFeDANFeRL.ImprimirDANFEPDF(NFE : TNFe = nil);
o NFe é removido com o copy, abaixo:

          sFile := TACBrNFe(ACBrNFe).DANFE.PathPDF +
                   Copy(TACBrNFe(ACBrNFe).NotasFiscais.Items.NFe.infNFe.ID,
                   4, 44) + '-nfe.pdf';
 
 
Agora, chegando ao assunto que interessa, quando o sistema emite uma nota fiscal, ele trás o ID idêntico ao que esta no Arquivo XML:
Id="NFe42141003657739000169550310000000451922859016">
 
então, elimina o NFe e gera o pdf com o seguinte nome: 42141003657739000169550310000000451922859016.pdf
ficando corretamente.
 
o Problema é que quando eu faço um load no xml, no caso de uma reimpressão de nota, utilizando o método descrito ali em cima, ele substitui o Nfe, aí o arquivo pdf é gerado com o seguinte nome:
41003657739000169550310000000451922859016.pdf
 
Cortando os primeiros dígitos da string.
 
 
 
A minha dúvida, é tem algum motivo específico pra isso, ou existe outro método para gerar PDF que gere corretamente, ou então é um problema?,
 
Acredito que eliminando o seguinte código, o problema seria resolvido se não há motivos específicos para o mesmo estar ali.
 
 
 
NFe.infNFe.ID := StringReplace( UpperCase(NFe.infNFe.ID), 'NFE', '', [rfReplaceAll] ) ;
dentro do método: LocNFeR.LerXml;
 
Pois testei e funcionou perfeitamente, os arquivos PDF são gerados com os nomes idênticos.
 
Aguardo uma posição!
 
 
 
 
 
 
 
 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa noite Mauricio!

chegou a ler o seguinte tópico >

agora estamos criando notas técnicas do projeto!

 

também gostaria de saber se fez o update do svn! percebi que o Italo subiu alterações para a impressão em Fortes e geração de PDF no dia de ontem!

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

  • Consultores
  • Solution

Bom dia Mauricio,

 

Favor atualizar os fontes e testar novamente.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde!

 

Acabei de atualizar o ACBR e agora o PDF (função ImprimirPDF do DafeRave) gera o arquivo como seguinte nome :

 

52141108674453000105550010000002091000002091.pdf (sem "-nfe.pdf").

 

Porém na função envia email  ele procura o arquivo 

 

52141108674453000105550010000002091000002091-nfe.pdf

 

e da arquivo não encontrado e não envia email da nota.

 

alterei o fonte do ACBR emergencialmente no meu disco das seguinte forma:

 

AcbrNFeNotasFiscais.pas - Função EnviarEmail

 

Linha: 324

         TACBrNFe( TNotasFiscais( Collection ).ACBrNFe ).DANFE.ImprimirDANFEPDF(NFe);
          NomeArq :=  StringReplace(NFe.infNFe.ID,'NFe', '', [rfIgnoreCase]);
          NomeArq := PathWithDelim(TACBrNFe( TNotasFiscais( Collection ).ACBrNFe ).DANFE.PathPDF)+NomeArq+'-nfe.pdf';

            //se nao existir com o "-nfe.pdf" procura o arquivo  ".pdf"
          if not FileExists( NomeArq ) then
          begin
            NomeArq :=  StringReplace(NFe.infNFe.ID,'NFe', '', [rfIgnoreCase]);
            NomeArq := PathWithDelim(TACBrNFe( TNotasFiscais( Collection ).ACBrNFe ).DANFE.PathPDF)+NomeArq+'.pdf';
          end;


          AnexosEmail.Add(NomeArq);
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Toda vez que acho um bug no ACBR posto aqui no fórum , porém em vão. 

 

Acabo tendo que manter uma versão modificada em meu computador.

Bom dia

todos os posts assim que possível são analisados e corrigidos!

mas também é preciso ler o fórum e também atualizar o SVN!

 

se acompanha deve ter visto a Nota Técnica subida pelo nosso amigo Italo padronizando os nomes, também a atualização no svn com as alterações onde está com problemas!

chegou a ver isso?

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

Caro Juliomar,

 

Passei um dia inteiro pesquisando no fórum sobre a função mencionada acima e não localizei nenhum post sobre o assunto, somente este.

 

Sempre vejo respostas desse tipo, "Procure no forum", se eu tivesse encontrado não estaria postando aqui.

 

Ninguém  entrou aqui para falar sobre o BUG que eu postei ontem, mas pra entrar aqui e mandar eu pesquisar no fórum sem pre aparece.

 

* Li o fórum,  atualizei meu componente, corrigi o fonte e postei o código aqui.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Caro Juliomar,

 

Passei um dia inteiro pesquisando no fórum sobre a função mencionada acima e não localizei nenhum post sobre o assunto, somente este.

 

Sempre vejo respostas desse tipo, "Procure no forum", se eu tivesse encontrado não estaria postando aqui.

 

Ninguém  entrou aqui para falar sobre o BUG que eu postei ontem, mas pra entrar aqui e mandar eu pesquisar no fórum sem pre aparece.

 

* Li o fórum,  atualizei meu componente, corrigi o fonte e postei o código aqui.

Então faz o seguinte:

atualize o svn, depois faça uma olhada na pasta do svn/Doctos/NotasTecnicas e leia o arquivo ACBr NT 2014-001 versão 1.02.pdf!

Sera esse o padrão então já digo que a alteração acima não será implementada no svn!

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

Juliomar,

 

Muito obrigado por responder.

 

A questão é que temos notas fiscais já emitidas nos clientes, onde foi gerado o PDF no formato antigo ( sem o '-nfe.pdf' ) , e os clientes podem precisar enviar estas notas por email 

a questão é que a função ACBrNFe.NotasFiscais.Items[ ].EnviarEmail   procura agora somente o arquivo com a nova nomeclatura ( chave-nfe.pdf ).

 

Resumindo  os usuários do ACBR  que usam esta função não conseguirão enviar o email das notas emitidas antes da atualização.

 

Mais uma vez muito obrigado por responder.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Renato,

 

Por gentileza, favor atualizar e testar mais uma vez.

 

Fico no aguardo de um retorno para saber se agora esta funcionando corretamente.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Juliomar,

 

Muito obrigado por responder.

 

A questão é que temos notas fiscais já emitidas nos clientes, onde foi gerado o PDF no formato antigo ( sem o '-nfe.pdf' ) , e os clientes podem precisar enviar estas notas por email 

a questão é que a função ACBrNFe.NotasFiscais.Items[ ].EnviarEmail   procura agora somente o arquivo com a nova nomeclatura ( chave-nfe.pdf ).

 

Resumindo  os usuários do ACBR  que usam esta função não conseguirão enviar o email das notas emitidas antes da atualização.

 

Mais uma vez muito obrigado por responder.

Então o problema deve estar em outro lugar, pois toda vez que vc chama o comando EnviarEmail o PDF é gerado novamente, veja a linha "TACBrNFe( TNotasFiscais( Collection ).ACBrNFe ).DANFE.ImprimirDANFEPDF(NFe);"

  • Curtir 1
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.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

André ,

 

Até a versão de ontem da função ImprimirDANFEPDF  do "RAVE REPORTS" estava gerando o arquivo sem o "-nfe.pdf",  não posso atualizar agora o componente porque estou publicando uma versão já testada do meu sistema.

 

Ítalo, vou atualizar o ACBR em uma outra maquina aqui e posto o resultado.

 

Muito obrigado pessoal.

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...