NFeConsultar

A função NFeConsultar é usada para verificar se uma NF-e está autorizada a partir de sua chave, sendo útil, por exemplo, para consultar a autenticidade de uma NF-e recebida de um fornecedor.

Tipo de Retorno

Integer

Pacote

A função NFeConsultar está definida dentro do pacote NF-eConsultar.pkg.

Sintaxe

Move (NFeConsultar({sSiglaWS}, {iTpAmbiente}, {sCertificado}, ;
                   &{sMsgCabec}, &{sMsgRetWS}, &{sMsgResultado}, ;
                   {sChaveNFe}, {sProxy}, {sUsuario}, {sSenha}, ;
                   {bExibeErro}, {sVersao})) to {iRet}

Onde:

  • {sSiglaWS} é a sigla do Web Service para o qual será enviada a solicitação. Veja mais detalhes aqui.
  • {iTpAmbiente} ambiente de trabalho, podendo ser 1-Produção ou 2-Homologação;
  • {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 para o usuário corrente. Veja mais detalhes sobre como informar este parâmetro clicando aqui;
  • &{sMsgCabec} é 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 XML completo do pedido de consulta que foi enviado ao Web Service. Normalmente esta informação é útil somente como propósito de depuração é não é usada na prática pelo emitente;
  • &{sMsgRetWS} é 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 XML de resposta do Web Service. A SEFAZ devolve os eventos vinculados à NF-e. Assim, esta funcionalidade é útil para recuperar os eventos de cancelamento e carta de correção e também para montagem do procNFe e do procCancNFe nas situações em que a comunicação com o WS no envio ou cancelamento não foi concluída e ficamos sem a resposta do WS;
  • &(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. Por exemplo, se você tiver feito o envio da NF-e para o servidor de SP e estiver buscando o resultado no SVRS, a variável sMsgResultado terá o valor "Rejeição: UF do Recibo diverge da UF autorizadora";
  • {sChaveNFe} é a chave da NF-e que se deseja consultar;
  • {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;
  • {bExibeErro} é usado para indicar se a função deve exibir ou não os erros que ocorrerem na execução;
  • {sVersao} é a versão da mensagem de comunicação com o WS. Se for informado em branco, será usado o valor "4.00";
  • {iRet} é o código do retorno da chamada da função onde 0 (zero) indica que a NF-e consultada está autorizada na SEFAZ. Qualquer código diferente de 0 (zero) indica que não foi possível fazer a consulta ou a NF-e consultada não está autorizada na SEFAZ. Neste caso, será necessário analisar a mensagem devolvida em {sMsgResultado}.

Exemplo

No momento a Workspace de Exemplo não contém uma demonstração de uso desta função.

Observações

  • Ao consultar uma NF-e cancelada, o parâmetro sMsgRetWS devolverá o conteúdo completo do XML. O elemento principal será o "retConsSitNFe" e dentro da estrutura dele se encontrará o elemento "procEventoNFe", que é o XML do cancelamento da nota, além do elemento "protNFe", que contém as informações do protocolo de autorização desta mesma NF-e.
  • A função NFeConsultar não é um substituto para a função NFeBuscar, visto que ela não gera o arquivo XML com os dados de autorização;
  • A função NFeLerXMLAutorizado faz uso internamente da função NFeConsultar para verificar a autenticidade da NF-e que está sendo lida.

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