Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 3 Semanas
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 608
Poder: 21
mRoman Va por buen camino
Leer Datos De Xml

Hola amigos.

Hace algun tiempo inicié un hilo con el mismo tema (creo recordar), el tema -obviamente- no lo domino PERO NADA!, asi que cualquier error no sé como se resuelvoría. Bueno lo traigo de nuevo porque -ahora si- el cliente la va necesitar para REPROCESAR esa información en otros reportes.

Se trata de LEER un archivo XML y extraer datos, como: RFC RECEPTOR y EL DETALLE DE LA FACTURA

He consultado páginas, hilos y videos tutoriales:

Explicación de Neftali
https://neftali.clubdelphi.com/carga...r-a-los-datos/
No lo pude llevar acabo porque hay un campo con el detalle -quiero pensar q es eso- pero cuando yo lo hago con mi archivo, pues algo como eso a mi no me sale....entonces no sé que haría falta, talvez el XML de él tiene ciertas condiciones que detarminar q se debe generar el detalle en ese campo...no lo sé.

Video
https://www.youtube.com/watch?v=4D78MG4CaAI
en este video no lo puedo llevar acabo porque no llegó a compilar

ChatGPT (Por lo menos con esto obtengo el RFC del cliente a quien se le facturó)
Código Delphi [-]
uses
  Xml.XMLDoc, Xml.XMLIntf;

procedure LeerDatosXML(const FileName: string);
var
  XMLDoc: IXMLDocument;
  NodeComprobante, NodeEmisor, NodeReceptor: IXMLNode;
begin
  XMLDoc := TXMLDocument.Create(nil);
  try
    XMLDoc.LoadFromFile(FileName);
    XMLDoc.Active := True;

    // Acceder al nodo principal 
    NodeComprobante := XMLDoc.DocumentElement;

    // Verificar si el nodo principal existe
    if Assigned(NodeComprobante) then
    begin
      // Acceder a los atributos del nodo principal 
      Writeln('Serie: ', NodeComprobante.Attributes['Serie']);
      Writeln('Folio: ', NodeComprobante.Attributes['Folio']);
      Writeln('Fecha: ', NodeComprobante.Attributes['Fecha']);

      // Acceder a los nodos hijos  y 
      NodeEmisor := NodeComprobante.ChildNodes.FindNode('cfdi:Emisor');
      NodeReceptor := NodeComprobante.ChildNodes.FindNode('cfdi:Receptor');

      // Verificar si los nodos hijos existen
      if Assigned(NodeEmisor) and Assigned(NodeReceptor) then
      begin
        // Acceder a los atributos de  y 
        Writeln('Emisor RFC: ', NodeEmisor.Attributes['Rfc']);
        Writeln('Emisor Nombre: ', NodeEmisor.Attributes['Nombre']);
        Writeln('Receptor RFC: ', NodeReceptor.Attributes['Rfc']);
        Writeln('Receptor Nombre: ', NodeReceptor.Attributes['Nombre']);
      end;
    end;
  finally
    XMLDoc := nil;
  end;
end;

Otro video tutorial
https://www.youtube.com/watch?v=5QXf5zyGRi8

He usado XML Mapper que viene en la explicación de Neftalí, pero no logro ver el detalle de la factura "cfdi:Concepto"


Asi que, como le hago para obtener el detalle de la factura???. Interesa obtener esta sección:

Código:
<cfdi:Conceptos>
	<cfdi:Concepto ClaveProdServ="50131700" NoIdentificacion="1546" Cantidad="1485.000000" ClaveUnidad="H87" Unidad="PZA" 
	Descripcion="LECHE SEMIDESCREMADA UHT PLUS SABOR FRESA" ValorUnitario="5.550000" Importe="8241.75" ObjetoImp="02">
		<cfdi:Impuestos>
			<cfdi:Traslados>
				<cfdi:Traslado Base="8241.75" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.000000" Importe="0.00"/>
			</cfdi:Traslados>
		</cfdi:Impuestos>
	</cfdi:Concepto>
	<cfdi:Concepto ClaveProdServ="50131700" NoIdentificacion="1547" Cantidad="540.000000" ClaveUnidad="H87" Unidad="PZA" 
	Descripcion="LECHE SEMIDESCREMADA UHT PLUS SABOR VAINILLA" ValorUnitario="5.550000" Importe="2997.00" ObjetoImp="02">
		<cfdi:Impuestos>
			<cfdi:Traslados>
				<cfdi:Traslado Base="2997.00" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.000000" Importe="0.00"/>
			</cfdi:Traslados>
		</cfdi:Impuestos>
	</cfdi:Concepto>
