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}, ;
{sLicencaDLL},(&{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} informar o endereço do servidor proxy, se necessário. Por exemplo http://proxyserver:port. Verificar com o cliente qual é o endereço do servidor proxy e a porta https. 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.
- {sLicencaDLL} é usado para informar a chave da licença da CTeLibrary.dll. 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.