NFSeCancelarNFSe_V2

A função NFSeCancelarNFSe_V2 é responsável por solicitar o cancelamento de uma NFS-e já autorizada.

Tipo de Retorno

Boolean

Pacote

A função NFSeCancelarNFSe_V2 está definida dentro do pacote NFSeCancelarNFSe_V2.pkg.

Sintaxe

Move (NFSeCancelarNFSe_V2(&{vParams}) to {bRet}

Onde:

  • &{vParams} é uma variável do tipo tNFSeEnviaLoteRPS_V2 e é uma variável do tipo tNFSeEnviaLoteRPS_V2 que deve ser passada por referência. Contém os parâmetros para execução da função e devolve valores em alguns campos, conforme abaixo::
    • iCdMunicipio: é o código do IBGE do município do prestador do serviço que está emitindo a NFS-e;
    • 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. Você pode obter esta string e armazená-la em um campo de sua base de dados com a função NFSePegaNomeCertificado. Veja mais detalhes sobre como informar este parâmetro clicando aqui;
    • iTpAmbiente: é o código que indica o ambiente para onde o lote será enviado: 1-Produção e 2-Homologação. ATENÇÃO: verifique se existe o ambiente de homologação, pois algumas cidades/provedores não possuem, assim todos os RPS’s são enviados para o ambiente de produção sendo necessário o seu cancelamento;
    • sVersao: é a versão do XML, caso não seja informado será utilizado a versão padrão "2.03";
    • sXmlRetWs: é o XML de retorno do WS. Normalmente será útil somente para propósitos de depuração e homologação de novas prefeituras. Por exemplo, se o XML de retorno não estiver no padrão correto a função pode não devolver o código de retorno no parâmetro icResultado e/ou em iSituacao, e neste caso o desenvolvedor poderá ler o retorno diretamente do XML devolvido;
    • icResultado: é uma variável do tipo Integer que após a execução da função receberá o código do resultado da execução. Um código igual a 5300 indica que a comunicação com o Web Service foi bem sucedida e qualquer outro código de retorno indica um erro. Para saber o retorno da consulta faz-se necessário analisar os demais retornos;
    • sMsgResultado: é uma variável do tipo String que, após a execução da função, receberá a mensagem literal do resultado da chamada do Web Service;
    • sCNPJPrestador: é número do CNPJ do prestador;
    • sIMPrestador: é número da inscrição municipal do prestador, que deverá ser informada sem espaços e caracteres separadores. ATENÇÃO;
    • sNrNFSe: é número da NFS-e que se deseja cancelar;
    • sCdCancelamentoé o código do cancelamento adotado pelo usuário ou pela prefeitura.1–Erro na emissão, 2–Serviço não prestado, 3–Erro de assinatura, 4-Duplicidade da nota, 5–Erro de processamento. Importante: Os códigos 3 (Erro de assinatura) e 5 (Erro de processamento) são de uso restrito da Administração Tributária Municipal;
    • sDhCancelamento: é uma variável do tipo String que, após a execução da função, receberá a data e hora da aprovação do cancelamento se foi bem sucedido. ATENÇÃO: não são todas as prefeituras/provedores que retornam esta informação, então é necessário verificar o schema de retorno de cancelamento da prefeitura onde está sendo implementando;
    • sListaMensagemRetorno: é uma variável do tipo String que, após a execução da função, receberá as mensagens de erro ou advertências do WS;
    • 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
    • sLicenca: é usado para informar a chave da licença de uso. O cancelamento pode ser utilizado sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento da DLL. Entre em contato para mais informações;
    • bExibeErro: é usado para indicar se a função deve exibir ou não os erros que ocorrerem na execução;
  • {bRet} é o retorno da chamada da função onde True indica que o lote RPS foi enviado com sucesso e False indica que houve erro no envio.

Exemplo

Um exemplo de uso da função pode ser encontrado dentro da Workspace de Exemplo na view RPS_V203.vw. 

Observações 

  • A função está disponível a partir da versão 2024/01 da NFSeLibrary.
  • Função compatível com as prefeituras de Bauru/SP e São Pedro/SP.
  • Para teste em ambiente de homologação na prefeitura de Bauru/SP, é obrigatório informar o CPF 55555555555 e a inscrição municipal (IM) 614960 nos dados do prestador.