Listado de facturas en Jasper

1,336 views
Skip to first unread message

Ruben Diaz

unread,
Nov 10, 2015, 10:46:12 AM11/10/15
to Eneboo
Hola a todos, he lanzado un listado de facturas en jasper y tengo un problemita, el jasper interpreta que cada factura que tengo es una pagina de una unica factura y va haciendo un suma y sigue hasta la ultima que es donde me pone el total de todas las facturas, esto no es correcto, hay alguna opción en jasper para decirle donde termina una factura y empieza otra?

Un saludo

Oscar Dominguez

unread,
Nov 10, 2015, 1:22:37 PM11/10/15
to Eneboo
A mi me pasó lo mismo y conseguí hacer lo que pides, pero ahora ya no recuerdo bien cómo era... se me ocurren 2 cosas:

- activar "reset page number" de los pies de página
- o poner resetType="Group" en la variable del sumaysigue

Sospecho que será lo segundo y que lo primero era para hacer lo mismo con el numero de página... no estoy seguro, prueba y ya nos cuentas ;)


En el GIT hay plantillas, las mias son "abcvigo" y creo que en esa versión ya estaba este ajuste hecho:

https://github.com/eneboo/reports4eneboo-reports/tree/master/PostgreSQL/Abcvigo

Saludos

Ruben Diaz

unread,
Nov 11, 2015, 3:39:47 AM11/11/15
to Eneboo
Hola Oscar en la variable  del suma y sigue ya tengo esto que comentas, seguramente me base en lo que publicaste para hacer este formato.

<variable name="sumaysigue" class="java.lang.Double" resetType="Group" resetGroup="IDFACTURA" calculation="Sum">

Voy a ver si encuentro lo del reset page number

Oscar Dominguez

unread,
Nov 11, 2015, 6:56:37 AM11/11/15
to Eneboo
El "reset page number" lo tienes en las propiedades del grupo. Con Jaspersoft Studio en la pestaña "outline" pinchas sobre cualquier page header o page footer, botón derecho y "show properties"

Si quieres pásame tu plantilla y la reviso a ver si recuerdo cómo se hace esto ;)

Ruben Diaz

unread,
Nov 11, 2015, 7:51:19 AM11/11/15
to Eneboo
Esta es la plantilla , yo suelo usar ireports, el jasper studio  lo instale el otro día y no me gustó nada jeje, habrá que darle otra oportunidad ya que es el futuro.




i_facturascli.jrxml

Oscar Dominguez

unread,
Nov 11, 2015, 10:17:59 AM11/11/15
to Eneboo
Creo que no te entendí bien. Probando esa plantilla me sale el sumaysigue en todas las páginas excepto en la última. Y el pie con los totales, observaciones, forma de pago, etc. me sale solo en la última página del conjunto y supongo que lo quieres en la última de cada factura.

Te adjunto un apaño para que pruebes a ver si se acerca a lo que necesitas. Lo que hice fue esto:

- Puse el grupo IDFACTURA por encima del IDALBARAN (outline > boton dcho. > move group up). Esto es porque me salía sumaysigue=null en la mayoría de las páginas

- Lo que tenías en el LasPageFooter lo pasé a un GroupFooterIDFACTURA que tuve que crear. Esto para que salga en la última página de cada factura


El sumaysigue se repite en todas las páginas. Eso se puede arreglar luego si quieres.

Y la info de rectificativa que tienes en el GroupHeader podrías ponerlo en un ColumnHeader si no quieres que se repita en cada página

Saludos
prueba_facturascli.jrxml

Ruben Diaz

unread,
Nov 11, 2015, 11:30:59 AM11/11/15
to Eneboo
Así parece que funciona, pero claro, lo bonito de el Last Page footer es que los totales siempre aparecen en la ultima y abajo, de esta forma los tienes inmediatamente después de la ultima linea del detail.
Lo de poner el texto de la rectificativa en un colum si es mejor asi lo cambio, podria hacer lo mismo con la información del albarán?



El martes, 10 de noviembre de 2015, 16:46:12 (UTC+1), Ruben Diaz escribió:

Oscar Dominguez

unread,
Nov 11, 2015, 12:08:18 PM11/11/15
to Eneboo
Cualquier footer puede colocarse abajo. En propiedades del grupo ajusta FooterPosition=StackToBottom

Cada footer aparece al terminar su sección correspondiente... al terminar cada página (PageFooter), al terminar todas las páginas (LastPageFooter), al terminar tal grupo o tal otro (GroupFooter), etc.

- LastPageFooter es el pie para la última página. Te funcionaría bien cuando solo imprimes 1 factura, pero como ves es un problema cuando quieres imprimir un conjunto de varias facturas

- GroupFooter es el pie del grupo correspondiente. Al colocar los totales como pie del grupo IDFACTURA, aparecen cada vez que cambia de factura... y si p.ej. pusieras un GroupFooter para tu grupo IDALBARAN, tendrías una banda al final del detail para cada albarán


