NFeEnviaCCe

A função NFeEnviaCCe é usada para enviar uma CC-e (Carta de Correção Eletrônica) para o Web Service da SEFAZ.

Tipo de Retorno

Boolean

Pacote

A função NFeEnviaCCe está definida dentro do pacote NF-eEnviaCCe.pkg.

Sintaxe

Move (NFeEnviaCCe({sArquivoRetorno}, {sSiglaWS}, {iTipoAmbiente}, ;
                  {sCertificado}, &{sMsgRetWS}, &{icStat}, ;
                  &{sMsgResultado}), {sChaveNFe}, {sTextoCorrecao}, ;
                  {inSeqEvento}, {sDtCorrecao}, (&{sNroProtocolo}), ;
                  &{sdhProtocolo}, {sProxy}, {sUsuario}, {sSenha}, ;
                  {sLicenca}, {bExibeErro})) to {bRet}

Onde:

  • {sArquivoRetorno} é o caminho completo do arquivo XML que a função deverá criar se a CC-e for autorizada pela SEFAZ;
  • {sSiglaWS} é a sigla do Web Service para o qual será enviada a solicitação. Veja mais detalhes aqui.
  • {iTpAmbiente} ambiente de trabalho, podendo ser 1-Produção ou 2-Homologação;
  • {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 para o usuário corrente. Veja mais detalhes sobre como informar este parâmetro clicando aqui;
  • &{sMsgRetWS} é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá a mensagem XML de resposta do Web Service. Normalmente esta informação é útil somente para o propósito de depuração é não é usada na prática pelo emitente;
  • &{icStat} é uma variável do tipo Integer que precisa ser passada por referência e que após a execução da função receberá o código cStat devolvido pelo SEFAZ, especialmente útil no caso de uma rejeição, pois nela será devolvido o código da rejeição conforme manual de integração;
  • &{sMsgResultado} é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá a mensagem literal do resultado da chamada do Web Service;
  • {sChaveNFe} é a chave da NF-e para a qual está sendo enviada a carta de correção;
  • {sTextoCorrecao} é o texto da carta de correção que está sendo enviada. O texto deve ter no mínimo 15 e no máximo 1000 caracteres. É possível enviar até 20 correções para a mesma NF-e, mas a última correção sempre substitui a anterior. Sendo assim o texto da última carta de correção enviada deve conter o texto de todas as correções anteriores;
  • {inSeqEvento} é o número sequencial da correção e deve ser controlado pelo aplicativo do cliente;
  • {sDtCorrecao} é a data e hora da correção que está sendo enviada e deve ser fornecida no seguinte formato, conforme definido no manual da CC-e: AAAA-MM-DDThh:mm:ssTZD (UTC - Universal Coordinated Time), onde TZD pode ser -02:00 (Fernando de Noronha), -03:00 (Brasília) ou -04:00 (Manaus). No horário de verão os fusos serão - 01:00, -02:00 e -03:00. Ex.: 2010-08-19T13:00:15-03:00;
  • &{sNroProtocolo} é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá o número do protocolo de autorização da CC-e, caso seja autorizada;
  • &{sdhProtocolo} é uma variável do tipo String que precisa ser passada por referência e que após a execução da função receberá a data e hora de autorização da CC-e, caso seja autorizada. O retorno estará no mesmo formato de {sDtCorrecao};
  • {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 ou registro quando a função é utilizada em ambiente de produção;
  • {bExibeErro} é usado para indicar se a função deve exibir ou não os erros que ocorrerem na execução;
  • {iTextoAcentuado} parâmetro opcional, onde o padrão é 1. É usado para informar se será aceito acentuação no texto das tag's descEvento e xCondUso. Caso informe 0 (zero), será removida todas as acentuações do texto, caso informe 1, será mantida as acentuações.
  • {bRet} será True se a CC-e for autorizada e False, caso contrário. No caso da CC-e não ter sido autorizada, consulte {icStat} para saber o código de rejeição (caso tenha ocorrido uma rejeição) e {sMsgResultado} para saber o texto literal do motivo.

Exemplo

Um exemplo de uso da função pode ser encontrado dentro da Workspace de Exemplo na função NFeCCeNFExemplo no arquivo cNotaDataDictionary.dd. Abaixo a função citada e a chamada da função da Library na linha 72.

NFeEnviaCCe

Observações

  • Sendo o Web Service de CC-e síncrono, o retorno será devolvido imediatamente para a função após a chamada, não sendo necessária nenhuma chamada posterior para obter o resultado do processamento da solicitação de registro da carta;
  • Esta funcionalidade pode ser utilizada sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento ou registro. Entre em contato para mais informações;
  • É de extrema importância observar que na data da carta de correção consta o fuso horário e que o emissor deve controlar essa informação, principalmente no horário de verão, pois a carta pode ser rejeitada caso o horário seja informado incorretamente;
  • Em decorrência de algumas mudanças no padrão de comunicação com o serviço de registro de cancelamento, passa a ser obrigatório informar como sigla do WS (parâmetro {sSiglaWS}) para SP o valor "SP3".

 

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