Ver Mensaje Individual
  #4  
Antiguo 16-12-2010
Avatar de gmontes
gmontes gmontes is offline
Miembro
 
Registrado: jul 2004
Ubicación: Culiacán, Sinaloa, México
Posts: 668
Reputación: 20
gmontes Va por buen camino
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;
__________________
Todos llevamos nuestros demonios a cuestas..

Última edición por gmontes fecha: 16-12-2010 a las 17:49:10.
Responder Con Cita