Jump to content


Photo

Consultar reportes Delphi via Web


  • Please log in to reply
12 replies to this topic

#1 deivisjoro

deivisjoro

    Newbie

  • Miembros
  • Pip
  • 4 posts

Posted 10 February 2012 - 01:15 PM

Buenas tardes.
Disculpe por la molestia, pero necesito de su ayuda si es posible para que me colaboren con una información.
He visto algunos hilos en el foro de delphiaccess donde se habla algo parecido a lo que estoy necesitando hacer.

Para hacer mas corta la situación les comento que he trabajado con PHP como lenguaje para desarrollo de aplicaciones Web y he construido reportes de muchas maneras, el problema que tengo es que se me presento un trabajo donde es necesario que la aplicacion web no genere dichos reportes, sino que de alguna manera lo logre sacar de una aplicación desarrollada en Delphi

Tiene alguna idea?, en que me puede orientar?
Puede ser con un Webservice? o un CGI

PD: la aplicacion web esta en el mismo equipo que la aplicacion Delphi

De antemanos gracias por la atencion prestada

  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14469 posts
  • LocationMéxico

Posted 10 February 2012 - 01:19 PM

Que tal deivisjoro bienvenido a DelphiAccess

Te doy dos opciones.

1. Usar FastReport y su Report Server, se generan los reportes en la aplicación de escritorio y se depositan en un directorio definido y por web los consultas.
2. Creas un WebService con la misma implementación de tu aplicación de escritorio.

Los cambios en los formatos, desconozco que utilizan pero debe de cambiar en ambas implementaciones (si lo hacen internamente) y si lo hacen en archivos fuera de  la aplicación solo apuntar a la misma y listo.

No digo que sea fácil, pero de que se puede se puede.

Saludos
  • 0

#3 felipe

felipe

    Advanced Member

  • Administrador
  • 3283 posts
  • LocationColombia

Posted 10 February 2012 - 01:28 PM

Yo lo he logrado usando ReportManager, estos se generan como un pdf. La configuración no es tan compleja.


Saludos!
  • 0

#4 deivisjoro

deivisjoro

    Newbie

  • Miembros
  • Pip
  • 4 posts

Posted 10 February 2012 - 01:35 PM

Gracias por sus respuestas.
La opción de implementar Fast Report, ya la había visto en el foro, pero no sirve en este caso, pues la idea es utilizar los reportes que ya están construidos.
Una opción puede ser que en Delphi, inmediatamente se incluya la información de los exámenes médicos (esto es lo que hace la aplicacion), puede crear en disco el pdf correspondiente, donde este seria accedido via web, pero es una alternativa ya estudiada y  poco eficiente, porque la ocupación en disco y no le agrado a los clientes, ademas de que no todos los resultados de los exámenes médicos van a ser accedidos por la web
  • 0

#5 felipe

felipe

    Advanced Member

  • Administrador
  • 3283 posts
  • LocationColombia

Posted 10 February 2012 - 01:46 PM

No sé si aplique en el caso de Fast Report pero estos meta-archivos generan los pdf via web, por lo que no hay que tenerlos almacenados en el disco. En el caso de RM solo tengo el archivo .rep almacenado y desde el servidor con su respectiva dll los creo solo pasando la ruta y los parámetros via explorador web.



Saludos!
  • 0

#6 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14469 posts
  • LocationMéxico

Posted 10 February 2012 - 01:46 PM

Gracias por sus respuestas.
La opción de implementar Fast Report, ya la había visto en el foro, pero no sirve en este caso, pues la idea es utilizar los reportes que ya están construidos.
Una opción puede ser que en Delphi, inmediatamente se incluya la información de los exámenes médicos (esto es lo que hace la aplicacion), puede crear en disco el pdf correspondiente, donde este seria accedido via web, pero es una alternativa ya estudiada y  poco eficiente, porque la ocupación en disco y no le agrado a los clientes, ademas de que no todos los resultados de los exámenes médicos van a ser accedidos por la web


Pues dejas pocas posibilidades, ¿ no han evaluado la entrega por correo de esos reportes ?

Saludos
  • 0

#7 deivisjoro

