Problemas para Visualizar una solicitud de bienes

Buen dia …

Tengo instalada la versión 1.7.0 del sistema en un servidor linux con las siguientes caracteristicas

Sistema Operativo: Debian versión Lenny (versión 5.4)

Apache: 2.2 Handler

PHP: 5.2.6

PostgreSQL: 8.3

Java: openJDK java 6 runtime y openJDK java 6 web start.

Me aparece el siguiente error cuando quiero visualizar una solicitud con un usuario de perfil “usuario patrimonio”

Error al ejecutar el comando “/usr/local/siu/diaguita/aplicacion/php/3ros/fop/fop -xml /usr/local/siu/diaguita/toba/temp/xmlkMRC79 -xsl /usr/local/siu/diaguita/aplicacion/www/temp/ci_ficha_solicitud_alta_bien_uso.xsl -pdf /usr/local/siu/diaguita/toba/temp/Ficha_solicitudes_alta_bienes_de_uso_1383550538.pdf”

La tecnologia XSL-FO es alguna aplicación a descargar?? Hay algun manual de como instalarlo, configurarlo o usarlo??

En el manual de configuracion inicial del sistema no hay nada de esta tecnologia…

En este foro encontre algo de información, con problema presentes en otras versiones del sistema.

Hay algun manual??

Marcela

Hola Marcela!

En realidad en el instructivo de instalación de diaguita, hay una sección que habla de la configuración del fop. Fop es una aplicación java que permite, entre otras cosas, generar archivos pdf.

Por lo que veo, tenes el software necesario para que corra bien. Lo único que me parece que te falta es la configuración, para eso hay que modificar el archivo “instalacion.ini” para indicarle al sistema en donde esta el Fop:

El SIU-Diaguita utiliza la tecnología XSL-FO para permitir personalizar la impresión de todos los documentos/comprobantes emitidos por el sistema. Para realizar la correcta configuración de XSL-FO en su servidor se deberá realizar lo siguiente: 1. Agregar al final del archivo path_a_diaguita/diaguita/instalacion/instalacion.ini, las dos siguientes líneas: [xslfo] fop = path_a_toba/toba/proyectos/diaguita/php/3ros/fop 2. Dar permiso de ejecución al archivo path_a_toba/toba/proyectos/diaguita/php/3ros/fop

Después de eso, reinicia el Apache, relogueate y proba nuevamente.

Saludos, Esteban.

Esteban

Esta receta que me estas pasando ya la habia visto en el foro. No la tuve en cuenta, porque la ubicacion de la carpeta “fop” no coincide con lo que yo tengo en el servidor y como era en relación a otras versiones del sistema pense que lo habian cambiado.

El problema persiste…
Por defecto en instalacion.ini para fop aparece:

[xslfo]
fop = /usr/local/siu/diaguita/aplicacion/php/3ros/fop/fop (esta es la ubicacion de fot que tengo en el servidor)

Decis que en realidad debe ser

[xslfo]
fop = path_a_toba/toba/proyectos/diaguita/php/3ros/fop

Pero en la estructura de carpetas, para toba/proyectos/ solo aparece toba_usuarios y toba_editor, no aparece “/diaguita/php/3ros/fop”

Le di permisos de ejecucion a “usr/local/siu/diaguita/aplicacion/php/3ros/fop”.
Reinicie apache y sigue el error.

Marcela

Hola Marcela,

Efectivamente las carpetas cambiaron con las versiones, pero lo que hay que hacer es exactamente lo mismo. Si con esto no se arregla, podes probar de instalar el fop usando apt o aptitude.

Saludos, Esteban.

Hola Esteban…

Estoy retomando este problema nuevamente, la versión de Java instalada en nuestro servidor debian, es 1.5.0.
Instale fop como me lo indicaste.

El problema que surge ahora, es que si se obtiene un archivo pdf pero de tamaño cero.

Que puede estar sucediendo…???

Marcela

Hola Marcela,

Yo la verdad es que lo tengo probado en la versión 1.6 de java, pero el tema es que si el fop no tira error, que es en definitiva el programa que esta escrito en java, no creo que la versión del runtime sea el problema. Me podrías confirmar la versiond e fop que instalaste? Si pudieras subir los logs de la aplicación y el de errores de php y apache sería buenisimo!

Saludos, Esteban.

Hola … Esteban

Versión de Fop instalada es 1.0.49

Adjunto los log del sistema y de apache…

Gracias por tu atención …

Marcela


Hola Marcela,

En los logs de Apache no encontre nada, lo cual es bastante raro ya que todos los errores del fop, aparecen ahí. Revisa bien, que alguna pista tiene que haber. Yo probaría con un editor de texto que te permita buscar en los archivos (tipo notepad++) usando la palabra “fop”.

Saludos, Esteban.

Hola Esteban …

Sigo con el inconveniente de no poder visualizar una solicitud. Hoy tengo instalada la versión 1.8.0.
Alejandro Corsaro me guío para realizar algunas prueba mas y la conclusión fue, que si ejecuto por linea de comando el mensaje de error se genera correctamente el archivo pdf y luego haciendo un doble clik sobre el archivo lo visualizo. Pero del sistema no se puede.

El comando que ejecute fue “/usr/local/siu/diaguita/aplicacion/php/3ros/fop/fop -xml /usr/local/siu/diaguita/toba/temp/xmlPd0hrs -xsl /usr/local/siu/diaguita/aplicacion/www/temp/ci_ficha_solicitud_suministro.xsl -pdf /usr/local/siu/diaguita/toba/temp/Ficha_de_solicitud_de_bienes_y_servicios_1346948173.pdf”.

Te adjunto unos archivos instalacion.ini, ci_ficha_solicitud_suministro.xsl, el log del sistema y xmlPd0hrs.


Hola Marcela,

Si podes ejecutar el comando a mano (como root supongo), puede que sea un problema de permisos. Verificaste que el usuario “www-data” tenga permisos de lectura/escritura sobre los directorios necesarios (serian todos los temp)?

De no ser así, con los comandos “chmod” y “chown” podes solucionarlo.

Saludos, Esteban.

Hola Esteban …

Le di permisos a todas las carpetas temp que tiene la aplicación. Igualmente sigue apareciendo el error, desde el sistema no puedo visualizar una solicitud.

No se genera el archivo … toba/temp/Ficha_de_solicitud_de_bienes_y_servicios_(nro) .pdf"

En la imagen adjunta, te mando el error y los distintos permisos que di. Por ahí viéndolo te das cuenta si falta dar algo mas.

Marcela


Esteban:
Buenos días, añado a la especificación de servidor de Marcela que es un debian lenny de 64 bits a modo de comentario solamente.
Te cuento que se solucionó el problema. Lo que hicimos fue instalar fop nuevamente pero del repositorio de squeeze, por lo que instaló la versión 1.0.95, esto lo hicimos con:

        apt-get install -t squeeze fop

       Por otro lado unas unas excepciones que salían ejecutando el comando que daba problema en una terminal decían como warning que no encontraba la fuente times new roman, esto nos hizo  investigar en internet e inferimos que faltaban unas fuentes en el servidor para armar el pdf y encontramos que se debía instalar el siguiente paquete.

       apt-get install -t squeeze ttf-mscorefonts-installer

Luego de esto ya se pudo visualizar correctamente el archivo .pdf

La duda que nos queda sobre la operación de visualización de solicitud de bienes es que se deja almacenado en el servidor cada archivo que se genera. Esto se debe dejar así o se tendría que chequear periódicamente para eliminar los archivos cada tanto?

Desde ya muchas gracias por tu ayuda.

Saludos,

Marcelo.