Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-11-2023
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
Pues lo cierto es que no he notado nada así al enviar y te puedo asegurar que me habría enterado inmediatamente.
Responder Con Cita
  #2  
Antiguo 22-11-2023
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.035
Poder: 22
keys Va por buen camino
Cita:
Empezado por Nasca Ver Mensaje
Pues lo cierto es que no he notado nada así al enviar y te puedo asegurar que me habría enterado inmediatamente.
¿Estas enviando con con la versión 1.1? Me temo que han dejado de aceptar los wsdl de la anterior.
Responder Con Cita
  #3  
Antiguo 22-11-2023
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
Cita:
Empezado por keys Ver Mensaje
¿Estas enviando con con la versión 1.1? Me temo que han dejado de aceptar los wsdl de la anterior.

Si. Puede que sea eso.
Responder Con Cita
  #4  
Antiguo 22-11-2023
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.035
Poder: 22
keys Va por buen camino
Cita:
Empezado por Nasca Ver Mensaje
Si. Puede que sea eso.
No habíamos adaptado a esa versión por que no nos afectaba ningún cambio, pero bueno parece que ha llegado el momento de hacerlo.
Responder Con Cita
  #5  
Antiguo 21-12-2023
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.473
Poder: 21
newtron Va camino a la fama
Facturas ventanilla única

Buenas.


Estoy intentando enviar al sii una factura de ventanilla única (operaciones OSS) y no doy con la tecla. ¿Alguien ha resuelto este tema para pasarme un ejemplo?


Gracias y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #6  
Antiguo 22-12-2023
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.473
Poder: 21
newtron Va camino a la fama
Ok, he seguido haciendo pruebas y me estoy dando cuenta de que no es que no de con la tecla (que todavía no sé si daré) es que me da error en todos los envíos que hago al endpoint de pruebas y la verdad es que no sé por dónde van los tiros. Me sale este mensaje:




¿A alguien le suena este error?


Gracias y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #7  
Antiguo 22-12-2023
pablog2k pablog2k is online now
Miembro
 
Registrado: may 2017
Posts: 86
Poder: 8
pablog2k Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Ok, he seguido haciendo pruebas y me estoy dando cuenta de que no es que no de con la tecla (que todavía no sé si daré) es que me da error en todos los envíos que hago al endpoint de pruebas y la verdad es que no sé por dónde van los tiros. Me sale este mensaje:




¿A alguien le suena este error?


Gracias y un saludo.
A nosotros esto nos ha pasado varias veces, y siempre era por culpa de la configuración del navegador web, que estaba configurado de tal manera que no aceptaba acceder al certificado desde aplicaciones externas. Lo hemos solucionado o bien restaurando valores predeterminados del navegador, o bien probando en otro ordenador con el mismo certificado....
Responder Con Cita
  #8  
Antiguo 22-12-2023
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.473
Poder: 21
newtron Va camino a la fama
Gracias por tu respuesta pero, por lo menos en este caso, no es el problema. He probado en otro ordenador y hace exactamente lo mismo.


Saludos.
__________________
Be water my friend.
Responder Con Cita
  #9  
Antiguo 22-12-2023
pablog2k pablog2k is online now
Miembro
 
Registrado: may 2017
Posts: 86
Poder: 8
pablog2k Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Gracias por tu respuesta pero, por lo menos en este caso, no es el problema. He probado en otro ordenador y hace exactamente lo mismo.


Saludos.
al instalar el certificado le marcas la opción de 'confiar en aplicaciones externas'?? No se llama asi exactamente el checkbox, pero dice algo parecido....
Responder Con Cita
  #10  
Antiguo 07-01-2024
muli muli is offline
Miembro
 