deivisjoro

    Newbie

  • Miembros
  • Pip
  • 4 posts

Posted 10 February 2012 - 01:49 PM

No se ha evaluado esta posibilidad.
Solamente quieren dar la posibilidad para que el que asi lo quiera, pueda consultar sus resultados por la web, y los que no, en las oficinas pueden reclamar sus resultados en medio fisico
  • 0

#8 deivisjoro

deivisjoro

    Newbie

  • Miembros
  • Pip
  • 4 posts

Posted 10 February 2012 - 01:54 PM

No sé si aplique en el caso de Fast Report pero estos meta-archivos generan los pdf via web, por lo que no hay que tenerlos almacenados en el disco. En el caso de RM solo tengo el archivo .rep almacenado y desde el servidor con su respectiva dll los creo solo pasando la ruta y los parámetros via explorador web.



Saludos!


Felipe, gracias por la respuesta.

Voy a proponer utilizar esta herramienta, el problema es que los desarrolladores adquirieron hace poco tiempo un reporteador de pago para trabajar en este proyecto y no creo que vean con buenos ojos la idea, ademas les tocaria hacer de nuevo dichos reportes
  • 0

#9 felipe

felipe

    Advanced Member

  • Administrador
  • 3283 posts
  • LocationColombia

Posted 10 February 2012 - 03:18 PM

Felipe, gracias por la respuesta.

Voy a proponer utilizar esta herramienta, el problema es que los desarrolladores adquirieron hace poco tiempo un reporteador de pago para trabajar en este proyecto y no creo que vean con buenos ojos la idea, ademas les tocaria hacer de nuevo dichos reportes


Claro, es de considerar; entonces en ese caso verifiquen las cualidades de esa herramienta, de algún modo les debe servir para lo que necesitan.


Saludos!
  • 0

#10 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4483 posts
  • LocationVenezuela

Posted 21 February 2012 - 06:11 AM

Y no te bastaria con acceder a la base de datos desde PHP y mostrar el examen???
  • 0

#11 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1484 posts
  • LocationMallorca

Posted 21 February 2012 - 06:52 AM

Hola.


No sé si aplique en el caso de Fast Report pero estos meta-archivos generan los pdf via web, por lo que no hay que tenerlos almacenados en el disco. En el caso de RM solo tengo el archivo .rep almacenado y desde el servidor con su respectiva dll los creo solo pasando la ruta y los parámetros via explorador web.



Saludos!


Felipe, gracias por la respuesta.

Voy a proponer utilizar esta herramienta, el problema es que los desarrolladores adquirieron hace poco tiempo un reporteador de pago para trabajar en este proyecto y no creo que vean con buenos ojos la idea, ademas les tocaria hacer de nuevo dichos reportes


¿ Ese reporteador tiene exportación a PDF ? (cualquier reporteador un poco serio la debería tener).

Entonces es trabajo de los desarrolladores de la aplicación Delphi el preparar esos informes y hacer que su aplicación pueda ser llamada mediante un parámetro (el del informe y paciente deseado), de forma que deje un PDF en una carpeta determinada, que podrá usar tu aplicación Web para devolver al usuario.

La verdad es que todo el trabajo es de los desarrolladores Delphi, tú solo deberías ponerte de acuerdo con ellos sobre como pasarles los parámetros necesarios (informe y paciente) y donde deben dejarte el archivo PDF correspondiente.

Saludos.
  • 0

#12 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2137 posts

Posted 21 February 2012 - 10:17 AM

Y no te bastaria con acceder a la base de datos desde PHP y mostrar el examen???


Pienso exactamente lo mismo, si las dos aplicaciones atacan la misma base de datos, lo más sencillo sería lo que propone Eduardo.

Saludos
  • 0

#13 lbuelvas

lbuelvas

    Member

  • Miembros
  • PipPip
  • 20 posts
  • LocationColombia

Posted 29 February 2012 - 01:21 AM

Bueno curiosamente estoy en una situacion parecida al compañero deivisjoro.

