Ir para conteúdo
  • Cadastre-se

dev botao

Envio do Danfe Autorizado


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

Recommended Posts

Olá Galera, há dias estou tentando fazer uma rotina simples usando o componente ACBrNFe, simplesmente eu queria gerar, enviar para a sefaz, pegar a chave de autorização, gerar o PDF, anexar o XML e o PDF do DANFE e enviar por email conforme consta a rotina abaixo de envio de emails, so que depois da rotina de ACBrNFe1.Enviar(0); o codigo de baixo não e executado alguem tem alguma ideia do erro que estou cometendo???

Obrigado

//gerar nfe ---------------------------------------------------------------------------------------------

pGeraNFe;

//enviar nfe

ACBrNFe1.Enviar(0);

Application.ProcessMessages;

mmProc.Lines.Add( 'Protocolo de retorno:'+ACBrNFe1.WebServices.Retorno.Protocolo );

mmProc.Lines.Add( 'Recido de retorno:'+ACBrNFe1.WebServices.Retorno.Recibo );

MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetWS);

Label32.Caption := '3';

Nessa rotina a ideia era pegar o codigo da chave e gravar no banco de dados para uma possivel consulta posteriormente.............

//Atualizar Chave de Acesso no sistema

sChave := ACBrNFe1.Configuracoes.Geral.PathSalvar+'\'+copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, (length(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID)-44)+1, 44);

fInicia_Transacao(1);

try

begin

sS := 'update CAB_NF set DANFE='+QuotedStr(sChave)+' where NUM_NF='+QuotedStr(QyCNFNUM_NF.AsString);

Label32.Caption := '4.1';

mmoMsg.Lines.Add(sS);

if not fExecuteSQL(sS,'/',2,1) then

begin

fCancelaTransacao(1);

end

;

fEfetivaTransacao(1);

end

except

;

Neste momento estou gerando o PDF do Danfe recebido pela SEFAZ

ACBrNFe1.NotasFiscais.ImprimirPDF;

Label32.Caption := '4';

Label32.Caption := '5';

if not fSimNao('Deseja enviar a Nota ao cliente por email') then exit;

if Trim(QyCliEMAIL.Value)='' then

begin

fErro('Não existe E-Mail Cadastrado para este Cliente');

if not fSimNao('Deseja Informar o email a ser enviado?') then exit;

Application.CreateForm(TFEndEmailNFe, FEndEmailNFe);

FEndEmailNFe.ShowModal;

IdMessage1.Recipients.EMailAddresses := FEndEmailNFe.mkEmail.Text;

end

;

Label32.Caption := '6';

if QyCliEMAIL.AsString<>'' then

IdMessage1.Recipients.EMailAddresses := QyCliEMAIL.AsString;

// teste de envio de emails-------------------------------------

try

Screen.Cursor:= crHourGlass;

// pg1.MaxValue := StrToInt(EdtNum.Text);

pg1.Progress := 0;

IdSMTP1.Host := 'mail.xxxxxxxxxx.com.br';

IdSMTP1.Username := '[email protected]';

IdSMTP1.Password := xxxxxxxxxxx';

Label32.Caption := '7';

//Anexando os Arquivos XML e PDF

if FilesExists(ACBrNFe1.Configuracoes.Geral.PathSalvar+'\'+copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, (length(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID)-44)+1, 44)+'-NFe.xml' ) then

ListBoxAnexos.Items.Add(ACBrNFe1.Configuracoes.Geral.PathSalvar+'\'+copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, (length(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID)-44)+1, 44)+'-NFe.xml' );

if FilesExists(ACBrNFe1.Configuracoes.Geral.PathSalvar+'\'+copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, (length(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID)-44)+1, 44)+'.pdf' ) then

ListBoxAnexos.Items.Add(ACBrNFe1.Configuracoes.Geral.PathSalvar+'\'+copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, (length(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID)-44)+1, 44)+'.pdf');

if CheckBox1.Checked then

IdSMTP1.AuthenticationType:= atLogin

else IdSMTP1.AuthenticationType:= atNone;

IdMessage1.MessageParts.Clear;

if ListBoxAnexos.Items.Count > 0 then

begin

for i:= 0 to ListBoxAnexos.Items.Count - 1 do

TIdAttachment.Create(IdMessage1.MessageParts, ListBoxAnexos.Items);

end;

mmoMsg.Lines.Add('Envio Automático de Nota Fiscal Eletrônica');

mmoMsg.Lines.Add('Bem Vindo ao Novo Sistema de Nota Fiscal Eletrônica 2.0 da XXXXXXXX');

mmoMsg.Lines.Add('Conheça Nossos Produtos e Serviços desenvolvidos totalmente pensando em sua praticidade e comodidade!');

mmoMsg.Lines.Add('Visite nosso site ');

mmoMsg.Lines.Add('www.xxxxxxxxxx.com.br');

mmoMsg.Lines.Add('');

mmoMsg.Lines.Add('');

mmoMsg.Lines.Add('Sugerimos que entrem no site do portal nacional da NF-e http://www.nfe.fazenda.gov.br ou no portal da SEFAZ do estado emissor, e visualizem a NF-e utilizando a chave de acesso constante no DANFe.');

mmoMsg.Lines.Add(' Este será o meio de verificar a autenticidade da NF-e recebida');

IdMessage1.From.Address:= '[email protected]';

IdMessage1.Subject:= 'A '+sFantEmp+' está lhe enviando a Nota Fiscal Eletrônica de sua Compra';

IdMessage1.Body.Text := mmoMsg.Lines.Text;

//Envio de Email padrão BACKUP

IdMessage1.BccList.EMailAddresses := '[email protected]';

if not IdSMTP1.Connected then

IdSMTP1.Connect();

IdSMTP1.Send(IdMessage1);

finally

IdSMTP1.Disconnect;

Screen.Cursor:= crDefault;

end;

end;

Resumindo após o comando ACBrNFe1.Enviar(0); o sistema não passa para executar os comandos abaixo, alguma tem alguma ideia da burrice que to cometendo???Obrigado a todos...

Link para o comentário
Compartilhar em outros sites

Em qual momento ele vai enviar o DANFE por email você sabe?

Estou querendo essa sequencia automatica sem que nenhum usuario aperte ou selecione qualquer arquivo que seja...

GERAR

ENVIAR P/ SEFAZ

ENVIAR PARA O EMAIL O DANFE..

A rotina de enviar email esta no codigo mostrado esta funcionando, o problema e que depois da rotina ACBrNFe.1Enviar[0]; o codigo debaixo não esta sendo executado.....

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4963 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...
The popup will be closed in 10 segundos...