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}, ;
{sLicenca},(&{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-es 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 e, sendo 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.
- {sLicenca} é 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 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.