CTeBuscar

A função CTeBuscar é usada para buscar o resultado do processamento de um CT-e enviado para o Web Service da SEFAZ.

Tipo de Retorno

Boolean

Pacote

A função CTeBuscar está definida no pacote CTeBuscar.pkg.

Sintaxe

Move (CTeBuscar({sArquivoXML},{sSiglaWS},{iTpAmbiente},{sUF}, ;
(&{sNroRecibo}),(&{sNrProtAutorizacao}),(&{sDtAutorizacao}), ;
{sNmCertificado},{sProxy},{sUsuario},{sSenha}, ;
{sLicencaCTeLibraryDLL},(&{sResultado}),{bExibeErro}, ;
(&{iCdRetorno}))) to {bRetorno}

Onde:

  • {sArquivoXML} é o caminho completo do arquivo XML que foi usado pelo envio, ou seja, o resultado da chamada da função CTeEnviar. Se o resultado da busca indicar que a NF-e foi autorizada, este arquivo será sobreposto pelo arquivo com os dados de autorização que é o arquivo que, segundo a legislação deve ser armazenado de acordo com os prazos legais estabelecidos e fornecido ao tomador do CT-e. Recomenda-se que você mantenha também uma cópia do arquivo de envio original. Desta forma, faça uma cópia do arquivo de envio para outro local antes de usar a função de busca. Se o resultado da busca indicar que o CT-e foi denegado, este arquivo será sobreposto pelo arquivo com os dados de denegação.
  • {sSiglaWS} é a sigla do Web Service para o qual será enviada a solicitação. Veja mais detalhes aqui.
  • {iTpAmbiente} ambiente do CT-e para o qual será enviada a solicitação de inutilização: 1 - Produção / 2 - Homologação.
  • {sUF} é a UF do emissor do CT-e.
  • &{sNroRecibo} é uma variável do tipo String que precisa ser passada por referência. Esta variável deve conter o número do recibo de envio que foi devolvido pela função CTeEnviar. O número do recibo não é o protocolo de autorização, mas sim um número que a SEFAZ atribui ao CT-e enviado, sendo uma informação imprescindível para consultar o resultado do processamento do CT-e.
  • &{sNrProtAutorizacao} é uma variável do tipo String que precisa ser passada por referência. Após a execução da função, será devolvida nesta variável o número do protocolo de autorização, caso o CT-e tenha sido autorizado, ou de denegação, caso o CT-e tenha sido denegado. Esta informação deve ser obrigatoriamente impressa no DACTe. É extremamente recomendado que você guarde esta informação em sua base de dados.
  • &{sDtAutorizacao} é uma variável do tipo String que precisa ser passada por referência. Se o CT-e for autorizado ou denegado, você receberá de volta nesta variável a data e hora de autorização ou denegação no formato devolvido pela SEFAZ (yyyy-MM-ddThh:mm:ss). Esta informação deve ser obrigatoriamente impressa no DACTe. É extremamente recomendado que você guarde esta informação em sua base de dados. 
  • {sNmCertificado} é 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 CTePegaNomeCertificado.
  • {sProxy} é usado para informar ’http://proxyserver:port’ quando existir uso de proxy no ambiente. Verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo ’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.
  • {sLicencaCTeLibraryDLL} é usado para informar a chave da licença da DLL CTeLibraryDLL. Esta função pode ser utilizada sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento. Entre em contato conosco para obter a chave de licença.
  • &{sResultado} é uma variável do tipo String que precisa ser passada por referência. Após a execução da função, esta variável terá uma mensagem literal com o resultado da chamada. No caso de erro, será a mensagem de erro.
  • {bExibeErro} é usado para indicar se a função deve exibir ou não os erros que ocorrerem na execução.
  • &{iCdRetorno} é uma variável do tipo Integer que precisa ser passada por referência. Após a execução da função, esta variável terá o código de retorno (cStat) devolvido pela SEFAZ ou um código de erro interno.
  • {bRetorno} é o retorno da chamada da função. True indica que o CT-e foi autorizada e o arquivo apontado em {sArquivoXML} foi sobreposto pelo arquivo XML autorizado obtido pela função. Um retorno False indica que o CT-e não foi autorizado ou não foi possível consultar o resultado do processamento do lote. Neste caso, consulte o valor de iCdRetorno para decidir o que será feito.

Exemplo

Move (CTeBuscar(sArquivoAssinado,Pessoas.sSiglaWS,CTe.itpAmb, ;
Pessoas.sUF,sNrReciboEnvio,(&sNrProtAutorizacao),(&sDtAutorizacao), ;
"","","","","",(&sResultado),False,(&iCdRetorno))) to bOk

If bOk Begin
: // Código para tratar CT-e autorizado
End
Else Begin
: // Código para tratar CT-e não autorizado
End

Um exemplo de uso desta função pode ser encontrado na Workspace de exemplo que acompanha a CTeLibrary, no arquivo cCTeDataDictionary.dd.

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