viernes, 21 de agosto de 2015

Saltos de Pagina (Page Breaks) en Plantillas para XML Publisher

Para crear un salto de página o Page Breaks después de la ocurrencia de un elemento específico se debe  utilizar el comando split-by-page-break. Esto produce que al momento de generarse el reporte,se  inserte un salto de página entre cada instancia del elemento específico donde se le ha colocado el comando.

Para insertar un salto de página entre cada ocurrencia de un grupo, inserte el campo de formulario split-by-page-break en el grupo inmediatamente antes del campo  <?end for-each?> que cierra el grupo. En la plantilla RTF debe ingresar la siguiente  sintaxis:

<?split-by-page-break:?>

Para el siguiente XML, supongamos que se desea crear un salto de página para cada nuevo proveedor con su grupo de facturas:

<?xml version="1.0" encoding="UTF-8"?>
<XX_TEST_INVOICES>
<LIST_G_SUPPLIER>
<G_SUPPLIER>
 <NAME>XXR SLA</NAME>
 <LIST_G_INVOICES>
 <G_INVOICES>
   <INVOICE_NUM>0098-34</INVOICE_NUM>
   <DATE>11/12/2014</DATE>
   <AMOUNT>50923</AMOUNT>
 </G_INVOICES>
 <G_INVOICES>
   <INVOICE_NUM>0098-35</INVOICE_NUM>
   <DATE>18/12/2014</DATE>
   <AMOUNT>47103.5</AMOUNT>
 </G_INVOICES>
  </LIST_G_INVOICES>
</G_SUPPLIER>
<G_SUPPLIER>
 <NAME>INDUSTRIAS DAI DAI</NAME>
 <LIST_G_INVOICES>
 <G_INVOICES>
   <INVOICE_NUM>0097-93</INVOICE_NUM>
   <DATE>01/05/2015</DATE>
   <AMOUNT>8962</AMOUNT>
 </G_INVOICES>
 </LIST_G_INVOICES>
</G_SUPPLIER>  
</LIST_G_SUPPLIER> 
</XX_TEST_INVOICES>  

En la plantilla RTF se muestra el siguiente diseño, donde se muestra una estructura donde por cada proveedor se debe mostrara su listado de factura, por lo tanto hay dos Grupos de Repeticiones, uno para Proveedores y otro para las factura tal cual se peude observar en el XML anterior. El campo llamado PageBreak contiene la sintaxis split-by-page-break. 


Para dar el salto de Pagina se debe colocar en el campo PageBreak con la sintaxis <?split-by-page-break:?> inmediatamente antes del campo <?end for-each?>. El campo PageBreak se coloca dentro del bucle final en este caso G_Supplier


Esto asegura un salto de página antes de que se visualice el siguiente proveedor. Con ello cada pagina que se genera sera por las facturas de cada proveedor y se podrá ver de la siguiente manera si hacemos la ejecución por PDF:




1 comentario:

  1. Hola, quisiera saber sí es posible agrupar dentro de un grupo?? o sea, no sé si me explique, tengo la siguiente definición de datos:



































    ResponderEliminar