Lo que te comenté de la rectificativa en el column no hagas caso, estaba confundido, no pensé bien lo que decía lo siento ;) Pero, ¿tu intención es tenerlo en cada página, o prefieres solo en la primera?

La información del albarán está bien en el header de su grupo, si quieres que aparezca al principio de cada albarán (separando el detail en varios grupos según su idalbaran), ¿qué es lo que quieres cambiar?

Ruben Diaz

unread,
Nov 11, 2015, 12:16:48 PM11/11/15
to Eneboo
Voy a parecer bobo pero me pierdo :)

Como bien dices, el " Last Page Footer " me ha venido de perlas cuando es una única factura, ahora el problema esta al sacar un listado de ellas.
Respecto a el groupheader idfactura simplemente me fije en como esta el de albaranes que funcionaba y hice una copia y la modifique para que aparecieran también si viene rectificando a alguna factura.
Lo que comentas de las propiedades del grupo es nuevo para mi, entiendo que tendre que meter ahi los footer y quitar el last page footer para que en los listados de facturas se muestren como facturas independientes sin un total de todas al final que es lo que pasa ahora.







El martes, 10 de noviembre de 2015, 16:46:12 (UTC+1), Ruben Diaz escribió:

Oscar Dominguez

unread,
Nov 11, 2015, 1:20:49 PM11/11/15
to Eneboo
No te preocupes que yo hace 2 años estaba más perdido que tu y poco a poco fui consiguiendo hacer las cosas ;)

Te adjunto un pantallazo que vale más que mil palabras... seguro que viste mil veces eso de las propiedades (en la parte izquierda de mi jasperstudio... en ireport será parecido)

Si no tienes la pestaña de propiedades, haz botón derecho en una banda y selecciona "show properties". Con esa pestaña abierta te mostrará siempre las propiedades de la banda que tengas seleccionada

Para una banda de tipo grupo verás lo mismo que en el pantallazo (entre ellas el FooterPosition). Hay propiedades para el grupo, para todas las bandas del grupo, el layout y para solo la banda seleccionada



Otra pestaña importante es la de Outline que es la tercera pestaña en mi pantallazo. Ahi verás la lista de bandas de tu plantilla

En outline puedes crear o eliminar bandas y también definir los grupos (boton derecho sobre la primera linea que lleva el nombre de la plantilla > add group). Lo que hacen es agrupar el detail según el valor del campo que le indiques en propiedades del grupo > expression. Y cada grupo tiene sus propios headers y footers




Para aplicar los cambios haz esto:

- Botón derecho sobre el GroupHeaderIDFACTURA y pincha en "Move Group Up" para colocarlo por encima del IDALBARAN

- Para añadir el GroupFooterIDFACTURA tienes que abrir Outline y verás que GroupFooterIDFACTURA estará en gris porque aun no existe... haz botón derecho, pincha en "Add Band" y verás que aparece la nueva banda donde podrás colocar los campos de totales, etc






No se si te resolví alguna duda o te lie mas. Pregunta todo lo que no entiendas, que al final esto no es tan dificil. Y si quieres ir más rápido nos podemos conectar por chat un día que ambos tengamos tiempo libre ;)

Saludos
jasperstudio.png

jmni...@gmail.com

unread,
Sep 5, 2018, 1:22:13 PM9/5/18
to Eneboo
Perdonar, soy bastante novel en este tema.
Mi pregunta es:
¿ Cómo se puede imprimir Last Page Footer a continuación de lo último escrito y que no la ponga al final del Report?

Gracias,
jmnieto 

José Antonio Fernández Fernández

unread,
Sep 5, 2018, 2:11:10 PM9/5/18
to ene...@googlegroups.com
Te refieres a que se imprima justo ql terminar las lineas y no al final de la página?



--
Has recibido este mensaje porque estás suscrito al grupo "Eneboo" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a eneboo+un...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

jmni...@gmail.com

unread,
Sep 5, 2018, 4:58:26 PM9/5/18
to Eneboo
Pues sí
Siempre me imprime al final de página.

Saludos,
jm nieto

Jm Nieto

unread,
Sep 5, 2018, 4:58:26 PM9/5/18
to ene...@googlegroups.com
Has recibido este mensaje porque estás suscrito a un tema del grupo "Eneboo" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/eneboo/qjX88qgfPtw/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a eneboo+un...@googlegroups.com.

José Antonio Fernández Fernández

unread,
Sep 5, 2018, 5:41:38 PM9/5/18
to ene...@googlegroups.com
Page Footer siempre se imprime al final, sin embargo la sección group_footer del grupo previo puedes cambiar la posicion en su propiedad Footer Position , como normal (justo despues de las lineas del documento) o Force at bottom (abajo del todo , encima de la sección Page Footer). Esto en Ireports , en jasper studio debería ser igual. 
Saludos
Reply all
Reply to author
Forward
0 new messages