NFSeConsultaLoteRPS

A função NFSeConsultaLoteRPS é usada para consultar o resultado do processamento do lote de RPS enviado ao provedor do município, com detalhes dos erros ocorridos. Antes de usar essa função é necessário utilizar a função NFSeConsultaSituacaoLoteRPS para verificar a situação do lote enviado, pois somente se a situação for 3 ou 4 é que essa função deve ser chamada.

Tipo de Retorno

Boolean

Pacote

A função NFSeConsultaLoteRPS está definida dentro do pacote NFSeConsultaLoteRPS.pkg.

Sintaxe

Move (NFSeConsultaLoteRPS({iCdMunicipio}, {sCertificado}, {iTpAmbiente}, ;
      {sVersao}, {sArquivoLote}, &{sXMLResposta}, &{icResultado}, ;
      &{sMsgResultado}, &{sCNPJPrestador}, {sIMPrestador}, {sProtocolo}, ;
      &{sListaMensagemRetorno}, &{sNrNFSe}, &{sCdVerificacao}, {sProxy}, ;
      {sUsuario}, {sSenha}, {sLicenca}, {bExibeErro}, {bBuscarDadosNFSe}, ;
      [{sProvedor}])) to {bRet}

Onde:

  • {iCdMunicipio} é o código IBGE do município prestador do serviço que está emitindo a NFS-e;
  • {sCertificado} é a string que representa o certificado digital que será usado na transmissão dos dados. Se não for informado, uma tela será exibida para o usuário escolher um dos certificados instalados. Você pode obter esta string e armazená-la em um campo de sua base de dados com a função NFSePegaNomeCertificado. No caso do provedor SIMPLISS, em vez de passar o nome do certificado deve-se passar uma string no formato "CNPJ|00000000000000|SENHA" (LITERAL CNPJ, PIPE, número do CNPJ, PIPE e senha);
  • {iTpAmbiente} é o código que indica o ambiente para onde o lote será enviado: 1 - Produção e 2 - Homologação. ATENÇÃO: verifique se existe o ambiente de homologação, pois algumas cidades/provedores não possuem, assim todos os RPS’s são enviados para o ambiente de produção sendo necessário o seu cancelamento;
  • {sVersao} é a versão do XML. Este parâmetro não é usado atualmente e pode ser passado em branco, mas foi mantido por questão de compatibilidade com versões anteriores para que o desenvolvedor não tenha que alterar seu código;
  • {sArquivoLote} é o caminho completo do arquivo XML de lote RPS assinado que foi enviado e cujo resultado do processamento será consultado;
  • &{sXMLResposta} é o XML de retorno do WS. Normalmente será útil somente para propósitos de depuração e homologação de novas prefeituras. Por exemplo, se o XML de retorno não estiver no padrão correto a função pode não devolver o código de retorno no parâmetro icResultado e/ou em iSituacao e neste caso o desenvolvedor poderá ler o retorno diretamente do XML devolvido;
  • &{icResultado} é uma variável do tipo Integer que precisa ser passada por referência e que após a execução da função receberá o código do resultado da execução. Um código igual a 5000 indica que a comunicação com o Web Service foi bem sucedida e qualquer outro código de retorno indica um erro. Para saber o retorno da consulta faz-se necessário analisar os demais retornos;
  • &{sMsgResultado} é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá a mensagem literal do resultado da chamada do Web Service;
  • {sCNPJPrestador} é número do CNPJ do prestador, que deverá ser informado sem espaços e caracteres separadores;
  • {sIMPrestador} é número da inscrição municipal do prestador, que deverá ser informada sem espaços e caracteres separadores. ATENÇÃO: nos municípios atendidos pelo provedor Equiplano informe o idEntidade neste parâmetro;
  • {sProtocolo} é número do protocolo de recebimento obtido como retorno da função NFSeEnviaLoteRPS. ATENÇÃO: Os municípios que adotam o padrão DSF e os municípios de Blumenau/SC e São Paulo/SP não devolvem o número do protocolo e as consultas devem ser realizadas com base no número do lote;
  • &{sListaMensagemRetorno} é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá as mensagens de erro ou advertência do WS. Se o lote foi processado com erros o conteúdo desta variável é que indicará os erros que precisam ser corrigidos;
  • &{sNrNFSe} é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá o número da NFS-e, no caso do lote ser processado com sucesso;
  • &{sCdVerificacao} é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá o código de verificação da NFS-e, no caso do lote ser processado com sucesso;
  • {sProxy} é usado para informar o endereço do servidor proxy, se necesário. Por exemplo ’http://proxyserver:port’. Verificar com o cliente qual é o endereço do servidor proxy e a porta https, pois a porta padrão do https é 443, e sendo assim teríamos algo como ’http://192.168.15.1:443’;
  • {sUsuario} é usado para informar o usuário para autenticação no proxy, se necessário;
  • {sSenha} é usado informar a senha de autenticação no proxy, se necessário;
  • {sLicenca} é usado para informar a chave da licença de uso ou registro. A consulta pode ser utilizada sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento ou registro da DLL. Entre em contato para mais informações;
  • {bExibeErro} é usado para indicar se a função deve exibir ou não os erros que ocorrerem na execução; 
  • {bBuscarDadosNFSe} este parâmetro indica se a função deve tentar ler e devolver os dados do número da NFS-e e do código de verificação. Isso só será possível se o XML de retorno do provedor estiver rigorosamente dentro do padrão ABRASF ou se tivermos personalizado a função para tratar os arquivos XML devolvidos de forma diferente do padrão. Se você informar True neste parâmetro e a função não conseguir recuperar os dados do XML, salve o retorno do parâmetro sXMLResposta em um arquivo e entre em contato para alterarmos a função para realizar a leitura do retorno do XML da sua prefeitura/provedor;
  • {sProvedor} é um parâmetro opcional usado para informar o nome do provedor do serviço. Por exemplo: GINFES, ISS.NET, etc. Esta informação é importante visto que existem particularidades para determinados provedores que serão tratados automaticamente pela função. Embora seja opcional, recomendamos fortemente que seja informado. Este parâmetro foi criado de forma opcional, pois inicialmente apenas prefeituras com servidores próprios precisaram de tratamentos específicos internamente na função. Entretanto ao homologar alguns provedores foram descobertas algumas particularidades, e sendo assim, o parâmetro foi criado de forma opcional, para que os desenvolvedores que já estivessem usando a NFSeLibrary com prefeituras/provedores que não necessitam destes tratamentos específicos não tenham de mudar o seu código ao receber uma nova versão;
  • {bRet} é uma variável do tipo Boolean onde True indica que a comunicação com o Web Service foi feita com sucesso. Para saber o resultado do processamento é necessário analisar os demais valores devolvidos nos parâmetros passados por referência.

Exemplo

Um exemplo de uso da função pode ser encontrado dentro da Workspace de Exemplo no Data Dictionary cRPSDataDictionary.dd no procedimento BuscarLoteRPS. Abaixo em detaque a função citada e a chamada da função da Library nas linhas 78 e 110.

NFSeConsultaLoteRPS - Exemplo

Não encontrou o que precisava, entre em contato conosco.