</cfdi:Conceptos>
Le paso el archivo XML (completo) para mayor referencia.

Cita:
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd" Version="4.0" Serie="NAY" Folio="50642" Fecha="2024-05-30T09:36:30" Sello="cRYzUP+XAg/cbjUf15ox/7wr8ngtInlUlQh4S6kqbfG09CZ7OvdrTREuoe7ye0RaOXSYJKOAidj2WoTCAti8ERHnB8eYUYMGGPA5iG8QfXYus1fm3ghjZOU8w WSI58sjgFQJ4CqReeRv7RfVCwFZB65rc2po3FVPYiRwH48zLJeuCk1ZD7NyTEguwnJgbIiMOGG+Wo00ff1ZXI29Uv3s8tB4v3NiK bx5aA13U8aAmhbXNfgTLO5flWuNUUanSycGnan98EbYFf1yXetgjqOkCTr3oCurqFmKKVWUrFydgjc5HpTZDAbgbab7V8x9PgTRq iboG+OBqy4rpGAQxnlsrQ==" FormaPago="99" NoCertificado="00001000000505378200" Certificado="MIIF4DCCA8igAwIBAgIUMDAwMDEwMDAwMDA1MDUzNzgyMDAwDQYJKoZIhvcNAQELBQAwggGEMSAwHgYDVQQDDBd BVVRPUklEQUQgQ0VSVElGSUNBRE9SQTEuMCwGA1UECgwlU0VSVklDSU8gREUgQURNSU5JU1RSQUNJT04gVFJJQlVUQVJJQTEaMBg GA1UECwwRU0FULUlFUyBBdXRob3JpdHkxKjAoBgkqhkiG9w0BCQEWG2NvbnRhY3RvLnRlY25pY29Ac2F0LmdvYi5teDEmMCQGA1U ECQwdQVYuIEhJREFMR08gNzcsIENPTC4gR1VFUlJFUk8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQQ0l VREFEIERFIE1FWElDTzETMBEGA1UEBwwKQ1VBVUhURU1PQzEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMVwwWgYJKoZIhvcNAQkCE01 yZXNwb25zYWJsZTogQURNSU5JU1RSQUNJT04gQ0VOVFJBTCBERSBTRVJWSUNJT1MgVFJJQlVUQVJJT1MgQUwgQ09OVFJJQlVZRU5 URTAeFw0yMDEwMTQxNTE2MTNaFw0yNDEwMTQxNTE2MTNaMIGuMRkwFwYDVQQDExBMSUNPTlNBIFNBIERFIENWMRkwFwYDVQQpExB MSUNPTlNBIFNBIERFIENWMRkwFwYDVQQKExBMSUNPTlNBIFNBIERFIENWMSUwIwYDVQQtExxMSUM5NTA4MjFNODQgLyBHQVNSNTM xMTIxQzU5MR4wHAYDVQQFExUgLyBHQVNSNTMxMTIxSERGVkdOMDcxFDASBgNVBAsTC0NTRCBMSUNPTlNBMIIBIjANBgkqhkiG9w0 BAQEFAAOCAQ8AMIIBCgKCAQEAyeuiEt2V1XvJlBrGtBh7OVuvevGh8X7B+eT/GWuAtZipSjzF/XtEWAdbSgQ1cxHFKTokz7pFsLSHq1P71NUnzkJRJGrZLgmNdOlJpuCCS1EXrUM/fYgh6KdbFgq+9uh4W1XzbJMphQYPAnBxhQsobub4m7hEP7O8pdYtqkgJGFbzyACJCIXfmOn3m1t0tBcELVp+LXlQBQU8UmKWbYbd g4L3mXUavQSvRwV1P7nO+5xQZ9Pj0d9NEOoEoAaQI94wv3MWfi/3BKRFaRWg+0ycphb4bEXzeo7AKgefeL+RCKVo67pxoXgxfkPU1OQGp9r9oXVZ57O89iy80hWoRICtrQIDAQABox0wGzAMBgNVHRM BAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEARqLQc9wqRV2WT/xVmrjRVl2BW1DvV/NQZ/WwmSzD1kRupn83wFqOum0ZTLjwH7oCh+Kbt7hs+/D8H4OC9MwzBzOK5ShISmaYZ7TxsVOW9wVmdp6rkrOsBmbhVpAs2fn7Tod6MfofcE4JaLyl0bsQigoM4bcDVuA2Vm/ifo2cfRWmWKaasIQ9s++nod1LbrtE9gIU3M2OIuDIoDvYbpNCXa9UUmyflqfsVoGrkwH+Z85h0FD2zVmKhpmjuQqThOQ2C4psO45 d7zmho1PYvx5ScLp99J5LeRUemIIgL9FsNl5/H+2WmrWEocH482hxQKjpVM0KeygrGZN002/CIrZ2VwtkWgbjF4kRHkOcaaBGajn1gyvpVwLiki1NmZA15tOwUjoZUFts6ndKrVJgMg2AiTRvbYPkH+7KPltAYAa4M+xESGQLI1T 04p2ZJuhWMSi1asMZNxCaLNjq7nBDWkU0Y7+j8v4EujXTWSj5MUvASzVMsRdE3RNF/guDd/jzcnIwZ2ry5Y612iMqUUO2qvpkQJy7YyHDpC01aMMzTldyqa8Dj9+aafKvZg7L1k5R/SmlRW8zRgL8sNl+L0WBon4+dWgTu7DwW5PSsKWdkdKlp1Ed5iEOTlDwrhfvoVpPtyTPCMLjqXsoQL3sHAE4QngtlRdleGzHB+0XR EEikwDA7X4=" CondicionesDePago="8 DIAS DESPUES DE LA PRESENTACION DE LA FACTURA" SubTotal="11238.75" Moneda="MXN" Total="11238.75" TipoDeComprobante="I" Exportacion="01" MetodoPago="PPD" LugarExpedicion="63195">
<cfdi:Emisor Rfc="CIL999999a9a" Nombre="CILINDRO" RegimenFiscal="601"/>
<cfdi:Receptor Rfc="CID999999a9a" Nombre="CID" DomicilioFiscalReceptor="14020" RegimenFiscalReceptor="601" UsoCFDI="G01"/>
<cfdi:Conceptos>
<cfdi:Concepto ClaveProdServ="50131700" NoIdentificacion="1546" Cantidad="1485.000000" ClaveUnidad="H87" Unidad="PZA" Descripcion="LECHE SEMIDESCREMADA UHT PLUS SABOR FRESA" ValorUnitario="5.550000" Importe="8241.75" ObjetoImp="02">
<cfdi:Impuestos>
<cfdi:Traslados>
<cfdi:Traslado Base="8241.75" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.000000" Importe="0.00"/>
</cfdi:Traslados>
</cfdi:Impuestos>
</cfdi:Concepto>
<cfdi:Concepto ClaveProdServ="50131700" NoIdentificacion="1547" Cantidad="540.000000" ClaveUnidad="H87" Unidad="PZA" Descripcion="LECHE SEMIDESCREMADA UHT PLUS SABOR VAINILLA" ValorUnitario="5.550000" Importe="2997.00" ObjetoImp="02">
<cfdi:Impuestos>
<cfdi:Traslados>
<cfdi:Traslado Base="2997.00" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.000000" Importe="0.00"/>
</cfdi:Traslados>
</cfdi:Impuestos>
</cfdi:Concepto>
</cfdi:Conceptos>
<cfdi:Impuestos TotalImpuestosTrasladados="0.00">
<cfdi:Traslados>
<cfdi:Traslado Base="11238.75" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.000000" Importe="0.00"/>
</cfdi:Traslados>
</cfdi:Impuestos>
<cfdi:Complemento>
<tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd" Version="1.1" UUID="66c97813-65c3-4eb2-9d4b-ab5efa69e025" FechaTimbrado="2024-05-30T10:51:04" RfcProvCertif="LSO1306189R5" SelloCFD="cRYzUP+XAg/cbjUf15ox/7wr8ngtInlUlQh4S6kqbfG09CZ7OvdrTREuoe7ye0RaOXSYJKOAidj2WoTCAti8ERHnB8eYUYMGGPA5iG8QfXYus1fm3ghjZOU8w WSI58sjgFQJ4CqReeRv7RfVCwFZB65rc2po3FVPYiRwH48zLJeuCk1ZD7NyTEguwnJgbIiMOGG+Wo00ff1ZXI29Uv3s8tB4v3NiK bx5aA13U8aAmhbXNfgTLO5flWuNUUanSycGnan98EbYFf1yXetgjqOkCTr3oCurqFmKKVWUrFydgjc5HpTZDAbgbab7V8x9PgTRq iboG+OBqy4rpGAQxnlsrQ==" NoCertificadoSAT="00001000000509846663" SelloSAT="RMOvjcfp8Iuv4kKkPRffvauaEn5Q81TCHYCsamguTYhSbHMppd7IeBzfZOhipT4is1snmJCOG6DHF2EYOFQ5NG+vzs q6wday6z++Jb5tzjKyyhlSPN0AQNf+yWGFXbfVp4nEkT03/wOBx4EK0+PEx7deIx9grqYLynSkV1JBLg9ol2uMZ3Zv18AKAh7ADCWTxjo1/m6NVK7WW6B3uRvsFTyxTtsRwRT2Qdtw+JzvZvSHib70EiHZ9Ioz0e/VoGT8p0GQQCRuT1iCTOoqpigeM9cFTVwhrlksDcsnbJH+wPrqqEGxBjbcnY5m4juHD4qBx2vJpd8RID2212lukdgfLA=="/>
</cfdi:Complemento>
</cfdi:Comprobante>
Alguien que me pueda orientar a como obtener el detalle (NoIdentificacion,Cantidad,Descripcion, ETC)

