Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-05-2024
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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.

Código PHP:
<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/7wr8ngtInlUlQh4S6kqbfG09CZ7OvdrTREuoe7ye0RaOXSYJKOAidj2WoTCAti8ERHnB8eYUYMGGPA5iG8QfXYus1fm3ghjZOU8wWSI58sjgFQJ4CqReeRv7RfVCwFZB65rc2po3FVPYiRwH48zLJeuCk1ZD7NyTEguwnJgbIiMOGG+Wo00ff1ZXI29Uv3s8tB4v3NiKbx5aA13U8aAmhbXNfgTLO5flWuNUUanSycGnan98EbYFf1yXetgjqOkCTr3oCurqFmKKVWUrFydgjc5HpTZDAbgbab7V8x9PgTRqiboG+OBqy4rpGAQxnlsrQ==" FormaPago="99" NoCertificado="00001000000505378200" Certificado="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" 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/7wr8ngtInlUlQh4S6kqbfG09CZ7OvdrTREuoe7ye0RaOXSYJKOAidj2WoTCAti8ERHnB8eYUYMGGPA5iG8QfXYus1fm3ghjZOU8wWSI58sjgFQJ4CqReeRv7RfVCwFZB65rc2po3FVPYiRwH48zLJeuCk1ZD7NyTEguwnJgbIiMOGG+Wo00ff1ZXI29Uv3s8tB4v3NiKbx5aA13U8aAmhbXNfgTLO5flWuNUUanSycGnan98EbYFf1yXetgjqOkCTr3oCurqFmKKVWUrFydgjc5HpTZDAbgbab7V8x9PgTRqiboG+OBqy4rpGAQxnlsrQ==" NoCertificadoSAT="00001000000509846663" SelloSAT="RMOvjcfp8Iuv4kKkPRffvauaEn5Q81TCHYCsamguTYhSbHMppd7IeBzfZOhipT4is1snmJCOG6DHF2EYOFQ5NG+vzsq6wday6z++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: 25-02-2026 a las 08:48:24. Razón: Corregir la visualización del código
Responder Con Cita
  #2  
Antiguo 03-06-2024
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: 19.435
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 03-06-2024
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: 19.435
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, 9 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 03-06-2024
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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 03-06-2024
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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: 04-06-2024 a las 00:01:43.
Responder Con Cita
  #6  
Antiguo 04-06-2024
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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 04-06-2024
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: 19.435
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, 13 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 04-06-2024
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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 05-06-2024
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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 05-06-2024
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: 19.435
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 07-06-2024
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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 07-06-2024
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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 07-06-2024
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: 19.435
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 08-06-2024
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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
  #15  
Antiguo 24-02-2026
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 197
Poder: 22
darkerbyte Va por buen camino
Post Error de compilación

Hola Neftali, disculpa la molestia, intenté compilar el proyecto que subiste, pero me marca el siguiente error:

[dcc32 Fatal Error] DatosComprobante.pas(1093): F1026 File not found: 'C:\ParseXML\Xml.xmlutil.dcu' (unit scope "Xml" indicates Win64, Win32 only)

Tendrás alguna idea que se debe?

Tengo delphi XE5

Muchas gracias de antemano
Responder Con Cita
  #16  
Antiguo 25-02-2026
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: 19.435
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 darkerbyte Ver Mensaje
Hola Neftali, disculpa la molestia, intenté compilar el proyecto que subiste, pero me marca el siguiente error:
[dcc32 Fatal Error] DatosComprobante.pas(1093): F1026 File not found: 'C:\ParseXML\Xml.xmlutil.dcu' (unit scope "Xml" indicates Win64, Win32 only)
Tendrás alguna idea que se debe?
Tengo delphi XE5
No se.
Yo lo he probado a compilar con Delphi 7 de nuevo y no me da el error y también con Delphi 10.3 (que es uno de los más nuevos que tengo) y también me compila sin problemas.
Revisa la configuración en el entorno, sobre todo la parte de los "units scope names".
__________________
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
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 06:40:51.


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