Ir para conteúdo
  • Cadastre-se

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

  • Consultores
Postado

Obrigado por reportar.

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

Consultora ACBr Pro

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

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...