Boa Noite Italo!
Quanto as mensagens de Status, já resolvi.... faltou colocar o evento "OnStatusChange" no componente ACBRNFSE.
Me desculpe....
Agora, quanto à mensagem no envio do e-mail da NFSe, essa continua.
A única diferença entre o programa Demo ACBrNFSe com o meu é que o Demo Lê o XML diretamente do arquivo e meu software está buscando o XML diretamente de um campo texto do Banco de Dados, onde também eu armazeno o XML da NFSE, o qual comparei com o conteúdo do XML salvo pelo programa e estão exatamente iguais.
Segue abaixo as linhas de código:
Programa Demo:
procedure TfrmDemo_ACBrNFSe.btnEnviaremailClick(Sender: TObject);
var
vAux: String;
sCC: TStrings;
begin
OpenDialog1.Title := 'Selecione a NFSe';
OpenDialog1.DefaultExt := '*-NFSe.xml';
OpenDialog1.Filter := 'Arquivos NFSe (*-NFSe.xml)|*-NFSe.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*';
OpenDialog1.InitialDir := ACBrNFSe1.Configuracoes.Arquivos.PathSalvar;
if OpenDialog1.Execute then
begin
ACBrNFSe1.NotasFiscais.Clear;
ACBrNFSe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName);
if not(InputQuery('Enviar e-mail', 'Destinatário', vAux))
then exit;
sCC:=TStringList.Create;
sCC.Clear; // Usando para add outros e-mail como Com-Cópia
ACBrNFSe1.NotasFiscais.Items[0].EnviarEmail(vAux
, edtEmailAssunto.Text
, mmEmailMsg.Lines
, True //Enviar PDF junto
, nil //Lista com emails que serão enviado cópias - TStrings
, nil // Lista de anexos - TStrings
);
sCC.Free;
MemoDados.Lines.Add('Arquivo Carregado de: '+ACBrNFSe1.NotasFiscais.Items[0].NomeArq);
MemoResp.Lines.LoadFromFile(ACBrNFSe1.NotasFiscais.Items[0].NomeArq);
LoadXML(MemoResp, WBResposta);
PageControl2.ActivePageIndex := 1;
end;
end;
Meu Programa:
procedure TFEnviaLoteNFSE.EnviaEmail;
var
vAux, slink: String;
sCC: TStrings;
begin
if (Trim(MDNFSeCLI_EMAIL.AsString) <> '') and (Trim(MDNFSeNFSE_COD_VERIFICACAO.AsString) <> '') and
(MDNFSeNF_NUMERO.Value > 0) and (MDNFSePROCESSADA.AsString = 'Sim') then
begin
ACBrNFSe1.NotasFiscais.Clear;
ACBrNFSe1.NotasFiscais.LoadFromString(MDNFSeNF_INFADCFISCO.AsString,False);
slink := ACBrNFSe1.LinkNFSe(StrToIntDef(MDNFSeNF_NUMERO.AsString, 0), MDNFSeNFSE_COD_VERIFICACAO.AsString);
sCC:=TStringList.Create;
sCC.Clear; // Usando para add outros e-mail como Com-Cópia
Memo_TXT_Email.Lines.Clear;
Memo_TXT_Email.Lines.LoadFromFile(ExtractFilePath(Application.ExeName)+'e-mail_NFS-e.TXT');
Memo_TXT_Email.Lines.Add('Link da NFS-e: ' + slink);
ACBrNFSe1.NotasFiscais.Items[0].EnviarEmail(MDNFSeCLI_EMAIL.AsString
, 'Envio de NFS-e - ' + MEMP_RAZAO.Text
, Memo_TXT_Email.Lines
, True //Enviar PDF junto
, nil //Lista com emails que serão enviado cópias - TStrings
, nil // Lista de anexos - TStrings
);
sCC.Free;
MemoDados.Lines.Add('Arquivo Carregado de: '+ACBrNFSe1.NotasFiscais.Items[0].NomeArq);
MemoResp.Lines.LoadFromFile(ACBrNFSe1.NotasFiscais.Items[0].NomeArq);
LoadXML(MemoResp, WBResposta);
end;
end;
Desculpe se ficou muito longo.
Mas quem puder ajudar, ficarei muito agradecido.
Daniel