Gracias de antemano
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por Neftali [Germán.Estévez] fecha: Hace 2 Semanas a las 09:43:45. Razón: Corregir la visualización del código
Responder Con Cita
  #2  
Antiguo Hace 2 Semanas
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.339
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Yo lo he probado con la versión 11, pero funcionará igual con el resto de versiones...
Crea un nuevo proyecto VCL en Delphi.

Desde File/New accede a "XML Data Binding" y inicia el asistente:




Ejecuta el asistente con tu fichero de datos XML (el que has puesto en el mensaje):




Ejecuta el asistente con Siguiente, siguiente,....
(ten en cuenta la opción que te pongo abajo para desactivarla):


__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo Hace 2 Semanas
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.339
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Al acabar te generará un fichero que te añado en los adjuntos con los interfaces necesarios para trabajar (leer y escribir) un XML como el que has puesto:

Código Delphi [-]
{****************************************************************}
{                                                                }
{                        XML Data Binding                        }
{                                                                }
{         Generated on: 03/06/2024 9:51:32                       }
{       Generated from: C:\ProyectosDelphi\Parse XML\Datos.xml   }
{                                                                }
{****************************************************************}

unit DatosComprobante;

interface

uses Xml.xmldom, Xml.XMLDoc, Xml.XMLIntf;

