FONTE NFE VB.NET
Andei meio sumido estou com alguns problemas aqui em casa.
nao sei muito bem como explicar.
existem os webservices que o net usa para enviar a nota, esses são baixados do sitete deles mesmo certo?
ai assim eu fiz la uma instrução para ele nao usar o diretorio fixo ele usar o diretorio que eu informar, estava funcionando perfeitamente quando eu enviava nota para o RS agora fui enviar pra são paulo e esta dando 1001 erros, o codigo é o mesmo. os webservices dO RS não aceita os endereços de são paulo.
meus endeços são os seguintes
Case [Ô]SP[Ô]
If HNFe_Ambiente = [Ô]1[Ô] Then
HNFe_NfeRecepcao = [Ô]https://nfe.fazenda.sp.gov.br/nfeweb/services/nferecepcao2.asmx[Ô]
HNFe_NfeRetRecepcao = [Ô]https://nfe.fazenda.sp.gov.br/nfeweb/services/nferetrecepcao2.asmx[Ô]
HNFe_NfeCancelamento = [Ô]https://nfe.fazenda.sp.gov.br/nfeweb/services/nfecancelamento2.asmx[Ô]
HNFe_NfeInutilizacao = [Ô]https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeinutilizacao2.asmx[Ô]
HNFe_NfeConsultaProtocolo = [Ô]https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeconsulta2.asmx[Ô]
HNFe_NFeStatusServico = [Ô]https://nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx[Ô]
ElseIf HNFe_Ambiente = [Ô]2[Ô] Then
HNFe_NfeRecepcao = [Ô]https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nferecepcao2.asmx[Ô]
HNFe_NfeRetRecepcao = [Ô]https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nferetrecepcao2.asmx[Ô]
HNFe_NfeCancelamento = [Ô]https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfecancelamento2.asmx[Ô]
HNFe_NfeInutilizacao = [Ô]https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfeinutilizacao2.asmx[Ô]
HNFe_NfeConsultaProtocolo = [Ô]https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfeconsulta2.asmx[Ô]
HNFe_NFeStatusServico = [Ô]https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx[Ô]
End If
alguem sabe o porque, ou se devo ter os webservices de~são paulo? Como faço para arrumar?
grato desde já
?????
helpppp
Citação:ajuda eu galera:
como mando o arquivo xml sem ser por lote ????
Citação::
como gero o arquivo de retorno para o meu cliente com a tag <nfeProc> e <protNFe>
?????
helpppp
S4NGU3,
Utilizando seu próprio exemplo que, por sinal, achei muito legal a adaptação do código do Daniel que vc fez, segue:
Private Sub Gerar_ProNFe()
Dim documentoxml As New XmlDocument
documentoxml.Load([Ô]SuaPasta_[Ô] & TextBox2.Text & [Ô].xml[Ô])
Dim vNfeDadosMsg As String = documentoxml.OuterXml
[ô]Separar somente o conteúdo a partir da tag <NFe> até </NFe>
Dim nPosI As Int32 = vNfeDadosMsg.IndexOf([Ô]<NFe[Ô])
Dim nPosF As Int32 = vNfeDadosMsg.Length - nPosI - 10
Dim vStringNfe As String = vNfeDadosMsg.Substring(nPosI, nPosF)
sql8 = [Ô][Ô]
sql8 += [Ô] SELECT IDSAIDA, CHAVE_ACESSO_NFE, NPROT, XMOTIVO, VERAPLIC, DHRECBTO, DIGVAL, CSTAT[Ô]
sql8 += [Ô] FROM tabela[Ô]
sql8 += [Ô] WHERE ID = [Ô] & vr_nfeid
cmd_aux8.Connection = conn_aux
cmd_aux8.Parameters.Clear()
cmd_aux8.CommandType = CommandType.Text
cmd_aux8.CommandText = sql8
reader_aux8 = cmd_aux8.ExecuteReader()
Using reader_aux8
While reader_aux8.Read
[ô]string dados do recibo
Dim recrecibo As String = String.Empty
recrecibo += [Ô]<infProt>[Ô]
recrecibo += [Ô]<tpAmb>[Ô] & vr_tpamb & [Ô]</tpAmb>[Ô]
recrecibo += [Ô]<verAplic>[Ô] & reader_aux8.GetValue(4) & [Ô]</verAplic>[Ô]
recrecibo += [Ô]<chNFe>[Ô] & reader_aux8.GetValue(1) & [Ô]</chNFe>[Ô]
recrecibo += [Ô]<dhRecbto>[Ô] & reader_aux8.GetValue(5) & [Ô]</dhRecbto>[Ô]
recrecibo += [Ô]<nProt>[Ô] & reader_aux8.GetValue(2) & [Ô]</nProt>[Ô]
recrecibo += [Ô]<digVal>[Ô] & reader_aux8.GetValue(6) & [Ô]</digVal>[Ô]
recrecibo += [Ô]<cStat>[Ô] & reader_aux8.GetValue(7) & [Ô]</cStat>[Ô]
recrecibo += [Ô]<xMotivo>[Ô] & reader_aux8.GetValue(3) & [Ô]</xMotivo>[Ô]
recrecibo += [Ô]</infProt>[Ô]
Dim xmlcompleta As String = funcoesNfe.GerarNotaProcessada(vStringNfe, recrecibo, reader_aux8.GetValue(2))
End While
End Using
[ô]cmd_aux.Dispose()
reader_aux8.Close()
sql9 = [Ô][Ô]
sql9 += [Ô] Update SAIDAS[Ô]
sql9 += [Ô] SET NFE_STATUS = [ô]Autorizada[ô][Ô]
sql9 += [Ô] WHERE IDSAIDA = [Ô] & vr_nfeid
cmd_aux9.Connection = conn_aux
cmd_aux9.Parameters.Clear()
cmd_aux9.CommandType = CommandType.Text
cmd_aux9.CommandText = sql9
cmd_aux9.ExecuteNonQuery()
cmd_aux9.Dispose()
MsgBox([Ô]OK. NF-e Processada e Salva![Ô], MsgBoxStyle.Exclamation, [Ô] [Ô])
End Sub
E na classe funcoesNFE:
Public Function GerarNotaProcessada(ByVal vStringNfe As String, ByVal VStringRecibo As String, ByVal Nprott As String) As String
Dim cVersaoDados As String = [Ô]2.00[Ô]
[ô]Montar a parte do XML referente ao Lote e acrescentar a Nota Fiscal
Dim vStringLoteNfe As String = String.Empty
vStringLoteNfe += [Ô]<?xml version=[Ô][Ô]1.0[Ô][Ô] encoding=[Ô][Ô]utf-8[Ô][Ô]?>[Ô]
vStringLoteNfe += [Ô]<nfeProc versao=[Ô][Ô][Ô] & cVersaoDados & [Ô][Ô][Ô] xmlns=[Ô][Ô]http://www.portalfiscal.inf.br/nfe[Ô][Ô]>[Ô]
vStringLoteNfe += vStringNfe
vStringLoteNfe += [Ô]<protNFe versao=[Ô][Ô][Ô] & cVersaoDados & [Ô][Ô][Ô] xmlns=[Ô][Ô]http://www.portalfiscal.inf.br/nfe[Ô][Ô]>[Ô]
vStringLoteNfe += VStringRecibo
vStringLoteNfe += [Ô]</protNFe>[Ô]
vStringLoteNfe += [Ô]</nfeProc>[Ô]
Dim PastaNota As String = [Ô][Ô]
PastaNota = [Ô]SuaPasta[Ô]
If Directory.Exists(PastaNota) = False Then
Directory.CreateDirectory(PastaNota)
End If
Dim NDoc As New XmlDocument
NDoc.LoadXml(vStringLoteNfe)
Using xmltw As New XmlTextWriter(PastaNota & Nprott & [Ô]_v[Ô] & cVersaoDados & [Ô]-procNFe.xml[Ô], New UTF8Encoding(False))
NDoc.WriteTo(xmltw)
xmltw.Close()
End Using
Return PastaNota & Nprott & [Ô]_v[Ô] & cVersaoDados & [Ô]-procNFe.xml[Ô]
End Function
Obs: é uma adaptação do que vc fez e o Daniel fez, ou seja, não fiz nada rsrsrsrs.
Abraço.
Ricardo
Citação::
:
como gero o arquivo de retorno para o meu cliente com a tag <nfeProc> e <protNFe>
?????
helpppp
S4NGU3,
Utilizando seu próprio exemplo que, por sinal, achei muito legal a adaptação do código do Daniel que vc fez, segue:
Private Sub Gerar_ProNFe()
Dim documentoxml As New XmlDocument
documentoxml.Load([Ô]SuaPasta_[Ô] & TextBox2.Text & [Ô].xml[Ô])
Dim vNfeDadosMsg As String = documentoxml.OuterXml
[ô]Separar somente o conteúdo a partir da tag <NFe> até </NFe>
Dim nPosI As Int32 = vNfeDadosMsg.IndexOf([Ô]<NFe[Ô])
Dim nPosF As Int32 = vNfeDadosMsg.Length - nPosI - 10
Dim vStringNfe As String = vNfeDadosMsg.Substring(nPosI, nPosF)
sql8 = [Ô][Ô]
sql8 += [Ô] SELECT IDSAIDA, CHAVE_ACESSO_NFE, NPROT, XMOTIVO, VERAPLIC, DHRECBTO, DIGVAL, CSTAT[Ô]
sql8 += [Ô] FROM tabela[Ô]
sql8 += [Ô] WHERE ID = [Ô] & vr_nfeid
cmd_aux8.Connection = conn_aux
cmd_aux8.Parameters.Clear()
cmd_aux8.CommandType = CommandType.Text
cmd_aux8.CommandText = sql8
reader_aux8 = cmd_aux8.ExecuteReader()
Using reader_aux8
While reader_aux8.Read
[ô]string dados do recibo
Dim recrecibo As String = String.Empty
recrecibo += [Ô]<infProt>[Ô]
recrecibo += [Ô]<tpAmb>[Ô] & vr_tpamb & [Ô]</tpAmb>[Ô]
recrecibo += [Ô]<verAplic>[Ô] & reader_aux8.GetValue(4) & [Ô]</verAplic>[Ô]
recrecibo += [Ô]<chNFe>[Ô] & reader_aux8.GetValue(1) & [Ô]</chNFe>[Ô]
recrecibo += [Ô]<dhRecbto>[Ô] & reader_aux8.GetValue(5) & [Ô]</dhRecbto>[Ô]
recrecibo += [Ô]<nProt>[Ô] & reader_aux8.GetValue(2) & [Ô]</nProt>[Ô]
recrecibo += [Ô]<digVal>[Ô] & reader_aux8.GetValue(6) & [Ô]</digVal>[Ô]
recrecibo += [Ô]<cStat>[Ô] & reader_aux8.GetValue(7) & [Ô]</cStat>[Ô]
recrecibo += [Ô]<xMotivo>[Ô] & reader_aux8.GetValue(3) & [Ô]</xMotivo>[Ô]
recrecibo += [Ô]</infProt>[Ô]
Dim xmlcompleta As String = funcoesNfe.GerarNotaProcessada(vStringNfe, recrecibo, reader_aux8.GetValue(2))
End While
End Using
[ô]cmd_aux.Dispose()
reader_aux8.Close()
sql9 = [Ô][Ô]
sql9 += [Ô] Update SAIDAS[Ô]
sql9 += [Ô] SET NFE_STATUS = [ô]Autorizada[ô][Ô]
sql9 += [Ô] WHERE IDSAIDA = [Ô] & vr_nfeid
cmd_aux9.Connection = conn_aux
cmd_aux9.Parameters.Clear()
cmd_aux9.CommandType = CommandType.Text
cmd_aux9.CommandText = sql9
cmd_aux9.ExecuteNonQuery()
cmd_aux9.Dispose()
MsgBox([Ô]OK. NF-e Processada e Salva![Ô], MsgBoxStyle.Exclamation, [Ô] [Ô])
End Sub
E na classe funcoesNFE:
Public Function GerarNotaProcessada(ByVal vStringNfe As String, ByVal VStringRecibo As String, ByVal Nprott As String) As String
Dim cVersaoDados As String = [Ô]2.00[Ô]
[ô]Montar a parte do XML referente ao Lote e acrescentar a Nota Fiscal
Dim vStringLoteNfe As String = String.Empty
vStringLoteNfe += [Ô]<?xml version=[Ô][Ô]1.0[Ô][Ô] encoding=[Ô][Ô]utf-8[Ô][Ô]?>[Ô]
vStringLoteNfe += [Ô]<nfeProc versao=[Ô][Ô][Ô] & cVersaoDados & [Ô][Ô][Ô] xmlns=[Ô][Ô]http://www.portalfiscal.inf.br/nfe[Ô][Ô]>[Ô]
vStringLoteNfe += vStringNfe
vStringLoteNfe += [Ô]<protNFe versao=[Ô][Ô][Ô] & cVersaoDados & [Ô][Ô][Ô] xmlns=[Ô][Ô]http://www.portalfiscal.inf.br/nfe[Ô][Ô]>[Ô]
vStringLoteNfe += VStringRecibo
vStringLoteNfe += [Ô]</protNFe>[Ô]
vStringLoteNfe += [Ô]</nfeProc>[Ô]
Dim PastaNota As String = [Ô][Ô]
PastaNota = [Ô]SuaPasta[Ô]
If Directory.Exists(PastaNota) = False Then
Directory.CreateDirectory(PastaNota)
End If
Dim NDoc As New XmlDocument
NDoc.LoadXml(vStringLoteNfe)
Using xmltw As New XmlTextWriter(PastaNota & Nprott & [Ô]_v[Ô] & cVersaoDados & [Ô]-procNFe.xml[Ô], New UTF8Encoding(False))
NDoc.WriteTo(xmltw)
xmltw.Close()
End Using
Return PastaNota & Nprott & [Ô]_v[Ô] & cVersaoDados & [Ô]-procNFe.xml[Ô]
End Function
Obs: é uma adaptação do que vc fez e o Daniel fez, ou seja, não fiz nada rsrsrsrs.
Abraço.
Ricardo
showwwww valewwwww
agora soh falta o cancelamento
Citação::
Alguem implantou servidor de contingencia ??
Também gostaria de saber....rsrsrs