CTeCancelar

A função CTeCancelar é usada para cancelar um CT-e.

Tipo de Retorno

Boolean

Pacote

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

Sintaxe

Move (CTeCancelar({sSiglaWS},{sUF},{iTpAmbiente},{sNmCertificado}, ;
{sChaveCTe},{sNrProtAutorizacao},{sJustificativa},{sDiretorio}, ;
(&{sdhRecbto}),(&{snProt}),{sProxy},{sUsuario},{sSenha}, ;
{sLicencaCTeLibraryDLL},(&{sResultado}),{bExibeErro}, ;
(&{iCdRetorno}),[{sdhEvento}])) to {bRetorno}

Onde:

  • {sSiglaWS} é a sigla do Web Service para o qual será enviada a solicitação. Veja mais detalhes aqui.
  • {sUF} é a UF do emissor do CT-e.
  • {iTpAmbiente} ambiente do CT-e para o qual será enviada a solicitação de inutilização: 1 - Produção / 2 - Homologação.
  • {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.
  • {sChaveCTe} é a chave do CT-e que será cancelado.
  • {sNrProtAutorizacao} é o número do protocolo de autorização do CT-e que será cancelado. Somente CT-e’s autorizados podem ser cancelados.
  • {sJustificativa} é a justificativa do cancelamento.
  • {sDiretorio} é o diretório onde, em caso de cancelamento bem sucedido, será gerado o arquivo "#####-can.xml".
  • &{sdhRecbto} é uma variável do tipo String que precisa ser passada por referência. Se o CT-e for cancelado com sucesso, você receberá de volta nesta variável a data e hora do recebimento do pedido de cancelamento do SEFAZ. A partir da versão 2014/01 da CTeLibrary, este parâmetro retornará o valor da tag dhRegEvento.
  • &{snProt} é uma variável do tipo String que precisa ser passada por referência. Se o CT-e for cancelado com sucesso, você receberá de volta nesta variável o número do protocolo de cancelamento da SEFAZ.
  • {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 cancelado. Um retorno False indica que o CT-e não foi cancelado. Neste caso, consulte o valor de iCdRetorno e sResultado para saber o motivo do não cancelamento.
  • {sdhEvento} este parâmetro, opcional, foi introduzido na versão 2014/02 da CTeLibrary. A partir desta versão, o cancelamento será feito por evento. Neste parâmetro, deve ser informada a data e hora do cancelamento no formato AAAA-MM-DDTHH:MM:SS (o formato pode ser diferente dependendo da versão do layout, consulte o schema). Se não for informada, será usada a data e hora atual do sistema.

Exemplo

Move (CTeCancelar(Pessoas.sSiglaWS,Pessoas.sUF,CTe.itpAmb,"", ;
CTe.sChaveCTe,CTe.sNrProtAutoriza,sJustificativa, ;
Config.sDirCTeCancel,(&sdhRecbto),(&snProt),"","","","", ;
(&sResultado),True,(&iCdRetorno))) to bOk

If bOk Begin
: // Código para tratar CT-e cancelado
End
Else Begin
: // Código para tratar CT-e com erro de cancelamento

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.