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...