Bom dia
Estou com o mesmo problema, mas não tenho ideia de como tratar isso.
O código que uso esta abaixo. É bem simples, mas quero melhorar nessa questão de tratamento de erro.
Ai já me falaram que esse problema ai da mensagem em branco é por que registrou a nota lá no servidor, mas ela não retornou, ai me falaram para fazer a impressão assim mesmo. Mas não posso fazer isso sem ter certeza que a nota foi registrada no servidor. E outra, não vou ter o protocolo.
Achei no fórum que dizem para usar o comando ACBrNFSe.NotasFiscais.Items[0].NFSe.Situacao
// 1 = Não Recebido// 2 = Não Processado// 3 = Processado com Erro// 4 = Processado com Sucesso
Alguém pode me dar uma luz?
Por favor.
If ACBrNFSe.Enviar(vLote, False) then
begin
MQNFSeDescricaoServico.AsString := vDescServico;
MQNFSeBaseCalculo.AsCurrency := vBaseCalculo;
MQNFSeValorISSQN.AsCurrency := vValorISS;
MQNFSeValorISSQNRetido.AsCurrency := vValorISSRetido;
MQNFSeTotalNota.AsCurrency := vTotal;
MQNFSeCodigoVerificacao.AsString := ACBrNFSe.NotasFiscais.Items[0].NFSe.CodigoVerificacao;
MQNFSeNumeroNota.AsString := ACBrNFSe.NotasFiscais.Items[0].NFSe.Numero;
MQNFSeDataEmissaoNota.AsDateTime := ACBrNFSe.NotasFiscais.Items[0].NFSe.DataEmissao;
MQNFSeNumeroRPS.AsString := ACBrNFSe.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero;
MQNFSeSerieRPS.AsString := ACBrNFSe.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Serie;
MQNFSeDataEmissaoRPS.AsDateTime := ACBrNFSe.NotasFiscais.Items[0].NFSe.DataEmissaoRps;
MQNFSe.Post;
MQNFSe.CommitUpdates;
CDSServicosTemp.First;
While not CDSServicosTemp.Eof do
begin
MQNFSeItens.Append;
MQNFSeItensCodigoNota.AsInteger := MQNFSeCodigo.AsInteger;
MQNFSeItensIdServico.AsInteger := CDSServicosTempIdServico.AsInteger;
MQNFSeItensCodigoServico.AsString := CDSServicosTempCodigoServico.AsString;
MQNFSeItensQuantidade.AsFloat := CDSServicosTempQuantidade.AsFloat;
MQNFSeItensValorUnitario.AsFloat := CDSServicosTempValorUnitario.AsFloat;
MQNFSeItensValorTotal.AsFloat := CDSServicosTempValorTotal.AsFloat;
MQNFSeItensValorDesconto.AsFloat := CDSServicosTempValorDesconto.AsFloat;
MQNFSeItensDescricao.AsString := CDSServicosTempDescricao.AsString;
MQNFSeItensHoras.Value := CDSServicosTempHoras.Value;
MQNFSeItensSigla.AsString := CDSServicosTempSigla.AsString;
MQNFSeItens.Post;
MQNFSeItens.CommitUpdates;
CDSServicosTemp.Next;
end;
If MQAux.Active then
MQAux.Close;
MQAux.SQL.Text := 'update ordem_servico set NotaFiscal = ' +
MQNFSeNumeroNota.AsString + ', NFEmitida = "Sim" where (' +
FormSelecionaOSNFSe.vCodOrc + ')/* and (cod_emp = ' +
Dtm.QueryEmpresaIdCodigo.AsString + ')*/';
//Clipboard.AsText := MQAux.SQL.Text;
MQAux.Execute;
end;
ImpressaoNota('I');