FONTE NFE VB.NET
Eu tenho que passar o CancelarDocumento.Id o que seria esse Id, eu pensei que passaria o xml a ser cancelado e depois retornaria um outro xml que seria adicionado ao primeiro.
Alguem poderia explicar um pouco o processo de cancelamento
Grato.
Citação::
Olá pessoal ...
Depois de algumas alterações consegui testar a última versão do aplicativo postado pelo Daniel e está quase tudo funcionando.
Porem não estou conseguindo cancelar a NFe, a mensagem é: [Ô]Rejeicao: Protocolo de Autorizacao de Uso difere do cadastrado[Ô].
O problema é o protocolo de recebimento que é gerado na consulta [Ô]nProt[Ô].
Até onde percebi a consulta não está gerando este protocolo.
Alguém pode me ajudar ?
Obrigado
Eu estou fazendo dessa forma e está normal:
Dim CancelarDocumento As New NFE.NFe
CancelarDocumento.Id = [Ô]35110111288858000110550010000001071437249426[Ô] [ô]Chave
CancelarDocumento.versao = [Ô]2.00[Ô]
CancelarDocumento.nProt = [Ô]135110000571862[Ô] [ô]Protocolo
CancelarDocumento.xJust = [Ô]Erro na impressao da nota[Ô]
Espero ter ajudado
Bom dia MITSUEDA ...
é exatamente isso q PCROCKFELLER publicou.
A [Ô]Chave[Ô] é o retorno do envio (44 dÃgitos).
O [Ô]Protocolo[Ô] é o retorno da consulta (15 dÃgitos).
O problema é q falta uma parte no código [Ô]Public Function ConsultaNfe(ByVal IDNFe As String) As RetRetorno[Ô], esta parte é o [Ô]Protocolo[Ô].
Eu resolvi o problema acrescentado a parte faltante no código:
If (InnerNode2.Name = [Ô]dhRecbto[Ô]) Then
VarRecibo.dhRecbto = InnerNode2.InnerText
End If
[ô]x +++
If (InnerNode2.Name = [Ô]nProt[Ô]) Then
VarRecibo.nProt = InnerNode2.InnerText
End If
[ô]x ///
If (InnerNode2.Name = [Ô]digVal[Ô]) Then
VarRecibo.digVal = InnerNode2.InnerText
End If
O [Ô]VarRecibo.nProt[Ô] captura o [Ô]Protocolo[Ô] da consulta aà é só passar ele p/ [Ô]CancelarDocumento.nProt = [Ô].
Agradeço ao PCROCKFELLER pela atenção e espero ter ajudado o MITSUEDA ...
Então o ID é a Chave da NF[ô]e emitida a ser cancelada OK.
Mas o processo de cancelamento altera o arquivo XML original? Ou ele cria um novo xml?
Obrigado
Citação::
NETODV1 e PCROCKFELLER Obrigado pela resposta.
Então o ID é a Chave da NF[ô]e emitida a ser cancelada OK.
Mas o processo de cancelamento altera o arquivo XML original? Ou ele cria um novo xml?
Obrigado
Não altera o XML, só cancela na SEFAZ. Voce pode guardar o protocolo de cancelamento tb.
Encontrei fragmentos de código destes dentro do Aplicativo.
No último contato com Daniel ele estava implementando-os, depois disso não tive mais contato !
Alguém tem esses processos mais adiantados ?
Se sim, como posso ajudar ?
Citação::
Help Pleasy
pessoal agora estou tendo esse erro ao tentar remontar o XML com o retorno da Sefaz
erro
[Ô]A marca de inÃcio [ô]nfeProc[ô] na linha 1 não corresponde à marca de fim de [ô]enviNFe[ô]. Linha 1, posição 5468.[Ô]
eu percebi que a variavel que pega o Retorno do recibo (RetC.XmlRecibo) esta vazia ou seja não tem o valor de retorno da sefaz pode ser este o erro?
Hoje aconteceu o mesmo comigo, o retorno da variavel vem vazia? qual seria o motivo dessa falha?
Ao consultar a chave do xml no site do SEFAZ SP, a bendita está lá com o numero do recibo e tudo!
Abraços
Citação::
Bom pessoal, agora restam dois processos (Consulta Status WS e Inutilização por Faixa) para [Ô]fechar o projeto[Ô].
Encontrei fragmentos de código destes dentro do Aplicativo.
No último contato com Daniel ele estava implementando-os, depois disso não tive mais contato !
Alguém tem esses processos mais adiantados ?
Se sim, como posso ajudar ?
Olá NETODV1, pra consultar estou usando o seguinte:
If opt_Amb_Produção.Checked = True Then
UrlAcesso = BuscaURL(Estado_Sistema, [Ô]PRODUCAO[Ô])
Else
UrlAcesso = BuscaURL(Estado_Sistema, [Ô]HOMOLOGACAO[Ô])
End If
Dim Chave As String = [Ô]35110111288858000110550010000001071437249426[Ô]
Dim WebS As New C_WebService(UrlAcesso)
Dim RetornoConsulta As New RetRetorno
Try
RetornoConsulta = WebS.ConsultaNfe(Chave, Série_do_Certificado)
MDI.Cursor = Cursors.Arrow
For Each RetC In RetornoConsulta.L_Retornos
MessageBox.Show(RetC.xMotivo, Sys, MessageBoxButtons.OK, MessageBoxIcon.Information)
Next
Catch Exc As Exception
MDI.Cursor = Cursors.Arrow
MessageBox.Show(Exc.Message, Sys, MessageBoxButtons.OK, MessageBoxIcon.Information)
End Try
Veja se te ajuda
Vou implementar no Aplicativo e reporto resultado.
Abraço ...