Buenos días a todos…
Hola Oscarrac, perdona el retraso en contestar….
No comprendo a que te refieres cuando dices que
Cita:
en los archivos XML de ejemplo (adjunto)
existen "claves" que cuando se generan con xl XSD no aparecen
|
El fixhero xml resultante contendrá todas y cada una de las líneas que tú le añadas.
Es verdad que estas líneas que me muestras de ejemplo, las cuales hacen referencia a precios, además del propio valor de la etiqueta tienen atributos.
Para asignarlos, deberás conocer los diferentes valores que pueden tomar, y la forma de asignarlos a cada etiqueta.
No recuerdo yo ahora que el formato Facturae en España tenga etiquetas con atributos, pero buscando un poco he encontrado que probablemente se pueda hacer de la siguiente e forma.
He ampliado un poco el ejemplo anterior que puse para insertar un nodo con algunas etiquetas de una línea de factura
Código Delphi
[-]
var
factura: IXMLInvoiceType;
AccountID: IXMLAdditionalAccountIDType_cbc;
PartyName: IXMLPartyNameType_cac;
unaLinea: IXMLInvoiceLineType_cac;
begin
factura:= GetInvoice(XMLDocument1);
factura.IssueDate.NodeValue:='2011-06-28';
factura.AccountingSupplierParty.CustomerAssignedAccountID.NodeValue:= '20100113612';
AccountID:= factura.AccountingSupplierParty.AdditionalAccountID.Add;
AccountID.nodevalue:='6';
PartyName:= factura.AccountingSupplierParty.Party.PartyName.Add;
PartyName.Name.NodeValue:='K&G Laboratorios';
unaLinea:= factura.InvoiceLine.Add;
unalinea.id.NodeValue:=1;
unaLinea.InvoicedQuantity.SetAttributeNS('unitCode','', 'BX');
unaLinea.InvoicedQuantity.SetAttributeNS('unitCodeListID','', 'UN/ECE rec 20');
unaLinea.InvoicedQuantity.SetAttributeNS('unitCodeListAgencyName','', 'United Nations Economic Commission forEurope');
unaLinea.InvoicedQuantity.NodeValue:=2000;
unaLinea.LineExtensionAmount.SetAttributeNS('currencyID','','PEN');
unaLinea.LineExtensionAmount.NodeValue:= '43840.00';
memoxml.lines.Text:= XMLDocument1.XML.Text;
end;
Espero te sirva...
Saludos