Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Olá!!
Estou com um problema ao enviar o email do pdf do cancelamento do NFCe pro cliente final.

Dentro da função : *TACBrNFe.EnviarEmailEvento* existe uma procedure chamada: ImprimirEventoPDF;

e ela ta gerando o nome do arquivo assim: CHAVE + '-cancelado-nfe.pdf'

porém na hora que a função vai anexar o PDF ele procura com o nome: '110111' + CHAVE + '-procEventoNFe.pdf';

com isso ele gera esse erro: *erro add attachment: file not exists*

E por fim não envia o email...

Alguém aí já viu esse erro?

  • Consultores
Postado

Bom dia Júlio,

Analisando os fontes do componente temos:

Unit: ACBrNFe.pas - método EnviarEmailEvento:

    ImprimirEventoPDF;
    NomeArq := OnlyNumber(EventoNFe.Evento[0].InfEvento.Id);
    NomeArq := PathWithDelim(DANFE.PathPDF) + NomeArq + '-procEventoNFe.pdf';
    AnexosEmail.Add(NomeArq);

Nesse fragmento de código, temo a chamada para gerar o PDF em seguida a montagem do nome do arquivo a ser anexado ao e-mail, note que o nome do arquivo é:

<ID>-procEventoNFe.pdf

 

Unit: ACBrNFeDANFeRLClass.pas - método ImprimirEventoPDF:

procedure TACBrNFeDANFeRL.ImprimirEVENTOPDF(ANFe: TNFe);
var
  Impresso: Boolean;
  I, J: Integer;
  NumID, ArqPDF: String;

  function ImprimirEVENTOPDFTipo(EventoNFeItem: TInfEventoCollectionItem; ANFe: TNFe): String;
  begin
    Result := Self.PathPDF + OnlyNumber(EventoNFeItem.InfEvento.id) + '-procEventoNFe.pdf';

    // TipoDANFE ainda não está sendo utilizado no momento
    TfrlDANFeEventoRLRetrato.SalvarPDF(Self, EventoNFeItem, Result, ANFe);
  end;

begin
  (...)
end;

Nesse fragmento de código, temos uma função chamada ImprimirEventoPDFTipo que monta o nome do PDF e chama o método SalvarPDF passando como parâmetro o nome do PDF.

Note que o nome do arquivo PDF é: <ID>-procEventoNFe.pdf 

 

Portanto tanto a rotina que salva o PDF quanto a que anexa o PDF no e-mail para ser enviado utilizam o mesmo nome.

Concluo que na sua maquina a unit ACBrNFeDANFeRLClass.pas foi alterada e consequentemente ao executar o Tortoise para atualizar os fontes ele não esteja conseguindo atualizar.

Verifique se essa unit e outras não contenham uma bolinha vermelha.

Caso afirmativo exclua a unit e atualize novamente os fontes, feito isso reinstale a suíte ACBr usando o ACBrInstall_trunk2 com a opção de apagar arquivos antigos marcada.

Por fim faça novos testes.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Fundadores
Postado

Parece que realmente há um Bug...

Por favor testes, substituindo com o trecho abaixo

procedure TACBrNFe.EnviarEmailEvento(const sPara, sAssunto: String;
  sMensagem: TStrings; sCC: TStrings; Anexos: TStrings;
  sReplyTo: TStrings);
var
  NomeArq: String;
  AnexosEmail: TStrings;
  StreamNFe : TMemoryStream;
begin
  AnexosEmail := TStringList.Create;
  StreamNFe := TMemoryStream.Create;
  try
    AnexosEmail.Clear;

    if Anexos <> nil then
      AnexosEmail.Text := Anexos.Text;

    GravarStream(StreamNFe);

    ImprimirEventoPDF;
    AnexosEmail.Add(DANFE.ArquivoPDF);
    NomeArq := OnlyNumber(EventoNFe.Evento[0].InfEvento.Id);
    EnviarEmail(sPara, sAssunto, sMensagem, sCC, AnexosEmail, StreamNFe,
	  NomeArq + '-procEventoNFe.xml', sReplyTo);
  finally
    AnexosEmail.Free;
    StreamNFe.Free;
  end;
end; 

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Administradores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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á 1692 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.