Ai ai ai ai ... isso é problema de lógica, faltou o laço.

 

 

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de 
icefusion11
Enviada em: quinta-feira, 5 de junho de 2008 10:21
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Problemas com o Componente TXmlDocument

 

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>

 



[As partes desta mensagem que não continham texto foram removidas]

Responder a