Añadir un elemento de iteración

En lugar de copiar y pegar bloques de la plantilla para duplicar las secciones, utilice la propiedad do while condition en elemento de iteración para crear bucles en la plantilla.
Restricción: Icono Nueva característica El elemento de iteración solo está disponibles en plantillas de la versión 2.

Antes de empezar

Acerca de esta tarea

Las iteraciones funcionan con consultas aplicadas a las mismas o a sus elementos hijo en dos etapas. La primera, durante la generación de documentos, estos elementos se procesan una vez. La segunda, las condiciones que se aplican al elemento de iteración se procesan. Si las condiciones son verdades, el elemento de iteración y sus elementos hijo se vuelven a procesar. Las secciones se siguen procesando hasta que la condición deja de ser cierta.

El contenido de un bloque de iteración siempre se publicará al menos una vez, independientemente de la sentencia do-while.

En la primera etapa, los datos que se utilizan en la condición deben cambiar, de forma que haya un número finito de pasos. Esta condición es lo que hace que el proceso de las secciones terminen y no sigan en bucle. En el paso 5 del ejemplo anterior, la condición es que la variable teamList no esté vacía. Así que la condición es cierta siempre que haya entradas de datos para la variable teamList. Cuando no hay más entradas de datos, la condición es falsa y la repetición finaliza.

Para que las consultas se ejecuten varias veces, añada un elemento de configuración de origen de datos dinámico dentro del contendedor del bucle para forzar a las consultas a que se inicialicen más de una vez.

Procedimiento

  1. En la vista Paleta, seleccione un elemento de icono Iteración Iteración y arrástrelo hasta el editor de contenidos de plantilla.
    Nota: No puede colocar elementos de iteración en páginas maestras.
  2. Seleccione la sección de la plantilla para duplicar y arrástrela hasta un elemento de iteración.
  3. Seleccione el elemento de Iteración.
  4. En la vista Propiedades, seleccione el separador Específica.
  5. En el valor condición do while, pulse el icono Configuración.
  6. Seleccione el separador Expresión de script. No puede especificar el script en el separador Valor simple porque crea un bucle infinito.
  7. Seleccione una variable. La creación de un bucle con una variable garantiza que el bucle se aplica un número específico de veces, o como muchos valores de datos que se aplican utilizando esta variable.
  8. Especifique el script.
  9. Pulse Aceptar.
  10. Guarde los cambios.

Ejemplo

Creación de una lista de miembros de equipo que se utilizarán:
  1. Cree una variable externa llamada teamList.
  2. Cree una variable externa llamada currentMember.
  3. Cree un elemento de tabla y aplique una condición:
    1. Añada un elemento de icono Tabla Tabla al editor de contenidos de plantilla.
    2. Entre 1 columna y 2 filas
    3. Pulse con el botón derecho del ratón en el elemento de tabla y seleccione Datos > Editar condición.
    4. Seleccione la variable teamList.
    5. Para el operando izquierdo, seleccione la variable teamList.
    6. Para el operador, seleccione No es igual que.
    7. Para el operando derecho, no especifique un valor.
    8. Pulse Añadir. El resultado del script es: teamList != ""
    9. Pulse Aceptar.
  4. En la primera celda, añada una cabecera para una columna:
    1. Añada un elemento de icono Texto Texto a la celda.
    2. Efectúe una doble pulsación en el elemento de texto para abrir el editor de contenido.
    3. Entre un nombre de cabecera como Lista de miembros de equipo.
    4. Pulse Aceptar.
    5. En la vista Propiedades, seleccione el separador Font.
    6. Pulse la propiedad Negrita.
    7. Seleccione True y pulse Aceptar.
  5. Añada el elemento de iteración.
    1. Arrastre el elemento de icono Iteración de iteración desde la vista Paleta y colóquelo entre las filas de la tabla.
    2. Seleccione el elemento de Iteración.
    3. En la vista Propiedades, especifique este script para la propiedad condición do while: teamList != ""
    4. Añada dos elementos de icono Contenedor contenedor en el elemento de iteración. El primer contenedor se utiliza para calcular el primer nombre de la lista que se utilizará en la fila actual. El segundo contenedor se utiliza para terminar el bucle, así que no continúa innecesariamente.
    5. Arrastre la segunda fila y su contenido en el elemento de iteración y colóquelo detrás de los elementos de contenedor.
  6. Asigne una variable al primer elemento de contenedor:
    1. Pulse con el botón derecho del ratón en el primer elemento de contenedor.
    2. Seleccione Datos > Editar asignaciones
    3. Pulse Añadir.
    4. Seleccione la variable currentMember y pulse Aceptar.
    5. Seleccione el separador Expresión de script.
    6. Seleccione la variable teamList y especifique el script:
      var pos = teamList.indexOf( ",");
      
      if ( pos >=0)
      {
         // obtener el primer miembro ( hasta la primera coma)
          teamList.substr( 0, pos);
      }
      else
      {
          // último miembro
          teamList;
      }
    7. Pulse Aceptar y Aceptar.
  7. Asigne una variable al segundo elemento de contenedor:
    1. Pulse con el botón derecho del ratón en el segundo elemento de contenedor.
    2. Seleccione Datos > Editar asignaciones
    3. Pulse Añadir.
    4. Seleccione la variable teamList y pulse Aceptar.
    5. Seleccione el separador Expresión de script.
    6. Seleccione la variable teamList y especifique el script:
      var pos = teamList.indexOf( ",");
      
      if ( pos >=0 && pos < teamList.length)
      {
         // obtener el primer autor ( hasta la primera coma)
          teamList.substr( pos + 1);
      }
      else
      {
          // último miembro, elimínelo
          ""
      }
  8. Arrastre la variable currentMember desde la vista Esquema hasta la celda de la segunda fila.
  9. Pruebe la salida.