Creación de subformularios de repetición y de varias páginas

Puede colocar un subformulario en cualquier punto de una página; sin embargo, cuando se combina una gran cantidad de datos con el formulario, el subformulario puede expandirse más allá del borde inferior de la página representada. Para resolver este problema, puede seleccionar Permitir saltos de página en el contenido para que el servidor cree un salto en el subformulario en el centro o, puede desactivar la opción para que todo el subformulario pase a la parte superior de la siguiente página representada. Forzar un subformulario a la página siguiente garantiza que todos los subformularios anidados aparecerán juntos en la misma página. Si no se selecciona la opción Permitir saltos de página en el contenido, probablemente sería recomendable crear un subformulario de encabezado de desbordamiento y otro de pie de desbordamiento (Consulte Acerca de encabezados y pies de desbordamiento.)

Cuando se combinan los datos, el servidor posiciona el contenido de un subformulario sólo dentro de los límites de las áreas de contenido. En los casos en los que una gran cantidad de datos se deban combinar con los objetos de un subformulario, éste puede ocupar varias páginas de formulario. Cuando se llena la página de un formulario, el servidor procesa automáticamente otra página idéntica y sigue colocando el subformulario en la página siguiente, salvo que se dirija directamente a un área de contenido o página de formato diferente. Cuando haya más de un área de contenido o página de formato en el mismo formulario, se puede especificar si un subformulario se posicionará en un área de contenido concreta o si se presentará de acuerdo con la página de formato especificada.

Para crear un subformulario de repetición

  1. En la paleta Jerarquía, seleccione el subformulario principal del subformulario que desea que se repita. (Consulte Acerca de los subformularios.)

  2. En la paleta Objeto, haga clic en la ficha Subformulario y seleccione De posición variable en la lista Contenido.

  3. Seleccione el subformulario que desea que se repita.

  4. En la paleta Objeto, haga clic en la ficha Subformulario y seleccione De posición variable o De posición fija en la lista Contenido.

  5. Haga clic en la ficha Enlace y seleccione Repetir subformulario para cada elemento de datos.

  6. Para especificar el número mínimo de repeticiones, seleccione Mínimo y escriba un número en el cuadro correspondiente. Si la opción se ajusta a 0 y no se suministran datos para los objetos del subformulario en el momento de la combinación de datos, el subformulario no se coloca al procesar el formulario.

  7. Para especificar el número máximo de repeticiones de subformulario, seleccione Máx. y escriba un número en el cuadro correspondiente. Si no se especifica un valor en el cuadro Máx., el número de repeticiones de subformulario será ilimitado.

  8. Para especificar un número definido de repeticiones de subformulario, independientemente de la cantidad de datos, seleccione la opción Recuento inicial y escriba un número en el cuadro correspondiente. Si se selecciona esta opción y no hay ningún dato disponible o existen menos entradas de datos que el valor especificado en Recuento inicial, las instancias vacías del subformulario aún se colocan en el formulario.

    Nota: el valor del cuadro Recuento inicial debe encontrarse entre los valores Mínimo y Máx. Si no se especifica el valor Mínimo, o éste es 0, el valor predeterminado de Recuento inicial es 0.

Especificación de un subformulario que ocupe varias páginas

Los subformularios pueden colocarse en cualquier lugar en un diseño de formulario. No obstante, si se combinan muchos datos, el subformulario puede superar el borde inferior de la página representada.

Para solucionarlo, se puede activar un salto de página en medio del subformulario o hacer que se represente desde el principio de la siguiente página. Forzar un subformulario a la página siguiente garantiza que todos los subformularios anidados aparecerán juntos en la misma página.

Al combinar los datos, el contenido de un subformulario se coloca sólo dentro de los límites de las áreas de contenido. En los casos en los que se tienen que combinar muchos datos con cualquiera de los objetos del subformulario, éste puede ocupar varias páginas de formulario.

Cuando se rellena una página de formulario, se representa una página idéntica adicional automáticamente. El subformulario sigue colocado en la nueva página, a menos que se dirija expresamente a otra área de contenido o a otra página de formato diferente. Cuando haya más de un área de contenido o página de formato en el mismo formulario, se puede especificar si un subformulario se posicionará en un área de contenido concreta o si se presentará de acuerdo con la página de formato especificada.

