Pesquisar na Comunidade
Showing results for tags 'Exportando mesmo CT-e'.
Encontrado 1 registro
-
Bom dia, Após enviar o CT-e e receber as informações tenho uma rotina que envia os email aos respectivos envolvidos, porém, se existe mais de um CT-e a exportação do PDF vai se repetindo a cada CT-e, exemplo: 3 CT-e : Exporta o numero 1 na primeira vez Exporta os numero 1,2 na segunda vez Exporta os numero 1,2,3 na terceira vez Segue parte rotina if EnviarEmail and EnviarSefaz then begin memoStatus.Lines.Add(''); memoStatus.Lines.Add('Enviando Conhecimento(s) por e-mail'); memoStatus.Lines.Add(''); for I := 0 to (CTeSYS4.WebServices.Retorno.CteRetorno.ProtCTe. Count - 1) do begin EnderecoEmail := sEmailsCTe; sDataHora := DateTimeToStr (CTeSYS4.WebServices.Retorno.CteRetorno.ProtCTe.Items.DhRecbto); sProtocolo := CTeSYS4.WebServices.Retorno.CteRetorno.ProtCTe. Items.nProt; sStat := IntToStr(CTeSYS4.WebServices.Retorno.CteRetorno.ProtCTe.Items .cStat); sMotivo := CTeSYS4.WebServices.Retorno.CteRetorno.ProtCTe.Items .xMotivo; sChave := CTeSYS4.WebServices.Retorno.CteRetorno.ProtCTe. Items.chCTe; sConhecimento := Copy(sChave, 26, 3) + '.' + Copy(sChave, 29, 3) + '.' + Copy(sChave, 32, 3); sCTRCMax := SiglaFilial + 'E' + Zero(StrToInt(SoNumero(sConhecimento)), 6, True, '0'); if EnderecoEmail <> '' then begin sCC.Clear; mmEmailMsg.Clear; mmEmailMsg.Lines.Add ('Comunicamos por este e-mail, a emissão do Conhecimento Eletrônico (Chave : ' + sChave + ') e autorização de uso sob o protocolo : ' + CTeSYS4.Conhecimentos.Items.CTe.procCTe.nProt); mmEmailMsg.Lines.Add(' '); mmEmailMsg.Lines.Add(' CTe Numero :' + sConhecimento); mmEmailMsg.Lines.Add(' '); mmEmailMsg.Lines.Add ('Enviamos em anexo o arquivo XML do respectivo CT-e.'); mmEmailMsg.Lines.Add(' '); mmEmailMsg.Lines.Add('Atenciosamente,'); mmEmailMsg.Lines.Add(' '); mmEmailMsg.Lines.Add(NomeFilial); mmEmailMsg.Lines.Add('System4 - CTe'); if trim(EmailCopiaFilial) <> '' then sCC.Add(trim(EmailCopiaFilial)); if trim(EmailContabilidade) <> '' then sCC.Add(trim(EmailContabilidade)); Ok := False; Falha := False; memoStatus.Lines.Add('CT-e : ' + sConhecimento); memoStatus.Lines.Add('Chave : ' + sChave); memoStatus.Lines.Add('Destinatário : ' + EnderecoEmail); for I2 := 0 to sCC.Count - 1 do begin memoStatus.Lines.Add('Cópia para : ' + sCC[i2]); end; // Se houver mais de uma host utilize o contador // iHost := 1 ate os que tiver repeat memoStatus.Lines.Add(''); try CTeSYS4.Conhecimentos.Items.EnviarEmail(edtSmtpHost.Text, edtSmtpPort.Text, edtSmtpUser.Text, edtSmtpPass.Text, edtSmtpUser.Text, EnderecoEmail, edtEmailAssunto.Text + ' Nº : ' + sConhecimento, mmEmailMsg.Lines, chkEmailSSL.Checked, True // Enviar PDF junto , sCC // Lista com emails que serão enviado cópias - TStrings , nil // Lista de anexos - TStrings , chkPedeConfirmacao.Checked, False, NomeFilial, False); // Pede confirmação de leitura do email Ok := True; memoStatus.Lines.Add('Enviado pelo Host [' + HostSmtpFilial + '] '); memoStatus.Lines.Add(''); except Ok := False; Falha := True; end; until Ok or Falha; memoStatus.Lines.Add(''); if Falha then MessageDlg('E-mail não enviado por motivo de Falha.', mtError, [mbOk], 0); end else begin // MessageDlg('Tomador do Serviço não possui, e-mail Cadastrado CTe : ' + sConhecimento, mtInformation, [mbOk], 0); Ok := False; end; if Ok then MessageDlg('E-mail enviado com Sucesso.', mtInformation, [mbOk], 0) else MessageDlg('Nem Todos E-mails foram enviado com Sucesso.', mtInformation, [mbOk], 0); sCC.Free; sEmailsCTe.Free; end;