En mi caso debo generar un documento .pdf, se trata de un recibo pero es para 200.000 posibles clientes, la verdad creo que menos del 2% lo consultará porque normalmente se acercan a las oficnas a reclamarlos, pero el servicio debe existir.

La verdad generar 200.00 recibos y organizarlos en carpetas es complejo y más aún si no se van a utilizar todos los recibos, lo correcto es generarlo en línea que es lo que estoy haciendo.

El esquema que tengo es el siguiente:

Motor de BD Firebird 2.5 --> WebServer Aplicattion (Delphi XE2) --> Router (DD-WRT) --> Ocultamiento IP (www.no-ip.com) --> www

Me toca hacerlo en un servidor en mi oficina porque primero estoy en desarrollo y segundo porque no tengo conocimiento de como manejar el volumen de datos con un hosting externo y que sea Firebird, además que me permitandejar un ejecutable windows (la aplicacion WebServer).

Me he orientado por la informacion de esta página: http://www.drbob42.c...s/webroker.html que aunque no es reciente me ha sido de mucha utilidad porque llevo solo tres dias investigando este asunto y no se nada de PHP, ni Apache, etc.

Como se hace, cree en Delphi XE2 (creo que desde Delphi 6 se puede hacer) un proyecto Web Server Application, luego le dices tipo Stand Alone VCL Application y por ultimo el puerto que normalmente es 8080.  Sin escribir nada de codigo haga una prueba, debe funcionar.

Luego en el formulario principal coloque los objetos para conectar a la base de datos y el reporte, colocar adicionalmente un objeto TfrxPDFExport.

Luego modifique el codigo que aparece en el WebModulo



delphi
  1. procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject;
  2.   Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  3. begin
  4.   Response.Content := '<html><heading/><body>Web Server Application</body></html>';
  5. end;



por este



delphi
  1. procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject;
  2.   Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  3. begin
  4.   Response.Content :=
  5.   '<HTML>'                                                                    +
  6.   '<BODY>'                                                                    +
  7.   '<H1>Consulta de Recibos Impuesto Predial</H1><HR>'                          +
  8.   {
  9.   '<FORM ACTION="http://www.drbob42.com/cgi-bin/Unleashed.dll" METHOD=POST>'  +
  10.   }
  11.   '<FORM ACTION= METHOD=POST>'                                                +
  12.   'Codigo Catastral: <INPUT TYPE=EDIT NAME=Codigo_Catastral><P>'              +
  13.   '<INPUT TYPE=SUBMIT>'                                                        +
  14.   '</FORM>'                                                                    +
  15.   '</BODY>'                                                                    +
  16.   '</HTML>'                                                                    ;
  17.  
  18.   {
  19.   if Request.Method = 'GET' then
  20.   begin
  21.     Response.Content := Response.Content + '<B>GET</B>' + '<BR>Query: '    + Request.Query;
  22.     if Request.Query = 'Codigo_Catastral=01' then  Showmessage('hola');
  23.   end
  24.   else
  25.   if Request.Method = 'POST' then
  26.     Response.Content := Response.Content + '<B>POST</B>' + '<BR>Content: ' + Request.Content
  27.   }
  28.  
  29.   if Request.Method = 'GET' then
  30.   begin
  31.     if Request.Query = 'Codigo_Catastral=01' then
  32.     begin
  33.       With Form1 do
  34.       begin
  35.         frxPDFExport1.FileName    :=  'd:\salida.pdf';
  36.         frxPDFExport1.ShowDialog  := false;
  37.         frxPDFExport1.ShowProgress := false;
  38.         frxReport1.PrepareReport();
  39.         frxReport1.Export(frxPDFExport1);
  40.       end;
  41.     end;
  42.   end
  43. end;



El sistema si el usuario captura un valor '01' ejecuta el segmento de código que genera el informe. Como les digo estoy empezando, lo que falta es: verificar que el codigo del predio exista, que el nombre del archivo vaya cambiando (se puede hacer con un generador), que el archivo .pdf se descarge automáticamente desde el navegador web y por último hacer limpieza de automática de archivos.

Espero les sirva y si alguien puede darnos una ayuda para continuar se agradece infinitamente.
  • 0




IP.Board spam blocked by CleanTalk.