Activar un subformulario que ocupe varias páginas

 En la paleta Objeto, haga clic en la ficha Subformulario y seleccione Permitir saltos de página en el contenido.

Cuando se anula la selección de esta opción, los objetos del subformulario se colocan en la misma página.

Acerca de encabezados y pies de desbordamiento

Ya que la longitud de un formulario con una presentación flexible varía dependiendo de la cantidad de datos combinados con el formulario, los formularios con una presentación flexible a menudo constan de más de una página. El uso de subformularios de encabezado y pie de desbordamiento es una forma eficaz de iniciar y finalizar subformularios que se repiten en varias páginas. Es posible utilizar cualquier subformulario configurado para que el contenido como encabezado o pie de desbordamiento tenga una posición fija. Por ejemplo, en el formulario de ejemplo de Orden de compra, el subformulario detalle se configura con posición fija y se repite con cada elemento de datos. Cuando se combina el formulario con los datos, si la primera página no cuenta con suficiente espacio para mostrar todas las incidencias del subformulario detalle, se agrega una página nueva y los datos se pasan a la siguiente área de contenido.

Cuando los datos se distribuyen de este modo entre varias páginas, es posible que quiera que en todas ellas aparezca un texto como “Continuación de la página anterior” o quizás elementos concretos de formato, tales como una fila de encabezado de columna que incluya las etiquetas descriptivas de cada columna de datos. El uso de las filas de encabezado de columna en cada página permite que los usuarios puedan seguir con mucha más facilidad el formulario resultante. Para hacerlo, se puede crear un subformulario de encabezado de desbordamiento que funcione como la fila de encabezado de la columna en todas las páginas adicionales. En el formulario de ejemplo de Orden de compra, por ejemplo, se selecciona el subformulario detalleEncabezado como encabezado de desbordamiento. Así, se representa una copia del subformulario detalleEncabezado en la parte superior de todas las páginas nuevas antes de la primera incidencia del subformulario detalle.

Del mismo modo, es posible que se desee incluir información después de la última incidencia del subformulario repetido, en la parte inferior de todas las páginas salvo la última. Por ejemplo, puede que quiera incluir un texto tal como “Continuación de la página anterior”, en la parte inferior de esas páginas. Para ello, puede crear un subformulario de pie de desbordamiento para el subformulario repetido, igual que creó el encabezado de desbordamiento.

Cuando un subformulario se desborda a la nueva página, el servidor realiza estas operaciones:

  • Coloca el pie de desbordamiento en la página actual

  • Coloca el encabezado de desbordamiento en la página siguiente

  • Pasa el subformulario ampliable y el resto de sus objetos repetidos a la página siguiente

Un encabezado de desbordamiento es un tipo especial de subformulario de posición que aparece en la parte superior de la página siguiente siempre que se produce un desbordamiento de página.

Los encabezados de desbordamiento son similares a la fila de encabezado de una tabla estándar. La fila de encabezado aparece en la parte superior de la tabla e incluye una etiqueta descriptiva para cada una de las columnas de la tabla. Se puede definir el formato de la tabla de modo que cuando supere la extensión de una página, la fila de encabezado se repita al principio de la nueva página. De este modo, al lector le resulta más fácil entender la información de la tabla cuando pasa de una página a otra.

Un subformulario de encabezado de desbordamiento se comporta del mismo modo. Cuando se indica que un determinado formulario se usará como encabezado de desbordamiento de un subformulario de repetición, el subformulario de encabezado de desbordamiento aparecerá una vez, antes del de repetición, al principio de la página actual y de cada una de las siguientes.

El subformulario de repetición se agrega tantas veces como sea necesario cuando se combina con datos. Si no hay más espacio en la primera página, se agrega una nueva y los datos siguen insertándose en la siguiente página hasta que se acaben. El subformulario del encabezado de desbordamiento aparecerá una vez en la parte superior de cada página.

