Componente XMLDocument

02/06/2008

6

Olá...gostaria de gerar algo do tipo!

<xml> <duplicata>1/A</duplicata> <duplicata>2A</duplicata> <duplicata>3A</duplicata> </xml>


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_notafiscal, no_cabecalho, no_emitente   , no_destinatario ,
   no_produto   , no_total    , no_transporte , no_entrega      ,
   no_retirada  , no_dadosadic, nores_resposta, nores_notafiscal,
   nores_codigo , 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!!


Responder

Posts

04/06/2008

Uzumaki_naruto

subindo o tópico!!!


Responder

15/03/2009

E.notafiscal

Se estiver com dificuldades ou com pouco tempo para implementar a parte de NF-e em teu sistema, vai uma dica: http://notafiscaleletronica.no-ip.org/


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira