Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao enviar cte por e-mail


Ver Solução Respondido por Claudio Stein Junior,
  • Este tópico foi criado há 1591 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá estou tentando mandar um cte por e-mail e está dando um erro que não dava antes. Na Nf-e não acontece. Inclusive estou usando o código do eexemplo. Eu escolho o XML e ao enviar recebo a mensagem: "list index out of bounds [0]. O PDF do e-mail chega certinho, mas o xml chega sem a escrita no corpo, apenas a primeira linha aparece: 

<eventoCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="">

O erro acontece nesta linha e corresponde a essa função: function TEventoCTe.GerarXML: boolean;

  Evento.Items[0].InfEvento.Id := 'ID'+ Evento.Items[0].InfEvento.TipoEvento +
                                        OnlyNumber(Evento.Items[0].InfEvento.chCTe) +
                                        Format('%.2d', [Evento.Items[0].InfEvento.nSeqEvento]);

Como posso resolver? Obrigado.

Postado
25 minutes ago, Juliomar Marchetti said:

Pera o xml ele gera ou não? mesmo local

consegue descrever no exemplo como fazer ocorrer?

Ele gera só com a primeira linha, vou anexar o arquivo que ele  gerou.

O código para enviar o e-mail é esse: 

 

procedure TfrmDemo_ACBrCTe.btnEnviarEmailClick(Sender: TObject);
var
 Para : String;
 CC   : Tstrings;
begin
 if not(InputQuery('Enviar Email', 'Email de destino', Para))
  then exit;

 OpenDialog1.Title := 'Selecione o CTe';
 OpenDialog1.DefaultExt := '*-cte.xml';
 OpenDialog1.Filter := 'Arquivos CTe (*-cte.xml)|*-cte.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*';
 OpenDialog1.InitialDir := ACBrCTe1.Configuracoes.Arquivos.PathSalvar;

 if OpenDialog1.Execute then
  begin
   ACBrCTe1.Conhecimentos.Clear;

   ACBrCTe1.Conhecimentos.LoadFromFile(OpenDialog1.FileName);

   CC:=TstringList.Create;

   if Length(DmEmpresa.CdsEmpresaEMAILCONTADOR.AsString) > 0 then
       CC.Add(DmEmpresa.CdsEmpresaEMAILCONTADOR.AsString); //outros e-mails
   try


      ACBrMail1.Host := edtSmtpHost.Text;
      ACBrMail1.Port := edtSmtpPort.Text;
      ACBrMail1.Username := edtSmtpUser.Text;
      ACBrMail1.Password := edtSmtpPass.Text;
      ACBrMail1.From := edtSmtpUser.Text;
      ACBrMail1.SetSSL := cbEmailSSL.Checked; // SSL - ConexÃo Segura
      ACBrMail1.SetTLS := cbEmailSSL.Checked; // Auto TLS
      ACBrMail1.ReadingConfirmation := False; //Pede confirmação de leitura do email
      ACBrMail1.UseThread := False;           //Aguarda Envio do Email(não usa thread)
      ACBrMail1.FromName := edtEmitFantasia.Text;

      ACBrMail1.AddAttachment(OpenDialog1.FileName);

      ACBrCTe1.Conhecimentos.Items[0].EnviarEmail(Para,
                                                  edtEmailAssunto.Text,
                                                  mmEmailMsg.Lines,
                                                  true,
                                                  CC,
                                                  nil);


   finally
   CC.Free;
  end;
  end;
end;

O erro dispara no momento que tenta enviar o e-mail. O PDF chega perfeito, mas o XML não. Não chega a ser erro de envio, mas de formação do XML.

35200713380804000105570010000407761000407769-cte.xml

  • 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á 1591 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.