Corrigindo o Post Errado (Problemas com o XMLDocument)
O tópico de cima está meio errado!!!estou postando o correto!!!
Olá...gostaria de gerar algo do tipo!
porém quando faço isso com o componente ele só pega o último valor da duplicata!!!
o meu código está desta forma!!!
com esse código ele gera tudo corretamente, apenas quando existe repetição igual no caso da duplicata.....ou se houver vários produtos...quando é 1 só ele gera normal...certinho!!!
É claro que ae só estão as informações de fatura da nota fiscal...tem o corpo da nota, cabeçalho, rodapé....tudo certinho...
desde já obrigado!!
o resultado do código acima é o seguinte:
o problema correto é que não consigo repetir uma mesma tag!!!
se tenho q repetir
eu naum consigo!!!o componente que estou usando é o XMLDocument!!!! então tudo ae gira em torno desse componente!!
Olá...gostaria de gerar algo do tipo!
<cobranca> <fatura> <numero>1</numero> <valorOriginal>4444,00</valorOriginal> <valorDesconto>0</valorDesconto> <valorLiquido>4444,00</valorLiquido> </fatura> <duplicata> <numero>1/A</numero> <vencimento>2008-06-15</vencimento> <valor>2222,00</valor> </duplicata> <duplicata> <numero>1/B</numero> <vencimento>2008-06-30</vencimento> <valor>2222,00</valor> </duplicata> </cobranca>
porém quando faço isso com o componente ele só pega o último valor da duplicata!!!
o meu código está desta forma!!!
procedure TF_Nfe.BitBtn1Click(Sender: TObject); var xml : TXMLDocument; no_cobranca : IXMLNode; begin xml:=TXMLDocument.Create(nil); xml.Active:=TRUE; no_cobranca:=xml.DocumentElement.AddChild(´cobranca´); no_cobranca.ChildNodes[´fatura´].ChildNodes[´numero´].NodeValue:=edCobNumNF.Text; no_cobranca.ChildNodes[´fatura´].ChildNodes[´valorOriginal´].NodeValue:=edCobValorTotal.Text; no_cobranca.ChildNodes[´fatura´].ChildNodes[´valorDesconto´].NodeValue:=edCobDesconto.Text; no_cobranca.ChildNodes[´fatura´].ChildNodes[´valorLiquido´].NodeValue:=edCobVlLiquido.Text; no_cobranca.ChildNodes[´duplicata´].ChildNodes[´numero´].NodeValue:=edCobDuplicata1.Text; no_cobranca.ChildNodes[´duplicata´].ChildNodes[´vencimento´].NodeValue:=edCobVencto1.Text; no_cobranca.ChildNodes[´duplicata´].ChildNodes[´valor´].NodeValue:=edCobParValor1.Text; no_cobranca.ChildNodes[´duplicata´].ChildNodes[´numero´].NodeValue:=edCobDuplicata2.Text; no_cobranca.ChildNodes[´duplicata´].ChildNodes[´vencimento´].NodeValue:=edCobVencto2.Text; no_cobranca.ChildNodes[´duplicata´].ChildNodes[´valor´].NodeValue:=edCobParValor2.Text; no_cobranca.ChildNodes[´duplicata´].ChildNodes[´numero´].NodeValue:=edCobDuplicata3.Text; no_cobranca.ChildNodes[´duplicata´].ChildNodes[´vencimento´].NodeValue:=edCobVencto3.Text; no_cobranca.ChildNodes[´duplicata´].ChildNodes[´valor´].NodeValue:=edCobParValor3.Text; no_cobranca.ChildNodes[´duplicata´].ChildNodes[´numero´].NodeValue:=edCobDuplicata4.Text; no_cobranca.ChildNodes[´duplicata´].ChildNodes[´vencimento´].NodeValue:=edCobVencto4.Text; no_cobranca.ChildNodes[´duplicata´].ChildNodes[´valor´].NodeValue:=edCobParValor4.Text; empresa:=cbCodEmpresa.Items[cbCodEmpresa.ItemIndex]; nome_arquivo:=´G:\NotaNet\nfe\nota\´+empresa+´_´+edNumeroNF.Text+´.xml´; xml.SaveToFile(nome_arquivo); xml.Active:=False; xml:=nil; end;
com esse código ele gera tudo corretamente, apenas quando existe repetição igual no caso da duplicata.....ou se houver vários produtos...quando é 1 só ele gera normal...certinho!!!
É claro que ae só estão as informações de fatura da nota fiscal...tem o corpo da nota, cabeçalho, rodapé....tudo certinho...
desde já obrigado!!
o resultado do código acima é o seguinte:
<cobranca> <fatura> <numero>1</numero> <valorOriginal>4444,00</valorOriginal> <valorDesconto>0</valorDesconto> <valorLiquido>4444,00</valorLiquido> </fatura> <duplicata> <numero>1/B</numero> <vencimento>2008-06-30</vencimento> <valor>2222,00</valor> </duplicata> </cobranca>
o problema correto é que não consigo repetir uma mesma tag!!!
se tenho q repetir
<duplicata> <numero>1/A</numero> </duplicata> <duplicata> <numero>1/B</numero> </duplicata>
eu naum consigo!!!o componente que estou usando é o XMLDocument!!!! então tudo ae gira em torno desse componente!!
Uzumaki_naruto
Curtidas 0
Respostas
Uzumaki_naruto
04/06/2008
subido o tópico
GOSTEI 0
Uzumaki_naruto
04/06/2008
opa...consegui descobrir....
quando ouver esse tipo de repetição como em duplicatas, nota fiscal e pedidos eu tenho q usar ao invés dessa forma:
esta forma aqui:
quando ouver esse tipo de repetição como em duplicatas, nota fiscal e pedidos eu tenho q usar ao invés dessa forma:
no_cobranca:=xml.DocumentElement.AddChild(´cobranca´); no_cobranca.ChildNodes[´fatura´].ChildNodes[´numero´].NodeValue:=edCobNumNF.Text; no_cobranca.ChildNodes[´fatura´].ChildNodes[´valorOriginal´].NodeValue:=edCobValorTotal.Text; no_cobranca.ChildNodes[´fatura´].ChildNodes[´valorDesconto´].NodeValue:=edCobDesconto.Text; no_cobranca.ChildNodes[´fatura´].ChildNodes[´valorLiquido´].NodeValue:=edCobVlLiquido.Text;
esta forma aqui:
no_notafiscal:=xml.Node.AddChild(´NotaFiscal´); no_cobranca:=xml.DocumentElement.AddChild(´cobranca´); for i:=1 to 4 do begin no_cobranca.AddChild(´fatura´).ChildNodes[´numero´].NodeValue:=edit.text end;
GOSTEI 0
Uzumaki_naruto
04/06/2008
ou assim ainda
[/code]
no_cobranca.AddChild(´fatura´).ChildNodes[´numero´].NodeValue:=inttostr(1); no_cobranca.AddChild(´fatura´).ChildNodes[´numero´].NodeValue:=inttostr(2); no_cobranca.AddChild(´fatura´).ChildNodes[´numero´].NodeValue:=inttostr(3); no_cobranca.AddChild(´fatura´).ChildNodes[´numero´].NodeValue:=inttostr(4);
GOSTEI 0