Puede ver un ejemplo de cómo se utiliza un subformulario de encabezado de desbordamiento en el diseño de formulario de ejemplo cuya presentación se ajusta para dar cabida a los datos que se incluyen en Designer. El ejemplo, Purchase Order.xdp, se encuentra en la carpeta Samples del directorio donde Designer esté instalado en el sistema. En el ejemplo, el subformulario denominado detalleEncabezado se usa como encabezado de desbordamiento para el subformulario de repetición detalle.

Los encabezados de fin de libro son subformularios que aparecen antes de un subformulario de repetición. Si define un elemento secundario de subformulario justo encima de un subformulario de repetición y, a continuación, lo especifica como un encabezado de desbordamiento, lo habrá definido como un encabezado de fin de libro y un encabezado de desbordamiento.

Un pie de desbordamiento aparece en la parte inferior de la página siguiente, siempre que se produce un desbordamiento de página. Utilice un pie de desbordamiento para incluir información que aparezca sólo una vez, tras haber posicionado todos los datos.

Los pies de fin de libro son subformularios que aparecen justo debajo de un subformulario de repetición. Si define un subformulario justo debajo de un subformulario de repetición y, a continuación, lo especifica como un pie de desbordamiento, lo habrá definido como un pie de fin de libro y un pie de desbordamiento.

Creación y asignación de encabezados y pies de desbordamiento

Los encabezados o pies de desbordamiento son subformularios de posición que pueden asignarse a cualquier subformulario de repetición. Normalmente, se crea primero el subformulario de encabezado o pie de desbordamiento. Después se asignan a un subformulario de repetición y se les otorgan propiedades de desbordamiento.

Si el encabezado de desbordamiento también se trata como un encabezado de fin de libro, se colocará en la paleta Jerarquía justo encima del subformulario. Asimismo, si el pie de desbordamiento también se trata como un pie de fin de libro, se colocará en la paleta Jerarquía justo debajo del subformulario.

Crear un subformulario de encabezado o pie de desbordamiento

  1. Cree un diseño de formulario con los subformularios que sean necesarios.

  2. En el diseño de formulario, busque el subformulario que desea utilizar como encabezado o pie de desbordamiento, seleccione dicho subformulario y proceda del siguiente modo:

    • Vaya a la ficha Subformulario en la paleta Objeto. Asegúrese de que la lista Contenido aparece Colocado. En la paleta Objeto, haga clic en la ficha Subformulario y asegúrese de que está seleccionada la opción De posición variable en la lista Contenido.

    • Vaya a la ficha Enlace en la paleta Objeto. En la paleta Objeto, haga clic en la ficha Enlace y seleccione Repetir subformulario para cada elemento de datos, de modo que los encabezados y pies de desbordamiento aparezcan en caso de haber más de un desbordamiento. Los encabezados y pies de fin de libro no se cuentan en este número.

Aplicar un encabezado o pie de desbordamiento a un subformulario

  1. Seleccione los subformularios que desea que se repitan.

  2. En la paleta Objeto, haga clic en la ficha Enlace y seleccione Repetir subformulario para cada elemento de datos y así definir el subformulario a repetir.

  3. En la paleta Objeto, haga clic en la ficha Paginación y, en el cuadro Desbordamiento, especifique un área de contenido o una página donde el formulario debe colocar los subformularios de desbordamiento.”]

  4. Si desea especificar un encabezado de desbordamiento, en la lista Encabezado de desbordamiento, seleccione el subformulario que desee utilizar como el subformulario de encabezado de desbordamiento para el subformulario de repetición actual. Otra opción consiste en seleccionar la lista Nuevo del encabezado de desbordamiento para crear y asignar un nuevo subformulario de encabezado de desbordamiento.

  5. Si desea especificar un pie de desbordamiento, en la lista Pie de desbordamiento, seleccione el subformulario que desee utilizar como el subformulario de pie de desbordamiento para el subformulario de repetición actual. Otra opción consiste en seleccionar la lista Nuevo del pie de desbordamiento para crear y asignar un nuevo subformulario de pie de desbordamiento.

    Nota: no es necesario utilizar un encabezado de desbordamiento y un pie de desbordamiento a la vez. La presencia de uno de ellos, ambos o ninguno viene determinada por los requisitos del formulario.