11.5. CriaProc
11.5.2. CriaProcCancCTe
11.5.1. CriaProcCTe [31-03-13]
« Anterior
12. Gerar o XML do CT-e
Próximo »

11.5.2. CriaProcCancCTe

Cria procCancCTe - estrutura de distribuição do Cancelamento de CT-e

Assinatura

string CriaProcCancCTe(string siglaWS, ref string cancCTe, out string protocolo, out string retCancCTe, out long resultado, string nomeCertificado, out string msgResultado, string proxy, string usuario, string senha)

Descrição:

A funcionalidade é útil para criar o procCancCTe quando o pedido de cancelamento foi homologado pela SEFAZ, mas não houve retorno do Web Service ou houve uma falha na gravação do procCancCTe.

A identificação do WS de acessado deverá ser informada no parâmetro siglaWS, veja Tabela de siglaWS

Preenchimento do nomeCertificado

Informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL.

Parâmetros:

nome tipo fluxo descrição
siglaWS string entrada informar a sigla do WS de envio, veja Tabela de siglaWS
cancCTe string entrada/saída informar o pedido de cancelamento da CT-e, se não tiver o pedido de cancelamento, faça uma nova tentativa de cancelamento da CT-e para ter o pedido de cancelamento que é devolvido no parâmetro msgDados da funcionalidade de cancelamento
protocolo string saída retorna o número do protocolo de homologação do cancelamento
retCancCTe string saída retorna a data e hora de homologação do cancelamento
resultado long saída retorna o código do resultado da chamada do WS
nomeCertificado string entrada informar o Nome do titular (campo Assunto) do certificado digital a ser utlizado na conexão SSL. Ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"
msgResultado string saída retorna a literal do resultado da chamada do WS
proxy string entrada 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'
usuario string entrada informar o usuário para autenticação no proxy, se necessário
senha string entrada informar a senha de autenticação no proxy, se necessário

Retorno:

O resultado da chamada é o procCancCTe que é a mensagem XML composta pelo pedido de cancelamento e respectivo protocolo de homologação do cancelamento do CT-e gerado de acordo com o leiaute de distribuição do Cancelamento de CT-e previsto no Manual de Integração do Contribuinte

O parâmetro resultado retorna um código numérico com os seguintes significados:

código Mensagem
6801 procCancCTe montado com sucesso
6802 Erro: Contéudo do XML informado como pedido de cancelamento de CT-e no parâmetro de entrada (cancCTe) mal formado [Erro do Windows]
6803 Erro: tag tpAmb inexistente no XML informado como pedido de cancelamento de CT-e no parâmetro de entrada (cancCTe) [Erro do Windows]
6804 Erro: tag chCTe inexistente no XML informado como pedido de cancelamento de CT-e no parâmetro de entrada (cancCTe) [Erro do Windows]
6805 Erro: tag cancCTe não localizada no XML informado como pedido de cancelamento de CT-e no parâmetro de entrada (cancCTe) [Erro do Windows]
6806 Erro: tag cStat não localizada na mensagem de retorno [Erro do Windows]
6807 Erro: tag xMotivo não localizada na mensagem de retorno [Erro do Windows]
6808 Erro: O CT-e não se encontra cancelado
6809 Erro: Falha no acesso ao retCancCTe do XML da resposta do WS [Erro do Windows]
6810 Erro: tag dhRecbto não localizada na mensagem de retorno (retCancCTe) [Erro do Windows]
6811 Erro: tag nProt não localizada na mensagem de retorno (retCancCTe) [Erro do Windows]
6812 Erro inesperado ao tratar o XML do retorno do WS[Erro do Windows]

Histórico de atualização:

Exemplos de uso:

Visual Basic 6.0

'
' declaração das variáveis que serão utilizadas na passagem de parâmetros da DLL
'
'
Dim siglaWS As String   ' informar a sigla do WS de envio, informar a sigla RS, caso a UF seja usuária da SEFAZ Virtual (AM, BA, CE, ES, GO, MA, PR, RJ, RN, RO, SC, SE, e TO); caso a UF tenha aplicação própria (MG, MS, MT, RS e SP), informar a sigla da própria UF
Dim cancCTe As String   ' informar o pedido de cancelamento da CT-e, se não tiver o pedido de cancelamento, faça uma nova tentativa de cancelamento da CT-e para ter o pedido de cancelamento que é devolvido no parâmetro ***msgDados*** da funcionalidade de cancelamento
Dim protocolo As String ' retorna o número do protocolo de homologação do cancelamento
Dim resultado As Long   ' retorna o código do resultado da chamada do WS
Dim nomeCertificado As String   ' informar nome do titular do certificado a ser utilizado na assinatura e conexão SSL
Dim msgResultado As String  ' retorna a literal do resultado da chamada do WS
Dim retCancCTe As String    ' retorna a data e hora de homologação do cancelamento
Dim proxy As String     ' 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'
Dim usuario As String   ' informar o usuário para autenticação no proxy se necessário
Dim senha As String     ' informar a senha de autenticação no proxy se necessário
Dim procCancCTe As String ' retorna o procCancCTe gerado pela funcionalidade    
'
'  carregar arquivo a CTe na string cancCTe 
'
Dim nomeArquivo As String   ' nome do arquivo utilizado no cancelamento do CTe (pedido de cancelamento da CT-e)
'
nomeArquivo = "c:\exemplo.xml"
'
' importante: verificar a existência do arquivo solicitado na pasta do VB e indicar o caminho correto para ele
'   Carrega o conteúdo do nome do arquivo em cancCTe
'
Open nomeArquivo For Input As #1
cancCTe = Input$(LOF(1), 1)
Close #1
 
nomeCertificado = "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"
siglaWS = "RS"
retCancCTe = ""
proxy = ""                      ' preencher estes campos somente em caso de existência de proxy na rede
usuario = ""
senha = ""
protocolo = ""          ' número do protocolo + dd/mm/aa HH:MM:SS
msgResultado = ""       ' literal da mensagem de resultado da chamada da função
resultado = 0       ' retorna o código do resultado da chamada do WS
procCancCTe = ""    ' retorna o procCancCTe gerado pela funcionalidade
'
' referenciando a DLL em late binding
' não é necessário fazer o reference da DLL
' o intelisense não funciona
'
Dim objCTeUtil As Object
 
Set objCTeUtil = CreateObject("CTe_Util.Util")
 
      '
      Screen.MousePointer = vbHourglass    ' ponteiro ampulheta
      '
      '
      procCancCTe = objCTeUtil.CriaProcCancCTe(siglaWS, cancCTe, protocolo, retCancCTe, resultado, nomeCertificado, msgResultado, proxy, usuario, senha)
 
      '
      '
      Screen.MousePointer = vbDefault      ' ponteiro normal
      '
      '  tratar retorno
      '
      If (resultado = 6801) Then
 
'
'  grava procCancCTe
'
   nomeArquivo = "procCancCTe.xml"
   Open nomeArquivo For Output As #1
   Print #1, procCancCTe
   Close #1
'
'
         MsgBox msgResultado + Chr(13) + Chr(13) + procCancCTe, vbInformation, "Informação"
 
      Else
 
         MsgBox "Processo de montagem procCancCTe falhou..." & vbCrLf & msgResultado, vbExclamation, "Atenção"
 
      End If
 
 
'
'  liberar DLL
'
Set objCTeUtil = Nothing
11.5.2. CriaProcCancCTe
11.5. CriaProc
« Anterior
11.5.1. CriaProcCTe [31-03-13]
Próximo »
12. Gerar o XML do CT-e