gmontes |
16-12-2010 17:38:07 |
pues yo baje el dcu NATIVEXML que es gratuito y listo :)
lo instalas y agregas el path de la libreria
Código:
var
sruta, FicheroXML:string;
ADoc: TNativeXml;
//aqui los voy a guardar
sruta:='c:\ssistema\reportes\xml\';
//aqui tomamos los datos de la factura y demas
//con la instruccion del sql, etc etc
sDocumento:= DMSIU.cdsFac.FieldByName('documento').AsString;
FicheroXML:=sruta+Trim(sDocumento);
ADoc := TNativeXml.CreateName('comprobante');
try
// Add a subnode with name "Customer"
with ADoc.Root.NodeNew('cliente') do
begin
// Add an attribute to this subnode
// WriteAttributeInteger('ID', 123456);
// Add subsubnode
// puse el '1' para verificar que funcione y solo voy a cambiarlo por las variables de cada datos
WriteString('cod_cte', '1');
WriteString('razon_social', 'EMPRESA X');
WriteString('rfc', '1');
WriteString('calle','1');
WriteString('num_exterior','1');
WriteString('num_interior','1');
WriteString('colonia','1');
WriteString('cod_postal','1');
WriteString('pobmunedo','1');
WriteString('telefono','1');
WriteString('municipio','1');
WriteString('estado','1');
WriteString('pais','1');
end;
with ADoc.Root.NodeNew('factura') do
begin
WriteString('folio', '1');
WriteString('transaccion', '1');
WriteString('fecha', '1');
WriteString('plazo', '1');
WriteString('cod_estab', '1');
WriteString('importe', '1');
WriteString('iva', '1');
WriteString('descuento_porcentual', '1');
WriteString('importe_descuento', '1');
WriteString('iva_retenido', '1');
WriteString('isr_retenido', '1');
WriteString('total', '1');
WriteString('ieps', '1');
WriteString('costo', '1');
WriteString('cantidad', '1');
WriteString('vendedor', '1');
WriteString('nom_vendedor', '1');
WriteString('condicion_pago', '1');
WriteString('notas', '1');
WriteString('moneda', '1');
WriteString('tipo_cambio', '1');
end;
//repetir por cada renglon de detalle
with ADoc.Root.NodeNew('conceptos') do
begin
WriteString('cod_prod', '1');
WriteString('descripcion_completa', '1');
WriteString('comentario', '1');
WriteString('cantidad', '1');
WriteString('precio_lista', '1');
WriteString('descuento_porcentual', '1');
WriteString('importe_descuento', '1');
WriteString('importe', '1');
WriteString('iva', '1');
WriteString('total', '1');
WriteString('costo', '1');
WriteString('porcentaje_iva', '1');
end;
// Save the XML in readable format (so with indents)
ADoc.XmlFormat := xfReadable;
// Save results to a file
ADoc.SaveToFile(FicheroXML);
finally
ADoc.Free;
end;
|