XML CLASSE NOTA FISCAL ELETRONICA
Opa. vou passar como fiz e vamos ver se resolvemos...
1) Gerei a classe automaticamente pelo comando:
xsd.exe cancNFe_v1.07.xsd xmldsig-core-schema_v1.01.xsd /l:vb /c /n:cancNFe /edb /o:[Ô]c: mp[Ô]
2) Acrescentei o New nas linhas 32 e 34
Private infCancField As New TCancNFeInfCanc
Private signatureField As New SignatureType
3)Criei o seguinte código para alimentar os campos:
PERGUNTA: COMO PASSAR O CONTEÚDO DO OBJETO PARA UM DOCUMENTO XmlDocument
algo assim:
1) Gerei a classe automaticamente pelo comando:
xsd.exe cancNFe_v1.07.xsd xmldsig-core-schema_v1.01.xsd /l:vb /c /n:cancNFe /edb /o:[Ô]c: mp[Ô]
2) Acrescentei o New nas linhas 32 e 34
Private infCancField As New TCancNFeInfCanc
Private signatureField As New SignatureType
3)Criei o seguinte código para alimentar os campos:
Public Function CancelaNFe(ByVal vID As String, ByVal vAmb As String, ByVal vChaveNFe As String, ByVal vProtocolo As String, ByVal vMotivo As String) As Boolean
Dim Obj As New cancNFe.TCancNFe
Obj.versao = [Ô]1.07[Ô]
Obj.infCanc.Id = vID
Obj.infCanc.tpAmb = vAmb
Obj.infCanc.xServ = [Ô]CANCELAR[Ô]
Obj.infCanc.chNFe = vChaveNFe
Obj.infCanc.nProt = vProtocolo
Obj.infCanc.xJust = vMotivo
Emd Function
PERGUNTA: COMO PASSAR O CONTEÚDO DO OBJETO PARA UM DOCUMENTO XmlDocument
algo assim:
Dim doc As New XmlDocument
doc.PreserveWhitespace = False
doc.LoadXml(Obj)
doc.Save([Ô]c: mp\arquivo.xml[Ô])
Temos um tópico EXCLUSIVAMENTE tratando sobre NFE.
Destaquei o tópico justamente para concentrarmos todas as duvidas pertinentes a esse assunto em um único local.
Com certeza lá você terá mais ajuda .
Destaquei o tópico justamente para concentrarmos todas as duvidas pertinentes a esse assunto em um único local.
Com certeza lá você terá mais ajuda .
Segue solução:
Imports System.Runtime.Serialization
Public Function CancelamentoNFe(ByVal vID As String, ByVal vAmb As String, ByVal vChaveNFe As String, ByVal vProtocolo As String, ByVal vMotivo As String) As Boolean
Dim Obj As New cancNFe.TCancNFe
Dim varNomeArq As String
Obj.versao = [Ô]1.07[Ô]
Obj.infCanc.Id = Trim(vID)
If vAmb.Trim = [Ô]1[Ô] Then
Obj.infCanc.tpAmb = cancNFe.TAmb.Item1
ElseIf vAmb.Trim = [Ô]2[Ô] Then
Obj.infCanc.tpAmb = cancNFe.TAmb.Item2
End If
Obj.infCanc.xServ = [Ô]CANCELAR[Ô]
Obj.infCanc.chNFe = Trim(vChaveNFe)
Obj.infCanc.nProt = Trim(vProtocolo)
Obj.infCanc.xJust = Trim(vMotivo)
varNomeArq = [Ô][Ô]
varNomeArq = varNFePASTAENVIAR & [Ô]\[Ô] & vChaveNFe & [Ô]-ped-can.xml[Ô]
[ô]Serializacao XML
Dim Serializer As New Serialization.XmlSerializer(GetType(cancNFe.TCancNFe))
Dim DataFile As New FileStream(varNomeArq, FileMode.Create, FileAccess.Write, FileShare.None)
Serializer.Serialize(DataFile, Obj)
DataFile.Close()
Obj = Nothing
Return True
End Function
Imports System.Runtime.Serialization
Public Function CancelamentoNFe(ByVal vID As String, ByVal vAmb As String, ByVal vChaveNFe As String, ByVal vProtocolo As String, ByVal vMotivo As String) As Boolean
Dim Obj As New cancNFe.TCancNFe
Dim varNomeArq As String
Obj.versao = [Ô]1.07[Ô]
Obj.infCanc.Id = Trim(vID)
If vAmb.Trim = [Ô]1[Ô] Then
Obj.infCanc.tpAmb = cancNFe.TAmb.Item1
ElseIf vAmb.Trim = [Ô]2[Ô] Then
Obj.infCanc.tpAmb = cancNFe.TAmb.Item2
End If
Obj.infCanc.xServ = [Ô]CANCELAR[Ô]
Obj.infCanc.chNFe = Trim(vChaveNFe)
Obj.infCanc.nProt = Trim(vProtocolo)
Obj.infCanc.xJust = Trim(vMotivo)
varNomeArq = [Ô][Ô]
varNomeArq = varNFePASTAENVIAR & [Ô]\[Ô] & vChaveNFe & [Ô]-ped-can.xml[Ô]
[ô]Serializacao XML
Dim Serializer As New Serialization.XmlSerializer(GetType(cancNFe.TCancNFe))
Dim DataFile As New FileStream(varNomeArq, FileMode.Create, FileAccess.Write, FileShare.None)
Serializer.Serialize(DataFile, Obj)
DataFile.Close()
Obj = Nothing
Return True
End Function
Problema resolve, então ENCERRE O TÓPICO.
tá bom xarope....
Tópico encerrado , respostas não são mais permitidas