#35656
Javier Ader
Participante

Gracias Federico. Te comento que a lo que habria que tal vez prestarle atencion es a
ReportEngine.get( Properties ctx,int type,int Record_ID )
porque ahi si se cambio un poco la funcionalidad; antes se terminaba buscando otro formato de impresión en el caso de los pedidos y facturas no completadas (el tema viene por C_DocTye es 0). Más alla de que no pude testear esa modificación especifica (FIX 13 en el codigo) la nueva sentencia sql creo que esta bien (no la testie porque este metodo es llamado para impresiones “especiales” de facturas/pedidos/remitos y un par de documentos más, los ids de reportes que afecta están hardcodeados por ej proceso 119 para las facturas si mal no recuerdo); no afecta (o no debería) a la impresión de facturas normal.
Otra cosa a tener en cuenta es que el nuevo código usa la libreria iText directamente (por eso hay que incluirlo en el classpath en el print/build.xml, si no, no compila por ant), via la clase DocumentPDF; vi que en 10.09 estan iText 1.5.4 mientra que 10.03 esta usando 2.1.5 (o sea, se paso a una libreria mas vieja); yo lo probe exportando un informe con 2.1.5 y anduvo bien. Lo que si, DocumentPDF explícitamente setea la versión de documento pdf a generar a 1.2 (miras las propiades del documento pdf y te muestra esta versión), el código anterior no especificaba esto (y generaba un documento pdf version 1.4); Jasper no se a que versión estará exportando, pero debería andar con iText 2.1.5 (creo haber exportado mas de una vez).

Más allá de esto, acá subo las ultimas modificaciones (ya que me había olvidado de tocar ArchiveEngine):
-modifique ArchiveEngine para que utilice DocuemntPDF para generar la exportación
-elimine directamente iText interno (para sanear un poco el código) ; esto es todo el directorio org.openExpertya.print.pdf (no confundir con org.openXpertya.pdf; ese paquete nuevo tiene a DocumentPDF).
-tuve que tocar ArchiveDesign (en client) porque esta era la ultima clase que usaba el iText interno (y por lo tanto, me tiraba errores de compilación); de todas maneras, esta clase se podría directamente eliminar (no se usa en ningún lado)
-finalmente, los archivos true.gif y false.gif en org.openXpertya.print.layout estaban corruptos (no eran gif validos), los reemplace con los gif que encontré en adempiere (que supongo que son los mismos, salvo que antes de corromperse). Esto gifs se usan cuando se reportean columnas booleanas (algo con lo que nunca me tope pero seguro se iban a mostrar mal).

Finalmente, hice con éxito un build completo desde ant por si algún otro código que no vi estaba usando el iText interno. Las modificaciones deberían andar tranquilamente en 10.09, con cualquiera de las versión de iText (bah, con 2.1.5 seguro; creo que igual se debería usar esta versión ya que la exportación pdf desde el Jasper de 10.03 no parecía tener problemas); salvo como ya dije antes, el subpaquete fiscal NO hay que usarlo (tiene nuevos drivers Hasar y otras modificaciones pero para 10.03; tal como están, seguro que trae problemas para 10.09).

http://www.mediafire.com/?4zktf3ocbn0rc1m
build.xml -> pirnt/build.xml (pra que incluya itext 2.1.5 en el class path)
src->print/src (pero NO pisar el subpaquete fiscal)
En-client-Src-org-openXpertya-print -> archivos modificados de suproyecto client (son 4 nada mas; en dos de ellos solo agreque comentarios y genericidad cuando era necesario; los que realmente importan son Viewer y ArchiveDesign)

Saludos