- 11.5. CriaProc
11.5.2. CriaProcCancCTe - 11.5.1. CriaProcCTe [31-03-13]
« Anterior - 12. Gerar XML do CT-e - modelo 57
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:
- 2011-12-30 - v1.0 - Versão preliminar.
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 XML do CT-e - modelo 57