type

{ Forward Decls }

  IXMLComprobante = interface;
  IXMLComprobante_InformacionGlobal = interface;
  IXMLComprobante_CfdiRelacionados = interface;
  IXMLComprobante_CfdiRelacionadosList = interface;
  IXMLComprobante_CfdiRelacionados_CfdiRelacionado = interface;
  IXMLComprobante_Emisor = interface;
  IXMLComprobante_Receptor = interface;
  IXMLComprobante_Conceptos = interface;
  IXMLComprobante_Conceptos_Concepto = interface;
  IXMLComprobante_Conceptos_Concepto_Impuestos = interface;
  IXMLComprobante_Conceptos_Concepto_Impuestos_Traslados = interface;
  IXMLComprobante_Conceptos_Concepto_Impuestos_Traslados_Traslado = interface;
  IXMLComprobante_Conceptos_Concepto_Impuestos_Retenciones = interface;
  IXMLComprobante_Conceptos_Concepto_Impuestos_Retenciones_Retencion = interface;
  IXMLComprobante_Conceptos_Concepto_ACuentaTerceros = interface;
  IXMLComprobante_Conceptos_Concepto_InformacionAduanera = interface;
  IXMLComprobante_Conceptos_Concepto_InformacionAduaneraList = interface;
  IXMLComprobante_Conceptos_Concepto_CuentaPredial = interface;
  IXMLComprobante_Conceptos_Concepto_CuentaPredialList = interface;
  IXMLComprobante_Conceptos_Concepto_ComplementoConcepto = interface;
  IXMLComprobante_Conceptos_Concepto_Parte = interface;
  IXMLComprobante_Conceptos_Concepto_ParteList = interface;
  IXMLComprobante_Conceptos_Concepto_Parte_InformacionAduanera = interface;
  IXMLComprobante_Impuestos = interface;
  IXMLComprobante_Impuestos_Retenciones = interface;
  IXMLComprobante_Impuestos_Retenciones_Retencion = interface;
  IXMLComprobante_Impuestos_Traslados = interface;
  IXMLComprobante_Impuestos_Traslados_Traslado = interface;
  IXMLComprobante_Complemento = interface;
  IXMLComprobante_Addenda = interface;

