Ir para conteúdo
  • Cadastre-se

Paulo Alexandre Hostert

Membro Pro Verificado
  • Total de ítens

    409
  • Registro em

  • Última visita

Tudo que Paulo Alexandre Hostert postou

  1. Estou adicionado os CNPJ dos tomadores dos conhecimentos vinculados. while not Q.Eof do begin rodo.infANTT.infContratante.Add.CNPJCPF := Q.FieldByName('CNPJCPF').AsString; Q.Next; end;
  2. Boa tarde, Também tive o mesmo problema, e tive que ajustar no fonte do ACBR.
  3. Veja se te ajuda: ACBrNFeObj:TACBrNFe ACBrNFeObj.EnviarEmailEvento(Destinatarios, Assunto, CorpoEmail, CC, Anexos);
  4. hehe Obrigado pelo retorno!
  5. Boa tarde! Tem alguma para de liberação?
  6. Olá boa noite! Já foi desenvolvido alguma coisa?
  7. Bom dia, Segue unit! ACBrBancoCecred.pas
  8. Boa tarde, Tive que fazer uma alteração na Unit ACBrBancoCecredi incluindo a linha que destaquei abaixo, pois quando não tem data de protesto fica faltando as colunas de instrução no arquivo. Tem alguma forma de resolver isso sem alterar essa unit? {Intruções - Protesto} AInstrucao := '0000'; <=== AQUI if (aTipoOcorrencia = '01') or (aTipoOcorrencia = '09') then begin if (DataProtesto > 0) and (DataProtesto > Vencimento) then begin AInstrucao := '06'; // Protestar em xx dias corridos DiasProtesto := IntToStr(DaysBetween(DataProtesto, Vencimento)) end; end else if ATipoOcorrencia = '02' then // 02-Pedido de Baixa AInstrucao := '44';
  9. Daniel, Vi que os anexo estão sendo excluídos no procedimento clear abaixo. Precisamos dessa chamada aqui? procedure TACBrMail.SmtpError(const pMsgError: string); begin Clear; <== fGetLastSmtpError := pMsgError; MailProcess(pmsError); DoException( Exception.Create(pMsgError) ); end;
  10. Daniel, Ficou ótimo! Muito Obrigado! Só mais uma duvida: Utilizo no evento OnAfterMailProcess e OnMailException, uma procedure com o código abaixo para garantir que os anexos sejam excluídos. (Senão os PDFs vão se acumulando na pasta). O problema é nesse ponto a lista de anexos(Attachments) está vazia, sabes por que? for I := 0 to Length(TACBrMail(Sender).Attachments)-1 do begin if FileExists(TACBrMail(Sender).Attachments.FileName) then DeleteFile(TACBrMail(Sender).Attachments.FileName); end;
  11. Retirei, a dependencia "Forms" e implementei o evento ACBrMailException. Segue a unit. ACBrMail.pas
  12. Daniel, Já estou utilizando o metodo ACBrNFe1.EnviarEmailEvento() para o envio.
  13. Devo implementar o evento e te encaminhar?
  14. Concordo Daniel, Porem não encontrei nenhuma forma de exibir o erro quando ocorre alguma exceção. Tem alguma forma de tratar isso sem alterar a ACBrMail?
  15. Acabei de descobrir. Faltou informar no número do Lote, antes não precisava. Obrigado!
  16. Após a atualização para os fontes do trunk2, estou recebendo esse erro no retorno do CT-e: Código: 225 Motivo: Rejeição: Falha no Schema XML do CT-e. A unica coisa que percebi que mudou no código, foi que a propriedade AcbrCTE.Conhecimentos.Items[0].XML retorna vazio, e passei a utilizar a AcbrCTEObj.Conhecimentos.Items[0].XMLAssinado (Na NF-e aconteceu a mesma coisa, mais não deu nenhum erro). Analisei o XML mais não consigo encontrar o erro. Alguém teve esse problema? XML.xml
  17. Segue unit ACBrMail.pas... ACBrMail.pas
  18. Daniel, Resolvi o problema fazendo alguns ajustes na unit acbrmail, na thread para tratamento do erro: Podemos ajustar isso no padrão? { TACBrThread } constructor TACBrThread.Create(AOwner: TComponent); begin FreeOnTerminate := True; fOwner := AOwner; inherited Create(False); end; procedure TACBrThread.DoHandleException; begin Application.ShowException(FException); end; procedure TACBrThread.Execute; begin try if (not terminated) then TACBrMail(FOwner).SendMail; except HandleException; end; end; procedure TACBrThread.HandleException; begin FException := Exception(ExceptObject); try Synchronize(DoHandleException); finally FException := nil; end; end;
  19. Daniel, Ainda sobre o uso da thread, quando ocorre algum erro no envio, como como algum erro nas informações de SMTP, a segunda vez que faço o envio do e-mail, no mesmo objeto acbrmail ocorre a seguinte mensagem: Cannot terminate an externally created thread. Sabe o que é?
  20. Sim, o ACBrMail é criado em tempo de execução. Vou criar o projeto para tentar reproduzir o problema... Daniel, acabei de identificar o problema. Comentei a parte onde destruo o componente ACBrMail funcionou. (Durante a execução da thread deve fazer alguma referencia..) Agora vou ter que avaliar para ajustar isso, já que também estou criando em runtime. Obrigado!
  21. No demo deu certo, é só na minha aplicação que ocorre o problema. Mesmo copiando o código que funciona no demo, quando executo pela minha aplicação da erro. Tem alguma ideia?
  22. Daniel, Após acompanhar depurar o código vi que quando tem o PDF junto, no procedimento abaiixo fica travado: function TMimeMess.AddPartHTMLBinaryFromFile(const FileName, Cid: string; const PartParent: TMimePart): TMimepart; var tmp: TMemoryStream; begin tmp := TMemoryStream.Create; try tmp.LoadFromFile(FileName); <== AQUI SIMPLESMENTE TRAVA Result :=AddPartHTMLBinary(tmp, ExtractFileName(FileName), Cid, PartParent); finally tmp.Free; end; end; Se tento enviar somente o XML ocorre o erro: raised exception class $C0000005 with message 'access violation at 0x00000000: read of address 0x00000000'. Nesse procedimento: for vAttempts := 1 to fAttempts do begin if fSMTP.Login then <== AQUI Break; if vAttempts >= fAttempts then SmtpError('SMTP Error: Unable to Login.'); end; O fato é que deixando a opção de uso da thread como false funciona. (Antes de atualizar para o trunk2 funcionava certinho com o uso da thread).
  23. Boa tarde, Alguém conseguiu fazer o envio do e-mail utilizando a thread? Quando passo o usothread := True, ocorre erro no procedimento abaixo: Function TMimeMess.AddPartHTMLBinary(const Stream: TStream; const FileName, Cid: string; const PartParent: TMimePart): TMimepart; begin Result := AddPart(PartParent); Result.DecodedLines.LoadFromStream(Stream); Result.MimeTypeFromExt(FileName); Result.Description := 'Included file: ' + FileName; Result.Disposition := 'inline'; Result.ContentID := Cid; Result.FileName := FileName; Result.EncodingCode := ME_BASE64; Result.EncodePart; <== O ERRO OCORRE AQUI Result.EncodePartHeader; end;
×
×
  • 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.