Registrado: jun 2003
Ubicación: A Coruña
Posts: 197
Poder: 21
muli Va por buen camino
LLevo unos dias peleandome con lo del SII, mirando unidades de aqui, de allí, del FTP, he conseguido compilar sin errores usando las unidades que están en este hilo, solo de SuministroFactEmitidas, es lo unico que necesito. y ahora me pregunto lo siguiente, utilizo como la gran mayoria el componente HTTPRIO1, cuando se llama la funcion GetSiiSoap de la unidad de SuministroFactEmitidas, que tengo con las siguientes constantes:
Código Delphi [-]
const
  defWSDL = 'http://www.agenciatributaria.es/static_files/AEAT/Contenidos_Comunes/La_Agencia_Tributaria/Modelos_y_formularios/Suministro_inmediato_informacion/FicherosSuministros/V_1_1/SuministroFactEmitidas.wsdl';
  defURL  = 'https://prewww1.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
  defSvc  = 'siiService';
  defPrt  = 'SuministroFactEmitidas';

Me arroja el siguiente error:
Código Delphi [-]
Project Project1.exe raised exception class Exception with message 'Unable to load WSDL File/Location: http://www.agenciatributaria.es/stat...tEmitidas.wsdl.  Error [Error sending data: (12002) Se superó el tiempo de espera para la operación]'.

Entiendo que las direcciones indicadas no son correctas, donde puedo encontrar las correctas?, ya no entro si estoy en periodo de pruebas o no, me da igual, lo que quiero es enviar una factura emitida con el certificado seleccionado (eso creo que lo hago bien). Gracias por todo, agradecería algún ejemplo completo de un envio de una factura emitida y puestos a pedir tambien de la consulta de emitidas.
También secundo la proposición que hizo un miembro del foro, de unir todo lo realmente útil en un solo post, yo por mi parte, una vez que tenga hecho lo de las facturas emitidas, colgaré todo el proyecto en el FTP, aunque mio no tiene mucho, es una modificación de lo que había. Ahh, por cierto me olvidaba, como puedo guardar para ver a posteriori el XML generado antes del envio, pongo todo el código por si alguien me puede ayudar, como dije es código descargado del foro del club.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  i:LongInt;
  ASuministroLRFacturasEmitidas: SuministroLRFacturasEmitidas;
  ARegistroLRFacturasEmitidas:Array_Of_LRfacturasEmitidasType;
  result:RespuestaLRFacturasEmitidas;
  CERTIFICADO :Pointer;
  IVAS: DesgloseIva3;
  a,mes,d:word;

begin
  if comboBox1.itemindex<0 then exit;
  CERTIFICADO := BUSCAR_CERTIFICADO(comboBox1.text);
   if(CERTIFICADO = nil) then begin
       ShowMessage('No encuento el certificado');
       Exit();
    end;
    setCERTIFICADO(CERTIFICADO);

  try
    ASuministroLRFacturasEmitidas := SuministroLRFacturasEmitidas.Create;
    ASuministroLRFacturasEmitidas.Cabecera := CabeceraSii.Create;
    // DATOS:
    ASuministroLRFacturasEmitidas.Cabecera.IDVersionSii:=VersionSiiType(0);       // 0.1
    ASuministroLRFacturasEmitidas.Cabecera.titular := PersonaFisicaJuridicaESType.Create;
    ASuministroLRFacturasEmitidas.Cabecera.Titular.NombreRazon:=Edit1.Text;          
    ASuministroLRFacturasEmitidas.Cabecera.Titular.NIF:=Edit2.Text;              
    // (0) A0 - ALTA
    // (1) A1-  MODIFICACION
    // (2) A4-  MODIFICACION REGIMEN VIAJEROS
    ASuministroLRFacturasEmitidas.Cabecera.TipoComunicacion:=ClaveTipoComunicacionType(0);

    //Se crean todas las estructuras de datos de la consulta

    SetLength(ARegistroLRFacturasEmitidas, 1);
    ARegistroLRFacturasEmitidas[0]:=LRfacturasEmitidasType.Create;
    ARegistroLRFacturasEmitidas[0].IDFactura:=IDFacturaExpedidaType.create;
    ARegistroLRFacturasEmitidas[0].FacturaExpedida:=FacturaExpedidaType.create;               // <- clase para tipo de factura
    ARegistroLRFacturasEmitidas[0].PeriodoLiquidacion:=PeriodoLiquidacion11.Create;

    ARegistroLRFacturasEmitidas[0].PeriodoLiquidacion.Ejercicio:=Edit8.text;                       //  AÑO
    decodeDate(strtodate(edit7.Text),a,mes,d);

    ARegistroLRFacturasEmitidas[0].PeriodoLiquidacion.periodo  :=TipoPeriodoType(mes - 1);          //  PERIODO 01- ENERO ... 12-DICIEMBRE  (0A - ANUAL )


    With ARegistroLRFacturasEmitidas[0].IDFactura do
    begin
       IDEmisorFactura:= IDEmisorFactura3.Create;
       IDEmisorFactura.NIF  :=Edit2.text;                      
       NumSerieFacturaEmisor:=Edit6.text;                    
       FechaExpedicionFacturaEmisor:=Edit7.Text;          
    end;
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.tipofactura:=ClaveTipoFacturaType(0);      //  F1- FACTURA / F2 TICKET / ...
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.ClaveRegimenEspecialOTrascendencia:=IdOperacionesTrascendenciaTributariaType(0);  // 01-REGIMEN COMUN / 02-BIENES USADOS... 15-EXPORTACION
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.ImporteTotal:=Edit12.Text;                       //  TOTAL (opcional)
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.descripcionOperacion:='Nuestra Factura';   //  DESCRIPCION FACTURA (LIBRE)

    // CONTRAPARTE:
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte:=PersonaFisicaJuridicaType.Create;  // CREAR CLIENTE:
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.NombreRazon:=Edit4.Text;           // NOMBRE DEL CLIENTE
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.NIFRepresentante:='';
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.NIF:=Edit5.Text;                      // NIF DEL CLIENTE

(*
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.IDotro:=IDOtroType.Create;          // identifiacion del nif.
   //ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.IDotro.CodigoPais:=countryType2(10);  // EN CASO DE ESPAÑA NO ES NECESARIO
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.IDotro.IDType:=PersonaFisicaJuridicaIDTypeType(0);   // 2-NIF / 3-PASAPORTE / 4- DOCUMENTO OFICIAL IDENT. PAIS RESIDENCIA
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.Contraparte.IDotro.ID:='';         // EN CASO DE 3 Ó 4 INDICAR EL ID.
*)

   // EMPEZAMOS CON LOS DESGLOSES (IVAs)
    ARegistroLRFacturasEmitidas[0].FacturaExpedidA.TipoDesglose:= TipoDesglose3.create;

    setLength(IVAS,1);
    IVAS[0]:=DetalleIvaEmitidaType.Create;
    IVAS[0].BaseImponible:=Edit9.Text;            // BASE IMPONIBLE
    IVAS[0].TipoImpositivo:=Edit10.Text;            // IVA %
    IVAS[0].CuotaRepercutida:=Edit11.Text;          // IMPORTE IVA
    IVAS[0].TipoRecargoEquivalencia:='0';    // REQ %
    IVAS[0].CuotaRecargoEquivalencia:='0';   // IMPORTE RECARGO
    //   opcion 1
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.desgloseFactura:=TipoSinDesgloseType.create;
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta:=SujetaType.create;
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.desgloseFactura.sujeta.noexenta:=NoExenta2.create;
    // ASIGNAR IVAS
    ARegistroLRFacturasEmitidas[0].FacturaExpedida.TipoDesglose.desglosefactura.sujeta.noexenta.desgloseIVA:=IVAS;
                                        // documento pais residencia (extranjero)
    //se añade el array de facturas creado anteriormente
    ASuministroLRFacturasEmitidas.RegistroLRFacturasEmitidas:=ARegistroLRFacturasEmitidas;

   try
      // se hace la llamada a la funcion suministrada por el WS
      result := GetsiiSOAP(true,'',HTTPRIO1).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);

      //mostrar los resultados devueltos por la llamada
      for i := low(result.RespuestaLinea) to High(result.RespuestaLinea) do begin
        with result.RespuestaLinea[i] do begin
          Memo1.lines.add('factura: ' + IDFactura.NumSerieFacturaEmisor + ' ' + IDFactura.NumSerieFacturaEmisorResumenFin + ' ' + IDFactura.FechaExpedicionFacturaEmisor);
          //si el estado no es correcto, se muestran los errores
          if EstadoRegistro <> EstadoRegistroType(0) then begin
            Memo1.lines.add('Error no.: ' + InttoStr(CodigoErrorRegistro));
            Memo1.lines.add(DescripcionErrorRegistro);
          end;
        end;
      end;
    except
      On E:Exception do
        //El proceso de envio dio error
        MessageDlg(E.Message, mtError, [mbOK], 0);
    end;
  finally
    // se eliminan los objetos creados
    ASuministroLRFacturasEmitidas.Free;
    result.Free;
  end;
end;

Gracias. Y saludos a todos.
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE.
Responder Con Cita
  #11  
Antiguo 08-01-2024
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.035
Poder: 22
keys Va por buen camino
Tienes toda la información en este enlace.

https://sede.agenciatributaria.gob.e...ini/G417.shtml

En la parte de información técnica tienes todos los enlaces. Si en la propiedad del HTTPRIO.UseWdsl le pones a false, ya no se va a conectar a hacienda para comprobar las estructuras y así no te dará ese error. Puedes enviar al entorno de pruebas previamente antes de enviar al de producción.
Responder Con Cita
  #12  
Antiguo 08-01-2024
antoine0 antoine0 is offline
Miembro
 
Registrado: oct 2021
Posts: 144
Poder: 3
antoine0 Va por buen camino
Cita:
Empezado por muli Ver Mensaje
[...] tengo con las siguientes constantes:
Código Delphi [-]
const
  defWSDL = 'http://www.agenciatributaria.es/static_files/AEAT/Contenidos_Comunes/La_Agencia_Tributaria/Modelos_y_formularios/Suministro_inmediato_informacion/FicherosSuministros/V_1_1/SuministroFactEmitidas.wsdl';
  defURL  = 'https://prewww1.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP';
  defSvc  = 'siiService';
  defPrt  = 'SuministroFactEmitidas';

Me arroja el siguiente error:
Código Delphi [-]
Project Project1.exe raised exception class Exception with message 'Unable to load WSDL File/Location: http://www.agenciatributaria.es/stat...tEmitidas.wsdl.  Error [Error sending data: (12002) Se superó el tiempo de espera para la operación]'.
Entiendo que las direcciones indicadas no son correctas, donde puedo encontrar las correctas?
Según la página de las informaciones técnicas, empiezan por https: seguido de //sede.agenciatributaria.gob.es/static_files/Sede/Procedimiento_ayuda/G417/FicherosSuministros/V_1_1/ para los esquemas, y seguido de //sede.agenciatributaria.gob.es/static_files/Sede/Procedimiento_ayuda/G417/FicherosSuministros/V_1_1/WSDL/ para los WSDLs.

También me funcionan las direcciones empezando con //www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii_1_1_bis/fact/ws/ (para todo, esquemas como wsdl). Pero siempre con https:.

Para las pruebas, se puede remplazar www2 por prewww2. Pero no creo que haya ninguna diferencia en la actualidad (se refieren a pruebas de novedades de protocolos o funcionalidades).
Responder Con Cita
  #13  
Antiguo 09-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 178
Poder: 3
edari Va por buen camino
Buenos días,


A ver si os suena a alguno


Estoy intentando subir al SII una factura de proveedores varios sin nif

Cita:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:siiLR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd" xmlns:sii="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">
<soapenv:Header/>
<soapenv:Body>
<siiLR:SuministroLRFacturasRecibidas>
<sii:Cabecera>
<sii:IDVersionSii>1.1</sii:IDVersionSii>
<sii:Titular>
<sii:NombreRazon>EMPRESA</sii:NombreRazon>
<sii:NIF>NIF DE EMPRESA</sii:NIF>
</sii:Titular>
<sii:TipoComunicacion>A0</sii:TipoComunicacion>
</sii:Cabecera>
<siiLR:RegistroLRFacturasRecibidas>
<sii:PeriodoLiquidacion>
<sii:Ejercicio>2023</sii:Ejercicio>
<sii:Periodo>12</sii:Periodo>
</sii:PeriodoLiquidacion>
<siiLR:IDFactura>
<sii:IDEmisorFactura>
<sii:NIF/>
</sii:IDEmisorFactura>
<sii:NumSerieFacturaEmisor>89788 </sii:NumSerieFacturaEmisor>
<sii:FechaExpedicionFacturaEmisor>31-12-2023</sii:FechaExpedicionFacturaEmisor>
</siiLR:IDFactura>
<siiLR:FacturaRecibida>
<sii:TipoFactura>F2</sii:TipoFactura>
<sii:ClaveRegimenEspecialOTrascendencia>01</sii:ClaveRegimenEspecialOTrascendencia>
<sii:ImporteTotal>110.00</sii:ImporteTotal>
<siiescripcionOperacion>DOCUMENTO COMPRAS 89788</siiescripcionOperacion>
<siiesgloseFactura>
<siiesgloseIVA>
<siietalleIVA>
<sii:TipoImpositivo>10</sii:TipoImpositivo>
<sii:BaseImponible>100.00</sii:BaseImponible>
<sii:CuotaSoportada>10.00</sii:CuotaSoportada>
</siietalleIVA>
</siiesgloseIVA>
</siiesgloseFactura>
<sii:FechaRegContable>09-01-2024</sii:FechaRegContable>
<sii:CuotaDeducible>10.00</sii:CuotaDeducible>
</siiLR:FacturaRecibida>
</siiLR:RegistroLRFacturasRecibidas>
</siiLR:SuministroLRFacturasRecibidas>
</soapenv:Body>
</soapenv>
Y me da un error
1143-Valor del campo NIF del bloque IDFactura con tipo incorrecto


"Este mensaje aparece cuando se está presentando al SII facturas recibidas tipo tiquet (simplificadas) sin informar el NIF en los datos de proveedor".


Se pueden hacer facturas a proveedores varios sin NIF?


Gracias de antemano


Un saludo
Responder Con Cita
  #14  
Antiguo 09-01-2024
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.035
Poder: 22
keys Va por buen camino
Cita:
Empezado por edari Ver Mensaje
Buenos días,


A ver si os suena a alguno


Estoy intentando subir al SII una factura de proveedores varios sin nif


Y me da un error
1143-Valor del campo NIF del bloque IDFactura con tipo incorrecto


"Este mensaje aparece cuando se está presentando al SII facturas recibidas tipo tiquet (simplificadas) sin informar el NIF en los datos de proveedor".


Se pueden hacer facturas a proveedores varios sin NIF?


Gracias de antemano


Un saludo
En las recibidas es obligatorio identificar al proveedor, aunque sea un ticket.
Responder Con Cita
  #15  
Antiguo 09-01-2024
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 178
Poder: 3
edari Va por buen camino
Cita:
Empezado por keys Ver Mensaje
En las recibidas es obligatorio identificar al proveedor, aunque sea un ticket.

Gracias keys.


No veo entonces el sentido a tener una factura de tipo F2 para un proveedor si tienes que identificarle con su nif exactamente igual que al resto...
Responder Con Cita
  #16  
Antiguo 14-01-2024
muli muli is offline
Miembro
 
Registrado: jun 2003
Ubicación: A Coruña
Posts: 197
Poder: 21
muli Va por buen camino
Ya tengo listo el envio, ahora estoy consultando los envios, pero estoy atascado en traer los datos correspondientes a la base imponible, iva, tipo de iva, ya que luego tengo pensado que utilizando los datos de las consultas, seleccionar ese registro y si quiere anularlo, proceder a la anulacion.
Se que en DatosFacturaEmitida trae esos datos pero no consigo acceder a ellos, alguna luz que me ilumine, gracias.

Saludos
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE.
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
TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco keys Internet 4170 Hace 2 Semanas 17:29:05
AEAT envio de datos vía Webservice problemas con WSDL CelsoO Internet 11 09-10-2019 20:03:41
webService Soap de la Administración Digital Española notific@ apicito Internet 3 31-01-2017 11:25:28
Error en Webservice funcion envio de sms webmasterplc Delphi para la web 5 25-07-2013 20:10:29
Problemas con envío de XML a un WebService davidvamo Internet 1 13-02-2007 15:49:20


La franja horaria es GMT +2. Ahora son las 08:12:11.


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