{ IXMLComprobante }

  IXMLComprobante = interface(IXMLNode)
    ['{1B030F71-3BDF-403F-879E-FEEFF468D142}']
  ...
...

Una vez que tengas ese fichero en tu proyecto, las líneas para leer los datos que necesitas son triviales.
Un código como este:

Código Delphi [-]

...

uses
  DatosComprobante;

procedure _Log(msg:string);
begin
  Form3.mmDatos.Lines.Add(msg);
end;

procedure TForm3.Button1Click(Sender: TObject);
var
  comp:IXMLComprobante;
  concepto:IXMLComprobante_Conceptos_Concepto;
  idx:integer;
begin
  comp := LoadComprobante('c:\ProyectosDelphi\Ej Parse XML\Datos.xml');

  _Log('Version: ' + comp.Version);
  _Log('Serie: ' + comp.Serie);
  _Log('Folio: ' + comp.Folio);
  _Log('...');

  _Log('Emisor:');
  _Log('   RFC: ' + comp.Emisor.Rfc);
  _Log('   Nombre: ' + comp.Emisor.Nombre);
  _Log('   ... ');

  _Log('Receptor: ' + comp.Receptor.Rfc);
  _Log('   RFC: ' + comp.Receptor.Rfc);
  _Log('   Nombre: ' + comp.Receptor.Nombre);
  _Log('   ... ');

  _Log('Conceptos: ');

  for idx := 0 to comp.Conceptos.Count - 1 do begin
    concepto := comp.Conceptos[idx];

    _Log('   Conceptos; Indice=' + idx.ToString);

    _Log('        ClaveProdServ:' + concepto.ClaveProdServ);
    _Log('        NoIdentificacion:' + concepto.NoIdentificacion);
    _Log('        Cantidad:' + concepto.Cantidad.ToString);
    _Log('        ClaveUnidad:' + concepto.ClaveUnidad);
    _Log('        ...');

  end;

  _Log('...');

end;


Te genera un resultado como el que se ve a continuación:

Archivos Adjuntos
Tipo de Archivo: zip Parse XML.zip (17,5 KB, 3 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo Hace 2 Semanas
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 608
Poder: 21
mRoman Va por buen camino
Mi estimado Netftali!...muchas gracias por responder.

Lo pondré en práctica en este momento y les comento como me fue.

Gracias nuevamente.

Saludos.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #5  
Antiguo Hace 2 Semanas
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 608
Poder: 21
mRoman Va por buen camino
Ya lo generé, pero no lo genera igual que el tuyo...por cierto jamas mencioné la version Delphi q estoy usando, Delphi6.

Asi lo genera
Código:
{****************************************************************}
{                                                                }
{                    Delphi XML Data Binding                     }
{                                                                }
{         Generated on: 03/06/2024 02:06:09 p. m.                }
{       Generated from: D:\Sistemas\XML\Archivos XML\DATOS.xml   }
{                                                                }
{****************************************************************}
unit DatosComprobante;

interface

uses xmldom, XMLDoc, XMLIntf;

type

{ Forward Decls }

  IXMLComprobante = interface;
  IXMLInformacionGlobal = interface;
  IXMLCfdiRelacionados = interface;
  IXMLCfdiRelacionadosList = interface;
  IXMLCfdiRelacionado = interface;
  IXMLEmisor = interface;
  IXMLReceptor = interface;
  IXMLConceptos = interface;
  IXMLConcepto = interface;
  IXMLImpuestos = interface;
  IXMLTraslados = interface;
  IXMLTraslado = interface;
  IXMLRetenciones = interface;
  IXMLRetencion = interface;
  IXMLACuentaTerceros = interface;
  IXMLInformacionAduanera = interface;
  IXMLInformacionAduaneraList = interface;
  IXMLCuentaPredial = interface;
  IXMLCuentaPredialList = interface;
  IXMLComplementoConcepto = interface;
  IXMLParte = interface;
  IXMLParteList = interface;
  IXMLInformacionAduanera = interface;
  IXMLImpuestos = interface;
  IXMLRetenciones = interface;
  IXMLRetencion = interface;
  IXMLTraslados = interface;
  IXMLTraslado = interface;
  IXMLComplemento = interface;
  IXMLAddenda = interface;

{ IXMLComprobante }

  IXMLComprobante = interface(IXMLNode)
    ['{797224A1-3B7B-4FF0-B401-255EF9005B48}']
    { Property Accessors }
    function Get_Version: WideString;
En esta parte del código q envío, no sale igual como el que tu generaste...hice lo q me indicaste, pero me hace ruido el que no tenga para crear proyectos VCL, solo CLX. Tienes alguna idea del porque no se genera como el tuyo??. Al momento de compilar el programa me marca errores: "[Error] DatosComprobante.pas(42): Identifier redeclared: 'IXMLInformacionAduanera", los encerre entre llaves y marca otro error:



Es una imagen, espero se vea.

Gracias.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: Hace 2 Semanas a las 00:01:43.
Responder Con Cita
  #6  
Antiguo Hace 2 Semanas
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 608
Poder: 21
mRoman Va por buen camino
La imagen del error:

https://ibb.co/42SDPZt
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #7  
Antiguo Hace 2 Semanas
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.339
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Prueba con el adjunto.
He adaptado el fichero que te pasé con algunos cambios que no soportan las versiones antiguas. Unicode, ñ,...
Archivos Adjuntos
Tipo de Archivo: zip Parse XML_d7.zip (13,3 KB, 2 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo Hace 2 Semanas
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 608
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Prueba con el adjunto.
He adaptado el fichero que te pasé con algunos cambios que no soportan las versiones antiguas. Unicode, ñ,...
Ok. Lo aplicaré y te comento.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #9  
Antiguo Hace 2 Semanas
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 608
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Prueba con el adjunto.
He adaptado el fichero que te pasé con algunos cambios que no soportan las versiones antiguas. Unicode, ñ,...
Hola Neftali.

Pues con la novedad que no compila, marca el siguiente error:

Cita:
[Error] uLeerDatos.pas(40): Undeclared identifier: 'TFormatSettings'
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #10  
Antiguo Hace 2 Semanas
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.339
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Lo hice con Delphi 7, busca esa variable global en Delphi 6, y mientras tanto puedes eliminar eso.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #11  
Antiguo Hace 2 Semanas
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 608
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Prueba con el adjunto.
He adaptado el fichero que te pasé con algunos cambios que no soportan las versiones antiguas. Unicode, ñ,...
Listo!!...ya se pudo ejecutar tu ejemplo, esta muy bien, con esto puedo avanzar, muchas gracias. Ahora me tocaría investigar porque no pude hacerlo yo con el Delphi6, como solventar los errores que me marco haciendolo yo con esa version de delphi.

Muchas gracias Neftalí. Saludos
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #12  
Antiguo Hace 2 Semanas
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 608
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por mRoman Ver Mensaje
Ya lo generé, pero no lo genera igual que el tuyo...por cierto jamas mencioné la version Delphi q estoy usando, Delphi6.

Asi lo genera
Código:
{****************************************************************}
{                                                                }
{                    Delphi XML Data Binding                     }
{                                                                }
{         Generated on: 03/06/2024 02:06:09 p. m.                }
{       Generated from: D:\Sistemas\XML\Archivos XML\DATOS.xml   }
{                                                                }
{****************************************************************}
unit DatosComprobante;

interface

uses xmldom, XMLDoc, XMLIntf;

type

{ Forward Decls }

  IXMLComprobante = interface;
  IXMLInformacionGlobal = interface;
  IXMLCfdiRelacionados = interface;
  IXMLCfdiRelacionadosList = interface;
  IXMLCfdiRelacionado = interface;
  IXMLEmisor = interface;
  IXMLReceptor = interface;
  IXMLConceptos = interface;
  IXMLConcepto = interface;
  IXMLImpuestos = interface;
  IXMLTraslados = interface;
  IXMLTraslado = interface;
  IXMLRetenciones = interface;
  IXMLRetencion = interface;
  IXMLACuentaTerceros = interface;
  IXMLInformacionAduanera = interface;
  IXMLInformacionAduaneraList = interface;
  IXMLCuentaPredial = interface;
  IXMLCuentaPredialList = interface;
  IXMLComplementoConcepto = interface;
  IXMLParte = interface;
  IXMLParteList = interface;
  IXMLInformacionAduanera = interface;
  IXMLImpuestos = interface;
  IXMLRetenciones = interface;
  IXMLRetencion = interface;
  IXMLTraslados = interface;
  IXMLTraslado = interface;
  IXMLComplemento = interface;
  IXMLAddenda = interface;

{ IXMLComprobante }

  IXMLComprobante = interface(IXMLNode)
    ['{797224A1-3B7B-4FF0-B401-255EF9005B48}']
    { Property Accessors }
    function Get_Version: WideString;
En esta parte del código q envío, no sale igual como el que tu generaste...hice lo q me indicaste, pero me hace ruido el que no tenga para crear proyectos VCL, solo CLX. Tienes alguna idea del porque no se genera como el tuyo??. Al momento de compilar el programa me marca errores: "[Error] DatosComprobante.pas(42): Identifier redeclared: 'IXMLInformacionAduanera", los encerre entre llaves y marca otro error:



Es una imagen, espero se vea.

Gracias.
Sabes porqué no logré generarlo igual que el tuyo, porqué a mi me lo generó de manera distinta al ejemplo que me enviaste???...

Gracias por tu tiempo.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #13  
Antiguo Hace 2 Semanas
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.339
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por mRoman Ver Mensaje
Sabes porqué no logré generarlo igual que el tuyo, porqué a mi me lo generó de manera distinta al ejemplo que me enviaste???...

Posiblemente la versión de Delphi 6 trabajara con un modelo de XML más antiguo. Piensa que estamos hablando de 2001.
Es posible que los ficheros XML ahora incluyan más cosas que en su día no se podían procesar.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #14  
Antiguo Hace 2 Semanas
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 608
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Posiblemente la versión de Delphi 6 trabajara con un modelo de XML más antiguo. Piensa que estamos hablando de 2001.
Es posible que los ficheros XML ahora incluyan más cosas que en su día no se podían procesar.
Si es muy probable. Gracias por la orientación y tu tiempo.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
leer datos desde un ms-dos odiseeus C++ Builder 3 07-11-2011 17:09:31
Leer datos de marcadores Firibiri Servers 1 12-07-2006 20:05:08
Leer datos de Cobol trex2000 Conexión con bases de datos 1 03-11-2004 06:48:46
leer datos del scanner raudelink Varios 2 16-10-2004 02:13:30
Leer datos de un PrintScreen cone220 Varios 3 03-02-2004 00:31:17


La franja horaria es GMT +2. Ahora son las 05:05:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi