COMO PEGAR OS ÍTENS DO XML DA NFE

COELHOMS 26/06/2017 16:02:03
#474753
Preciso saber o total de ítens para poder fazer o loop e inserir os produtos um a um.
Essa linha do FOR da funciona pois det não tem a propriedade Count. Como posso
fazer isso.: for (AddGrid = 0; (AddGrid <= (nota.NFe.infNFe.det.Count - 1)); AddGrid++)
KURTGU 26/06/2017 16:05:57
#474754
Citação:

:
Preciso saber o total de ítens para poder fazer o loop e inserir os produtos um a um.
Essa linha do FOR da funciona pois det não tem a propriedade Count. Como posso
fazer isso.: for (AddGrid = 0; (AddGrid <= (nota.NFe.infNFe.det.Count - 1)); AddGrid++)



Entra neste canal de um companheiro aqui do forum la ele tem varios videos, e um deles e sobre isto que esta procurando...

https://www.youtube.com/channel/UCUXi4bpy_nghu9S4nMgVYtg
COELHOMS 26/06/2017 16:15:49
#474756
Eu já vi esses vídeos e são muito bons, mas o que eu quero não tem neles. Resumindo: Eu já consegui pegar os dados da NFe Serealizando e Desserealizando o xml da nfe, o que eu não entendi até agora é como fazer o loop para inserir os itens (produtos, impostos e outros dados dessa classe). Pra isso eu preciso saber de antemão quantos ítens existem pra colocar no FOR.
Obrigado
KERPLUNK 26/06/2017 16:54:56
#474758
Você manipula as instâncias de classe da mesma maneira como qualquer outra classe:

MinhaClasse instancia = new MinhaClasse();
instancia.Propriedade = [Ô]Valor[Ô];


Para propriedades que são array, instancie uma nova array do tipo correspondente à propriedade:

MinhaClasse instancia = new MinhaClasse();
int[] itens = {0,1,2,3};
instancia.Itens = itens;


Se a propriedade for um array de tipo personalizado(outra classe):

MinhaClasse instancia = new MinhaClasse();
List<TipoPersonalizado> itens = new List<TipoPersonalizado>();
itens.Add(new TipoPersonalizado(){ propriedade1 = [Ô]valor1[Ô], propriedade2 = [Ô]valor2[Ô]};
instancia.Itens = itens.ToArray();


O que você não entendeu é como funciona OOP, para isso, aconselho assistir os outros vídeos do canal. Com certeza serão esclarecedores!
NILSONTRES 26/06/2017 17:23:50
#474759
Citação:

pois det não tem a propriedade Count


Citação:

Eu já vi esses vídeos e são muito bons, mas o que eu quero não tem neles


Tem sim, os videos ensinam você a desserializar, depois disso você mesmo implementa, exemplo:
Dim i as integer
For i = 0 To Nota.NFe.infNFe.det.Count - 1
GRID_PED.Rows(I).Cells(CPED_CODBARRAS.Name).Value = Nota.NFe.infNFe.det(i).prod.cEAN
next
COELHOMS 26/06/2017 17:57:27
#474760
Obrigado, vou tentar aqui; sobre OPP sei como funciona, mas não muito.Eu to fazendo isso somente como um passa tempo; não é pra nenhum sistema. Quando ponho uma coisa na
cabeça que vou fazer, fico pesquisando até encontrar o que quero. Valeu !!
KURTGU 26/06/2017 18:26:02
#474761
Citação:

:
Obrigado, vou tentar aqui; sobre OPP sei como funciona, mas não muito.Eu to fazendo isso somente como um passa tempo; não é pra nenhum sistema. Quando ponho uma coisa na
cabeça que vou fazer, fico pesquisando até encontrar o que quero. Valeu !!



Na verdade vc ja encontrou o problema é que não esta sabendo usar, mais boa sorte, caso sua duvida foi SANADA feche o post e pontue quem lhe ajudou até mais.
COELHOMS 26/06/2017 18:33:21
#474763
Verdade, não to sabendo usar. Essa linha aqui que não consigo resolver por causa da propriedade Count : For i = 0 To Nota.NFe.infNFe.[txt-color=#0000f0]det.Count [/txt-color]- 1
KERPLUNK 26/06/2017 19:11:52
#474765
Se [Ô]det[Ô] estiver null, você terá uma exceção...
NILSONTRES 26/06/2017 22:02:53
#474768
Citação:

Se [Ô]det[Ô] estiver null, você terá uma exceção...


Mas det nunca estará null, é tag que inicia os itens da nota.
Faça seu login para responder