Ir para conteúdo
  • Cadastre-se

dev botao

Envio Da Nfe Por Email


Cris
  • Este tópico foi criado há 3492 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

bom dia, estou tentando anexar o xml da nota e o pdf compactados no email enviado utilizando o Acbr, nao estou conseguindo fazer isso tentei so trocar o arquivo que originalmente e um xml por um .zip que gerei mas ele me da um erro ao fazer isso list index out of bounds...alguem sabe me dizer se e possivel anexar os arquivos compactados pelo acbr na hora de enviar o email..desde ja agradeço a atenção e ao maravilhoso projeto que é o Acbr.

Link para o comentário
Compartilhar em outros sites

Entendo, mas e possivel na hora de enviar o email da nfe pelo acbr ja anexar ele compactado?

vou tentar colocar mais ou menos como uso aqui desculpe se nao estiver legivel :

 vPath := Dtm.ACBrNFe1.Configuracoes.Geral.PathSalvar +
  FormatDateTime('yyyymm', DTM.ibd_NotasFiscais.FieldByName('OUT_DATAEMISSAO').AsDateTime) +
  '\' + Trim(OnlyNumber(DTM.ibd_NotasFiscais.FieldByName('OUT_NFE_CHAVE').AsString)) +

  '-nfe.xml';

 

 {ZipMaster1.ZipFileName:= Dtm.ACBrNFe1.Configuracoes.Geral.PathSalvar +
  FormatDateTime('yyyymm', DTM.ibd_NotasFiscais.FieldByName('OUT_DATAEMISSAO').AsDateTime) +
  '\' + Trim(OnlyNumber(DTM.ibd_NotasFiscais.FieldByName('OUT_NFE_CHAVE').AsString)) +
  '-nfe.ZIP';
  ZipMaster1.FSpecArgs.Clear;
  ZipMaster1.FSpecArgs.Add(Dtm.ACBrNFe1.Configuracoes.Geral.PathSalvar +
  FormatDateTime('yyyymm', DTM.ibd_NotasFiscais.FieldByName('OUT_DATAEMISSAO').AsDateTime) +
  '\' + Trim(OnlyNumber(DTM.ibd_NotasFiscais.FieldByName('OUT_NFE_CHAVE').AsString)) +
  '-nfe.xml');
  try
    ZipMaster1.Add;
    vPath_zip:= Dtm.ACBrNFe1.Configuracoes.Geral.PathSalvar +
    FormatDateTime('yyyymm', DTM.ibd_NotasFiscais.FieldByName('OUT_DATAEMISSAO').AsDateTime) +
    '\' + Trim(OnlyNumber(DTM.ibd_NotasFiscais.FieldByName('OUT_NFE_CHAVE').AsString)) +
    '-nfe.ZIP';
  except
    ShowMessage('Erro ao gerar!');
  end; }
 
  if (Dtm.ACBrNFe1.NotasFiscais.LoadFromFile(vPath)) then
  begin
    CC := TstringList.Create;
    try
      // E-mail para o transportador
      if (Trim(Dtm.ibd_transporte.FieldByName('OUT_TRAN_EMAILNFE').AsString) <> '')then
        if IsValidEmail(Dtm.ibd_transporte.FieldByName('OUT_TRAN_EMAILNFE').AsString) then
          CC.Add(Dtm.ibd_transporte.FieldByName('OUT_TRAN_EMAILNFE').AsString);
 
      // E-mail para o representante
      if (Trim(Dtm.IBD_representante.FieldByName('OUT_EMAIL').AsString) <> '')then
        if IsValidEmail(Dtm.IBD_representante.FieldByName('OUT_EMAIL').AsString) then
          CC.Add(Dtm.IBD_representante.FieldByName('OUT_EMAIL').AsString);
 
      if (fNFEConfiguracao.CbVisualizarFornEnvio.Checked) then
      begin
        vContinue := False;
 
        with fNFe_Mail do
        begin
          edt_para.Text := Dtm.ibd_cliente.FieldByName('OUT_DEST_EMAIL').AsString;
          edt_copiaDeEmails.Lines := CC;
          mmo_templateEmail.Lines := fNFEConfiguracao.mmEmailMsg.Lines;
          edt_subject.text := fNFEConfiguracao.edtEmailAssunto.Text;
          fNFe_Mail.ShowModal;
 
          if (vContinue) then
          begin
            Dtm.ACBrNFe1.NotasFiscais.Items[0].EnviarEmail(fNFEConfiguracao.edtSmtpHost.Text
              , fNFEConfiguracao.edtSmtpPort.Text
              , fNFEConfiguracao.edtSmtpUser.Text
              , fNFEConfiguracao.edtSmtpPass.Text
              , fNFEConfiguracao.edtSmtpUser.Text
              , edt_para.Text
              , edt_subject.text
              , mmo_templateEmail.Lines
              , fNFEConfiguracao.cbEmailSSL.Checked // SSL - Conexão Segura
              , True // Enviar PDF junto
              , edt_copiaDeEmails.Lines   // Lista com emails que serão enviado cópias - TStrings
              , nil
              , fNFEConfiguracao.cbConfirmaLeitura.Checked  // Pede confirmação de leitura do email
              , fNFEConfiguracao.cbAguardaEmail.Checked  // Aguarda Envio do Email(não usa thread)
              , Dtm.ibd_Empresa.FieldByName('OUT_EMI_RAZAOSOCIAL').AsString // Nome do Rementente
              , fNFEConfiguracao.cbEmailSSL.Checked ); // Auto TLS
          end
          else begin
            CC.Free;
            Exit;
          end;
        end;
      end
      else begin
        Dtm.ACBrNFe1.NotasFiscais.Items[0].EnviarEmail(fNFEConfiguracao.edtSmtpHost.Text
          , fNFEConfiguracao.edtSmtpPort.Text
          , fNFEConfiguracao.edtSmtpUser.Text
          , fNFEConfiguracao.edtSmtpPass.Text
          , fNFEConfiguracao.edtSmtpUser.Text
          , Dtm.ibd_cliente.FieldByName('OUT_DEST_EMAIL').AsString
          , fNFEConfiguracao.edtEmailAssunto.Text
          , fNFEConfiguracao.mmEmailMsg.Lines
          , fNFEConfiguracao.cbEmailSSL.Checked // SSL - Conexão Segura
          , True // Enviar PDF junto
          , CC   // Lista com emails que serão enviado cópias - TStrings
          , nil
          , fNFEConfiguracao.cbConfirmaLeitura.Checked  // Pede confirmação de leitura do email
          , fNFEConfiguracao.cbAguardaEmail.Checked  // Aguarda Envio do Email(não usa thread)
          , Dtm.ibd_Empresa.FieldByName('OUT_EMI_RAZAOSOCIAL').AsString // Nome do Rementente
          , fNFEConfiguracao.cbEmailSSL.Checked ); // Auto TLS
      end;
 
        // Atualizacao de flags
      Dtm.ibd_NFe.Edit;
 
      Dtm.ibd_NFe.FieldByName('NFE_ENVIADA_CLIENTE').AsString := 'T';
 
      Dtm.ibd_NFe.Post;
      Dtm.ibd_NFe.Transaction.CommitRetaining;
      Dtm.ibd_NotasFiscais.Close;
      Dtm.ibd_NotasFiscais.Open;
 
      Application.MessageBox('E-mail enviado com sucesso!', 'Monitor NFe',
      MB_ICONINFORMATION + MB_OK);
    except on E: Exception do
      begin
        Application.MessageBox(PChar('Occrreu problemas com o envio de E-mail!' + #13 +
        E.Message),
        'Monitor NFe', MB_ICONEXCLAMATION + MB_OK);
 
      end;
    end;
 
    CC.Free;
  end
  else
  begin
    Showmessage('Não encontrado: ' + vPath);

  end;  

sendo que o codigo comentado e aonde gero o mesmo arquivo xml compactado ai se passo para o vPATH o caminho com o zip ao inves do xml ele da um erro .

Não sei se ajuda na analise isso, desde ja agradeço sua atenção. 

Editado por Cris
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3492 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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...