Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Boa tarde pessoal,

   Estou com um problema no envio do evento por email.

 

   Ao enviar o email de um evento pelo comando  ACBrNFe1.EnviarEmailEvento com o parâmetro EnviaPDF = True está dando um erro que o sistema não encontra o PDF do evento.

   Ocorre que na revision 7487 a unit ACBrNFe.pas foi alterada, na linha 804 de:       

NomeArq := StringReplace(EventoNFe.Evento[0].InfEvento.id,'ID', '', [rfIgnoreCase]);

para:

        NomeArq := Copy(EventoNFe.Evento[0].InfEvento.id, 09, 44) +
                   Copy(EventoNFe.Evento[0].InfEvento.id, 03, 06) +
                   Copy(EventoNFe.Evento[0].InfEvento.id, 53, 02);

   Ocorre que nas units que geram o PDF (Utilizo o Rave Codebase e o Fast Report) o nome do arquivo não foi alterado. 

 

   Não sei como posso resolver esse problema, pois a alteração envolve muitas units, inclusive algumas que eu não utilizo e não tenho como testar. 

 

No Aguardo,

Jonas Henrique Montoia

 

   

 

 

  • Consultores
Postado

Bom dia

Seu svn esta atualizado?

Houve algumas alterações recentemente!

 

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

Bom dia Juliomar.

   Meus fontes estão atualizados sim.

   Na dúvida exclui todos os arquivos da pasta acbr\Fontes\ACBrNFe2 e dei um update.

 

   O problema somente ocorre ao enviar o email com a opção EnviaPDF = True.

   Na Unit ACBrNFe a procedure EnviarEmailEvento está assim:

    if (EnviaPDF) then
    begin
      if DANFE <> nil then
      begin
        ImprimirEventoPDF;
//        NomeArq := StringReplace(EventoNFe.Evento[0].InfEvento.id,'ID', '', [rfIgnoreCase]);
        NomeArq := Copy(EventoNFe.Evento[0].InfEvento.id, 09, 44) +
                   Copy(EventoNFe.Evento[0].InfEvento.id, 03, 06) +
                   Copy(EventoNFe.Evento[0].InfEvento.id, 53, 02);   // Aqui tenta ler como IDNFe+TipoEvento+CodEvento
        NomeArq := PathWithDelim(DANFE.PathPDF)+NomeArq+'evento.pdf';
        AnexosEmail.Add(NomeArq);
      end;
    end;

    EnviaEmail(sSmtpHost,

   Na procedure ImprimirEVENTOPDF da Unit ACBrNFeDANFEFR.pas está da seguinte forma:

  if PrepareReportEvento then
  begin
    dmDanfe.frxPDFExport.Author     := Sistema;
    dmDanfe.frxPDFExport.Creator    := Sistema;
    dmDanfe.frxPDFExport.Producer   := Sistema;
    dmDanfe.frxPDFExport.Title      := TITULO_PDF;
    dmDanfe.frxPDFExport.Subject    := TITULO_PDF;
    dmDanfe.frxPDFExport.Keywords   := TITULO_PDF;
    dmDanfe.frxPDFExport.ShowDialog := False;

    {
    NomeArq := TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.chNFe;
    NomeArq := NomeArq + '-' + TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.TipoEvento;
    NomeArq := NomeArq + '-' + IntToStr(TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.nSeqEvento);
    }
    {
    NomeArq := TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.TipoEvento;
    NomeArq := NomeArq + TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.chNFe;
    }

    NomeArq := Copy(TACBrNFe(ACBrNFe).EventoNFe.Evento.Items[0].InfEvento.id, 3, 52); // Aqui salva como TipoEvento+IDNFe+CódigoEvento
    
    dmDanfe.frxPDFExport.FileName := PathWithDelim(Self.PathPDF) + NomeArq + 'evento.pdf';
    dmDanfe.frxReport.Export(dmDanfe.frxPDFExport);
  end;

   Observe que essa procedure é chamada antes de ler o PDF. Como os nomes de arquivo estão diferentes o sistema dá esse erro.

   Só tenho como testar os relatórios em Fast e em RaveCB, que são os que eu uso e nos dois casos o problema continua.

 

Att,

Jonas

  • Membro Pro Verificado
Postado

Boa tarde Juliomar !,

 

Tive este mesmo problema e resolvi com a seguinte alteração abaixo, comentando a parte em vermelho e incluindo o comando em azul,

 

veja abaixo parte do codigo EnviarEmailEvento da unit ACBrNFe:

 

segue anexo unit ACBrNFe.pas, para analise e posterior versionamento para correção deste problema.

 

 

   // AnexosEmail.Add('');
    if (EnviaPDF) then
    begin
      if DANFE <> nil then
      begin
        ImprimirEventoPDF;
//        NomeArq := StringReplace(EventoNFe.Evento[0].InfEvento.id,'ID', '', [rfIgnoreCase]);
 
{
        NomeArq := Copy(EventoNFe.Evento[0].InfEvento.id, 09, 44) +
                   Copy(EventoNFe.Evento[0].InfEvento.id, 03, 06) +
                   Copy(EventoNFe.Evento[0].InfEvento.id, 53, 02);
}
        NomeArq := Copy(EventoNFe.Evento[0].InfEvento.id, 3, 52);
        
        NomeArq := PathWithDelim(DANFE.PathPDF)+NomeArq+'evento.pdf';
        AnexosEmail.Add(NomeArq);
      end;
    end;
 

ACBrNFe.pas

  • Consultores
Postado

Bom dia Léo

Estou verificando ! pois o problema parece não ser nesse ponto mas sim onde gera os nomes dos arquivos no evento!

comparando com os CT-e ele está da mesma forma e funciona!

 

 

Boa tarde Juliomar !,

 

Tive este mesmo problema e resolvi com a seguinte alteração abaixo, comentando a parte em vermelho e incluindo o comando em azul,

 

veja abaixo parte do codigo EnviarEmailEvento da unit ACBrNFe:

 

segue anexo unit ACBrNFe.pas, para analise e posterior versionamento para correção deste problema.

 

 

   // AnexosEmail.Add('');
    if (EnviaPDF) then
    begin
      if DANFE <> nil then
      begin
        ImprimirEventoPDF;
//        NomeArq := StringReplace(EventoNFe.Evento[0].InfEvento.id,'ID', '', [rfIgnoreCase]);
 
{
        NomeArq := Copy(EventoNFe.Evento[0].InfEvento.id, 09, 44) +
                   Copy(EventoNFe.Evento[0].InfEvento.id, 03, 06) +
                   Copy(EventoNFe.Evento[0].InfEvento.id, 53, 02);
}
        NomeArq := Copy(EventoNFe.Evento[0].InfEvento.id, 3, 52);
        
        NomeArq := PathWithDelim(DANFE.PathPDF)+NomeArq+'evento.pdf';
        AnexosEmail.Add(NomeArq);
      end;
    end;

 

 

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 !!

  • Consultores
Postado

Boa tarde a todos!

Logo teremos novidades! E os problemas com nomes de arquivos serão sanados por completo!

Só peço um pouco de paciência!

 

Obrigado a todos!

 

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á 4258 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...