Amigos,
Gostaria de saber se é possível o webservice da ginfes na funcao ConsultaNFSeporRps não ser com raise se não conseguir consultar.
A excessao levantada, não leva em conta o retorno da mensagem ser diferente de E89, apenas L000, e quando empilha as mensagens para retornar, apenas é concatenado a variavel Result := (FMsg = ''); o conteudo retornado em FMsg := FMsg + NFSeRetorno.ListaNfse.MsgRetorno.Items.Mensagem + IfThen(FMsg = '', '', ' / '); ignorando o codigo da mensagem.
como solucao, irei usar a funcao de consulta dentro de try except na forma:
function TFTransmissaoNFS.ConsultarNfsePorRps(RPS, SerieRPS, TipoRPS, PrestadorCNPJ, PrestadorIM: string): Boolean;
begin
try
// Essa consulta retorna um raise se nao existe a nota pelo rps
Result := dmComercial.ACBrNFSe1.ConsultarNfsePorRps(RPS, SerieRPS, TipoRPS, PrestadorCNPJ, PrestadorIM);
except
on E: Exception do
begin
//Aviso(dmComercial.ACBrNFSe1.WebServices.ConsNfseRps.Msg);
if Pos('NAO EXISTE NA BASE DE DADOS UMA NFS-E EMITIDA PARA O NUMERO DA RPS INFORMADA', AnsiUpperCase(E.Message)) > 0 then // Se nao existe
Result := True;
end;
end;
end;
Se alguem estiver usando Ginfes e fizer uso dessa funcao para verificar se o rps foi transmitido e usa de outra forma, por favor responda.