Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Registros de Facturacion y Eventos (XML)
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-04-2025
RanNav RanNav is offline
Miembro
 
Registrado: sep 2024
Ubicación: La Rioja
Posts: 55
Poder: 2
RanNav Va por buen camino
Necesito ejemplos XML de alta de subsanación y consulta

Buenos días,
Tengo un par de preguntas.
El alta de subsanación debe ser un registro nuevo, con el campo de subsanación con valor "S", pero, ¿debe referenciarse la factura que se quiere subsanar de alguna forma o poniendo el mismo numSerieFactura ya valdría? y, a parte, ¿el resto de campos que no pertenecen a los que se quieran subsanar deberían de ser los mismos que tiene la factura que se quiere subsanar?

Por otro lado, no encuentro ningún ejemplo de cómo se debe generar el xml para consultar a la AEAT, sí que he visto el esquema, pero no he encontrado dentro de este hilo un ejemplo XML de la consulta.

Si alguien me muestra un ejemplo de como quedaría un XML de un alta de subsanación y de una consulta, sería de gran ayuda para continuar desarrollando todo lo que se nos ha venido encima...
Responder Con Cita
  #2  
Antiguo 28-04-2025
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.441
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 RanNav Ver Mensaje
El alta de subsanación debe ser un registro nuevo, con el campo de subsanación con valor "S", pero, ¿debe referenciarse la factura que se quiere subsanar de alguna forma o poniendo el mismo numSerieFactura ya valdría?
La subsanación es exactamente lo mismo que el alta, es decir, con todos los campos de la factura como si fuera un alta, pero con la marca de subsanación.
Por eso no se referencia a la factura original, porque realmente se envía toda de nuevo.
Ellos ven la marca de "S" y buscarán la que tengan con el mismo número, fecha, serie,...

Si puedo mañana te adjunto unos ejemplos
__________________
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 29-04-2025
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.441
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
Este es el registro de alta:

Código:
<?xml version="1.0" encoding="utf-8"?>
<sum:RegFactuSistemaFacturacion xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 
xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" 
xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
  <sum:RegistroFactura>
    <sum1:RegistroAlta>
      <sum1:IDVersion>1.0</sum1:IDVersion>
      <sum1:IDFactura>
        <sum1:IDEmisorFactura>99999910G</sum1:IDEmisorFactura>
        <sum1:NumSerieFactura>-31</sum1:NumSerieFactura>
        <sum1:FechaExpedicionFactura>29-04-2025</sum1:FechaExpedicionFactura>
      </sum1:IDFactura>
      <sum1:NombreRazonEmisor>CERTIFICADO FISICA PRUEBAS</sum1:NombreRazonEmisor>
      <sum1:TipoFactura>F1</sum1:TipoFactura>
      <sum1:DescripcionOperacion>Articulo 1</sum1:DescripcionOperacion>
      <sum1:Destinatarios>
        <sum1:IDDestinatario>
          <sum1:NombreRazon>ENDESA</sum1:NombreRazon>
          <sum1:NIF>A95758389</sum1:NIF>
        </sum1:IDDestinatario>
      </sum1:Destinatarios>
      <sum1:Desglose>
        <sum1:DetalleDesglose>
          <sum1:Impuesto>01</sum1:Impuesto>
          <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
          <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
          <sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
          <sum1:BaseImponibleOimporteNoSujeto>456.84</sum1:BaseImponibleOimporteNoSujeto>
          <sum1:CuotaRepercutida>95.94</sum1:CuotaRepercutida>
        </sum1:DetalleDesglose>
      </sum1:Desglose>
      <sum1:CuotaTotal>95.94</sum1:CuotaTotal>
      <sum1:ImporteTotal>552.78</sum1:ImporteTotal>
      <sum1:Encadenamiento>
        <sum1:RegistroAnterior>
          <sum1:IDEmisorFactura>99999910G</sum1:IDEmisorFactura>
          <sum1:NumSerieFactura>-30</sum1:NumSerieFactura>
          <sum1:FechaExpedicionFactura>16-04-2025</sum1:FechaExpedicionFactura>
          <sum1:Huella>7BCB28990186F367C674E9B049D5B45F54729DE507BCBF3EE69491822811ACC9</sum1:Huella>
        </sum1:RegistroAnterior>
      </sum1:Encadenamiento>
      <sum1:SistemaInformatico>
        <sum1:NombreRazon>MI empresa</sum1:NombreRazon>
        <sum1:NIF>XXXXXXXXXX</sum1:NIF>
        <sum1:NombreSistemaInformatico>MiERP</sum1:NombreSistemaInformatico>
        <sum1:IdSistemaInformatico>04</sum1:IdSistemaInformatico>
        <sum1:Version>1.0.0.0</sum1:Version>
        <sum1:NumeroInstalacion>12345678</sum1:NumeroInstalacion>
        <sum1:TipoUsoPosibleSoloVerifactu>N</sum1:TipoUsoPosibleSoloVerifactu>
        <sum1:TipoUsoPosibleMultiOT>S</sum1:TipoUsoPosibleMultiOT>
        <sum1:IndicadorMultiplesOT>S</sum1:IndicadorMultiplesOT>
      </sum1:SistemaInformatico>
      <sum1:FechaHoraHusoGenRegistro>2025-04-29T06:26:22Z</sum1:FechaHoraHusoGenRegistro>
      <sum1:NumRegistroAcuerdoFacturacion></sum1:NumRegistroAcuerdoFacturacion>
      <sum1:IdAcuerdoSistemaInformatico></sum1:IdAcuerdoSistemaInformatico>
      <sum1:TipoHuella>01</sum1:TipoHuella>
      <sum1:Huella>9DDB20B106890C01F1410246FA33942FDCC4A49AD933B7F3D9AE971A639E5185</sum1:Huella>
      ...
    </sum1:RegistroAlta>
  </sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
Y aquí el de subsanación de la misma factura:

Código:
<?xml version="1.0" encoding="utf-8"?>
<sum:RegFactuSistemaFacturacion xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 
xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd"
 xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
  <sum:RegistroFactura>
    <sum1:RegistroAlta>
      <sum1:IDVersion>1.0</sum1:IDVersion>
      <sum1:IDFactura>
        <sum1:IDEmisorFactura>99999910G</sum1:IDEmisorFactura>
        <sum1:NumSerieFactura>-31</sum1:NumSerieFactura>
        <sum1:FechaExpedicionFactura>29-04-2025</sum1:FechaExpedicionFactura>
      </sum1:IDFactura>
      <sum1:NombreRazonEmisor>CERTIFICADO FISICA PRUEBAS</sum1:NombreRazonEmisor>
      <sum1:Subsanacion>S</sum1:Subsanacion>
      <sum1:TipoFactura>F1</sum1:TipoFactura>
      <sum1:DescripcionOperacion>Articulo 1</sum1:DescripcionOperacion>
      <sum1:FacturaSimplificadaArt7273>S</sum1:FacturaSimplificadaArt7273>
      <sum1:Destinatarios>
        <sum1:IDDestinatario>
          <sum1:NombreRazon>ENDESA</sum1:NombreRazon>
          <sum1:NIF>A95758389</sum1:NIF>
        </sum1:IDDestinatario>
      </sum1:Destinatarios>
      <sum1:Desglose>
        <sum1:DetalleDesglose>
          <sum1:Impuesto>01</sum1:Impuesto>
          <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
          <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
          <sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
          <sum1:BaseImponibleOimporteNoSujeto>456.84</sum1:BaseImponibleOimporteNoSujeto>
          <sum1:CuotaRepercutida>95.94</sum1:CuotaRepercutida>
        </sum1:DetalleDesglose>
      </sum1:Desglose>
      <sum1:CuotaTotal>95.94</sum1:CuotaTotal>
      <sum1:ImporteTotal>552.78</sum1:ImporteTotal>
      <sum1:Encadenamiento>
        <sum1:RegistroAnterior>
          <sum1:IDEmisorFactura>99999910G</sum1:IDEmisorFactura>
          <sum1:NumSerieFactura>-31</sum1:NumSerieFactura>
          <sum1:FechaExpedicionFactura>29-04-2025</sum1:FechaExpedicionFactura>
          <sum1:Huella>9DDB20B106890C01F1410246FA33942FDCC4A49AD933B7F3D9AE971A639E5185</sum1:Huella>
        </sum1:RegistroAnterior>
      </sum1:Encadenamiento>
      <sum1:SistemaInformatico>
        <sum1:NombreRazon>MI empresa</sum1:NombreRazon>
        <sum1:NIF>XXXXXXXXXX</sum1:NIF>
        <sum1:NombreSistemaInformatico>MiERP</sum1:NombreSistemaInformatico>
        <sum1:IdSistemaInformatico>04</sum1:IdSistemaInformatico>
        <sum1:Version>1.0.0.0</sum1:Version>
        <sum1:NumeroInstalacion>12345678</sum1:NumeroInstalacion>
        <sum1:TipoUsoPosibleSoloVerifactu>N</sum1:TipoUsoPosibleSoloVerifactu>
        <sum1:TipoUsoPosibleMultiOT>S</sum1:TipoUsoPosibleMultiOT>
        <sum1:IndicadorMultiplesOT>S</sum1:IndicadorMultiplesOT>
      </sum1:SistemaInformatico>
      <sum1:FechaHoraHusoGenRegistro>2025-04-29T06:26:28Z</sum1:FechaHoraHusoGenRegistro>
      <sum1:NumRegistroAcuerdoFacturacion></sum1:NumRegistroAcuerdoFacturacion>
      <sum1:IdAcuerdoSistemaInformatico></sum1:IdAcuerdoSistemaInformatico>
      <sum1:TipoHuella>01</sum1:TipoHuella>
      <sum1:Huella>85225DAAB0AD8EA824B035BC810BC368FE21506E4D15D756F94142D3B59BF1FC</sum1:Huella>
      ...
    </sum1:RegistroAlta>
  </sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
__________________
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.

Última edición por Neftali [Germán.Estévez] fecha: 06-06-2025 a las 09:47:05.
Responder Con Cita
  #4  
Antiguo 29-04-2025
RanNav RanNav is offline
Miembro
 
Registrado: sep 2024
Ubicación: La Rioja
Posts: 55
Poder: 2
RanNav Va por buen camino
Perfecto, así ya me aseguro de que lo esté haciendo bien. Muchas Gracias.
Responder Con Cita
  #5  
Antiguo 13-05-2025
gizmo2025 gizmo2025 is offline
Miembro
 
Registrado: feb 2025
Posts: 16
Poder: 0
gizmo2025 Va por buen camino
Puf, pues yo de momento aún no he llegado al tema de la subsanación (más que nada porque como se supone que no puedo modificar las facturas, no se que puedo subsanar) , pero asi como lo tengo montado para mi será un desastre, porque yo tengo la huella grabada en la factura, asi como la huella anterior. Y no puedo reconstruir la huella, porque la siguiente factura que se hizo, tiene la huella de esa factura como huella anterior. Entonces no se como lo voy a solucionar.



¿Esto solo afectaria a la subsanacion? Es decir, en casos de generar factura de abono, rectificativa y demás, como tendría otra factura, no habria problema con la huella, no ?


Vaya marrón nos ha caido con todo esto.
Responder Con Cita
  #6  
Antiguo 13-05-2025
delphiGar delphiGar is offline
Miembro
 
Registrado: ago 2024
Posts: 182
Poder: 2
delphiGar Va por buen camino
Cita:
Empezado por gizmo2025 Ver Mensaje
Puf, pues yo de momento aún no he llegado al tema de la subsanación (más que nada porque como se supone que no puedo modificar las facturas, no se que puedo subsanar) , pero asi como lo tengo montado para mi será un desastre, porque yo tengo la huella grabada en la factura, asi como la huella anterior. Y no puedo reconstruir la huella, porque la siguiente factura que se hizo, tiene la huella de esa factura como huella anterior. Entonces no se como lo voy a solucionar.



¿Esto solo afectaria a la subsanacion? Es decir, en casos de generar factura de abono, rectificativa y demás, como tendría otra factura, no habria problema con la huella, no ?


Vaya marrón nos ha caido con todo esto.
Es mas sencillo de como te lo planteas, simplemente guarda los datos del ultimo registro y con este ultimo genera los siguientes registros tanto si es una factura de Alta como si es una Subsanacion, siempre el ultimo registro para saber con que tienes que enlazarlo.
Responder Con Cita
  #7  
Antiguo 13-05-2025
Jarogo08 Jarogo08 is offline
Miembro
 
Registrado: ene 2025
Posts: 344
Poder: 2
Jarogo08 Va por buen camino
Cita:
Empezado por gizmo2025 Ver Mensaje
Puf, pues yo de momento aún no he llegado al tema de la subsanación (más que nada porque como se supone que no puedo modificar las facturas, no se que puedo subsanar) , pero asi como lo tengo montado para mi será un desastre, porque yo tengo la huella grabada en la factura, asi como la huella anterior. Y no puedo reconstruir la huella, porque la siguiente factura que se hizo, tiene la huella de esa factura como huella anterior. Entonces no se como lo voy a solucionar.

¿Esto solo afectaria a la subsanacion? Es decir, en casos de generar factura de abono, rectificativa y demás, como tendría otra factura, no habria problema con la huella, no ?

Vaya marrón nos ha caido con todo esto.

Es que la huella no debería ir en la tabla de Facturas, sino en una tabla aparte de Registros de Facturacion. Ten en cuenta que una factura puede tener más de un registro de facturación (si se subsana, si se anula...).

Como lo tienes montado no veo la manera de que te funcione correctamente. Yo te aconsejaría que crees la tabla y lo orientes por ahí. Y si quieres (yo lo hago) guardas en al factura la última (que no la única) huella de la factura a modo informativo.

En cuanto a lo de subsanar, deberías controlarlo. Ten en cuenta que se te puede dar el caso de que el envío te devuelva un error que haya que subsanar (cuando la factura entra aceptado con errores). No tienes que cambiar nada en la factura pero igualmente tienes que crear un registro nuevo de subsanación. Y lo mismo si quieres anularla
Responder Con Cita
  #8  
Antiguo 13-05-2025
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.441
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 gizmo2025 Ver Mensaje
Puf, pues yo de momento aún no he llegado al tema de la subsanación (más que nada porque como se supone que no puedo modificar las facturas, no se que puedo subsanar) , pero asi como lo tengo montado para mi será un desastre, porque yo tengo la huella grabada en la factura, asi como la huella anterior. Y no puedo reconstruir la huella, porque la siguiente factura que se hizo, tiene la huella de esa factura como huella anterior. Entonces no se como lo voy a solucionar.
Debes crear una nueva "entidad" que son los "registros de facturación".
1 factura tienes 1..N registros de facturación (lo habitual será 1, pero al modificar la factura o borrarla, puedes crear otros).
Y pasas la huella actual y la anterior a esa nueva entidad (Registro de facturación).
En el registro de Facturación debes tener la referencia a la factura a la que pertenece.
__________________
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
  #9  
Antiguo 20-10-2025
adjiza adjiza is offline
Miembro
 
Registrado: jul 2025
Posts: 18
Poder: 0
adjiza Va por buen camino
Cita:
Empezado por RanNav Ver Mensaje
Buenos días,
Tengo un par de preguntas.
El alta de subsanación debe ser un registro nuevo, con el campo de subsanación con valor "S", pero, ¿debe referenciarse la factura que se quiere subsanar de alguna forma o poniendo el mismo numSerieFactura ya valdría? y, a parte, ¿el resto de campos que no pertenecen a los que se quieran subsanar deberían de ser los mismos que tiene la factura que se quiere subsanar?

Por otro lado, no encuentro ningún ejemplo de cómo se debe generar el xml para consultar a la AEAT, sí que he visto el esquema, pero no he encontrado dentro de este hilo un ejemplo XML de la consulta.

Si alguien me muestra un ejemplo de como quedaría un XML de un alta de subsanación y de una consulta, sería de gran ayuda para continuar desarrollando todo lo que se nos ha venido encima...
Hola RanNav,

Aunque imagino que a estas alturas ya lo habrás resuelto, aquí te adjunto cómo realizo las consultas (por ahora, sólo en calidad de "Emisor").
Te muestro el código en DataFlex, pero es muy fácil de comprender.

Código:
    // Componer el XML de la consulta
    // Nota: Hay más posibles filtros opcionales pero incluyo solo lo básico
    Get Create (RefClass(cComXml)) to hoXml
    Set ComTag of hoXml to "soapenv:Envelope"
    Get ComAddAttribute of hoXml "xmlns:soapenv" "....schemas.xmlsoap.org/soap/envelope/" to iSuccess
    Get ComAddAttribute of hoXml "xmlns:sfLRC" gsVerifactu_ConsultaLR to iSuccess
    Get ComAddAttribute of hoXml "xmlns:sf" ".....agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd" to iSuccess
    Send ComUpdateChildContent to hoXml "soapenv:Header" ""
    Send ComUpdateChildContent to hoXml "soapenv:Body|sfLRC:ConsultaFactuSistemaFacturacion|sfLRC:Cabecera|sf:IDVersion" gsIDVersionEsquema_Verifactu
    Send ComUpdateChildContent to hoXml "soapenv:Body|sfLRC:ConsultaFactuSistemaFacturacion|sfLRC:Cabecera|sf:ObligadoEmision|sf:NombreRazon" (Trim(EMPRESAS.NOMBRE))
    Send ComUpdateChildContent to hoXml "soapenv:Body|sfLRC:ConsultaFactuSistemaFacturacion|sfLRC:Cabecera|sf:ObligadoEmision|sf:NIF" EMPRESAS.NIF
    
    If (sNifConsultar <> '') Begin
        // ToDo: El campo "NombreRazon" del Destinatario no es obligatorio si se facilita el NIF
        // ....prewww1.aeat.es/wlpl/TIKE-CONT/SvTikeEmitidasQuery
        Send ComUpdateChildContent to hoXml "soapenv:Body|sfLRC:ConsultaFactuSistemaFacturacion|sfLRC:Cabecera|sf:Destinatario|sf:NIF" sNifConsultar    
    End
    
    Send ComUpdateChildContent to hoXml "soapenv:Body|sfLRC:ConsultaFactuSistemaFacturacion|sfLRC:FiltroConsulta|sfLRC:PeriodoImputacion|sf:Ejercicio" sEjercicio
    Send ComUpdateChildContent to hoXml "soapenv:Body|sfLRC:ConsultaFactuSistemaFacturacion|sfLRC:FiltroConsulta|sfLRC:PeriodoImputacion|sf:Periodo" sPeriodo
    
    If (sNumserieFtra <> '') Send ComUpdateChildContent to hoXml "soapenv:Body|sfLRC:ConsultaFactuSistemaFacturacion|sfLRC:FiltroConsulta|sfLRC:NumSerieFactura" sNumserieFtra
    
    If (sDesdeFecha <> '') Begin
        If (sDesdeFecha = sHastaFecha) Send ComUpdateChildContent to hoXml "soapenv:Body|sfLRC:ConsultaFactuSistemaFacturacion|sfLRC:FiltroConsulta|sfLRC:FechaExpedicionFactura|sf:FechaExpedicionFactura" sDesdeFecha
        Else Begin
            Send ComUpdateChildContent to hoXml "soapenv:Body|sfLRC:ConsultaFactuSistemaFacturacion|sfLRC:FiltroConsulta|sfLRC:FechaExpedicionFactura|sf:RangoFechaExpedicion|sf:Desde" sDesdeFecha
            Send ComUpdateChildContent to hoXml "soapenv:Body|sfLRC:ConsultaFactuSistemaFacturacion|sfLRC:FiltroConsulta|sfLRC:FechaExpedicionFactura|sf:RangoFechaExpedicion|sf:Hasta" sHastaFecha    
        End
    End
    
    Get ComGetXml of hoXml to sSoapRequestBody
    Send Destroy of hoXml
Un saludo.
Antonio

PD: Disculpa, pero aún no tengo permiso para poner URLs
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
Consulta sobre "Ejemplo de Alta/Anulación de factura, envío HTTPRIO" mnc2 Envío de registros y sus respuestas 7 21-02-2025 14:45:17
Necesito XML de mas de un registro de alta Rja750 Registros de Facturacion y Eventos (XML) 6 20-02-2025 10:08:15
Error 3002 en subsanacion ermendalenda Errores (relacionados con al AEAT) 5 14-11-2024 10:59:55
Necesito ejemplos sobre OOP (Programación orientada a objetos) brenda OOP 5 30-04-2007 22:31:58
necesito ver ejemplos de instaladores que utilicen el Alias y el BDe JClink Conexión con bases de datos 1 02-02-2006 01:47:37


La franja horaria es GMT +2. Ahora son las 20:01:57.


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