Boa tarde pessoal,
bem coloquei meu sistema para enviar múltiplas notas e após o envio das notas realizar o envio do email - xml e pdf (se requisitado). No envio coloquei pra salvar o pdf da Danfe numa pasta específica, como exemplo vamos tomar C:\DANFE_PDF\ ...
A NFe está sendo transmitida à SEFAZ perfeitamente, os pdfs estão sendo armazenados perfeitamente tb. Porém no momento de enviar por email ao cliente e à uma conta de backup ocorre o seguinte erro, geralmente em um lote de 5 notas ocorre pelo menos em 1 nota:
"OCORRERAM OS SEGUINTES ERROS: CANNOT CREATE FILE "C:\DANFE_PDF\22000810174444000120550010000053551000999992.pdf". O ARQUIVO JÁ ESTÁ SENDO USADO POR OUTRO PROCESSO."
O erro está dentro do procedure NotaFiscal.EnviarEmail(const sSmtpHost,sSmtpPort,sSmtpUser,sSmtpPasswd,sFrom,sTo,sAssunto: String;sMensagem : TStrings;SSL : Boolean;EnviaPDF: Boolean = true;sCC: TStrings=nil;Anexos:TStrings=nil;PedeConfirma: Boolean = False;AguardarEnvio: Boolean = False;NomeRemetente: String = '';TLS : Boolean = True);
na linha: TACBrNFe( TNotasFiscais( Collection ).ACBrNFe ).DANFE.ImprimirDANFEPDF(NFe); Coloquei ela até dentro de um try e mesmo assim aparece a mensagem de erro, porém mesmo com essa mensagem de erro as notas são enviadas por email, esse é o mais estranho!
Já tive casos da mensagem aparecer para a primeira nota, às vezes para segunda e assim por diante, às vezes mais de uma vez para mais de uma nota e às vezes somente para uma de cinco, sendo que como estou em homologação grande parte dos dados das notas são os mesmos mudando só a numeração da NFe.
Att.
Rômulo Mayworm
Focus Automação - RJ