Iterationselement hinzufügen

Anstatt Blöcke aus Ihrer Vorlage zu kopieren und einzufügen, können Sie zum Duplizieren von Abschnitten die Eigenschaft do while condition im Iterationselement verwenden, um Schleifen in Ihrer Vorlage zu erstellen.
Einschränkung: Symbol für neues Feature Das Iterationselement ist nur in Vorlagen der Version 2 verfügbar.

Vorbereitende Schritte

Informationen zu diesem Vorgang

Werden Abfragen auf Iterationen oder ihre untergeordneten Elemente angewendet, durchlaufen die Iterationen zwei Phasen. Zuerst werden diese Elemente während der Dokumentgenerierung einmal verarbeitet. Danach werden die auf das Iterationselement angewendeten Bedingungen verarbeitet. Wenn die Bedingungen wahr sind, werden das Iterationselement und seine untergeordneten Elemente erneut verarbeitet. Die Abschnitte werden nacheinander verarbeitet, bis die Bedingung nicht mehr wahr ist.

In der ersten Phase müssen die in der Bedingung verwendeten Daten geändert werden, damit sich eine endliche Zahl von Schritten ergibt. Aufgrund dieser Bedingung wird die Verarbeitung der Abschnitte zu einem Ende geführt, anstatt in einer Schleife fortgesetzt zu werden. In Schritt 5 des Beispiels weiter unten ist als Bedingung definiert, dass die Variable teamList nicht leer ist. Daher ist die Bedingung wahr, solange Dateneinträge für die Variable teamList existieren. Wenn keine weiteren Dateneinträge existieren, ist die Bedingung falsch und die Wiederholung endet.

Damit Abfragen mehrere Male ausgeführt werden, nehmen Sie ein Element für dynamische Datenquellenkonfiguration in den Schleifencontainer auf, um zu erzwingen, dass die Abfragen mehrere Male initialisiert werden.

Vorgehensweise

  1. Wählen Sie in der Sicht "Palette" ein Element Iterationssymbol Iteration aus und ziehen Sie es in den Vorlageninhaltseditor.
    Anmerkung: Iterationselemente können nicht in Stammseiten aufgenommen werden.
  2. Wählen Sie den Abschnitt der Vorlage aus, der dupliziert werden soll, und ziehen Sie ihn in ein Iterationselement.
  3. Wählen Sie das Element Iteration aus.
  4. Wählen Sie in der Sicht "Eigenschaften" das Register Spezifisch aus.
  5. Klicken Sie neben dem Eintrag DO-While-Bedingung: auf das Symbol Konfiguration, um einen Wert festzulegen.
  6. Wählen Sie das Register Scriptausdruck aus. Sie können das Script nicht auf der Registerkarte "Einfacher Wert" eingeben, weil dies eine Endlosschleife erzeugt.
  7. Wählen Sie eine Variable aus. Wenn Sie eine Schleife mit einer Variablen erstellen, wird sichergestellt, dass die Schleife eine bestimmte Anzahl von Ausführungen durchläuft oder dass eine bestimmte Anzahl von Datenwerten angewendet wird, die mit dieser Variablen festgelegt wurde.
  8. Geben Sie das Script ein.
  9. Klicken Sie auf OK.
  10. Speichern Sie die Änderungen.

Beispiel

Erstellen einer Liste von Teammitgliedern:
  1. Erstellen Sie eine externe Variable mit dem Namen teamList.
  2. Erstellen Sie eine externe Variable mit dem Namen currentMember.
  3. Erstellen Sie ein Tabellenelement und wenden Sie eine Bedingung an:
    1. Nehmen Sie in den Vorlageninhaltseditor ein Element des Typs "Tabelle" Tabellensymbol auf.
    2. Geben Sie 1 Spalte und 2 Zeilen ein.
    3. Klicken Sie mit der rechten Maustaste auf das Tabellenelement und wählen Sie Daten > Bedingung bearbeiten aus.
    4. Wählen Sie die Variable teamList aus.
    5. Wählen Sie für "Linker Operand" die Variable teamList aus.
    6. Wählen Sie als Operator Ungleich aus.
    7. Geben Sie für "Rechter Operand" keinen Wert ein.
    8. Klicken Sie auf Hinzufügen. Das Scriptergebnis ist wie folgt: teamList != ""
    9. Klicken Sie auf OK.
  4. Fügen Sie in der ersten Zelle eine Überschrift für die Spalte ein:
    1. Fügen Sie der Zelle ein Element des Typs "Text" Symbol 'Text' hinzu.
    2. Klicken Sie doppelt auf das Textelement, um den Inhaltseditor zu öffnen.
    3. Geben Sie eine Überschrift ein, z. B. Liste der Teammitglieder.
    4. Klicken Sie auf OK.
    5. Wählen Sie in der Sicht "Eigenschaften" das Register Schriftart aus.
    6. Klicken Sie auf die Eigenschaft Fett.
    7. Wählen Sie Wahr aus und klicken Sie auf OK.
  5. Fügen Sie das Iterationselement hinzu:
    1. Ziehen Sie das Element "Iteration" Iterationssymbol aus der Sicht "Palette" und platzieren Sie es zwischen den Zeilen der Tabelle.
    2. Wählen Sie das Element Iteration aus.
    3. Geben Sie in der Sicht "Eigenschaften" dieses Script für die Eigenschaft do while condition ein: teamList != ""
    4. Fügen Sie dem Iterationselement zwei Elemente des Typs "Container" Containersymbol hinzu. Der erste Container wird verwendet, um den ersten Namen der Liste zu ermitteln, der in der aktuellen Zeile verwendet werden soll. Der zweite Container wird verwendet, um die Schleife zu beenden, damit sie nicht unnötig fortgesetzt wird.
    5. Ziehen Sie die zweite Zeile und ihren Inhalt in das Iterationselement und platzieren Sie sie zwischen den Containerelementen.
  6. Ordnen Sie dem ersten Containerelement eine Variable zu:
    1. Klicken Sie mit der rechten Maustaste auf das erste Containerelement.
    2. Wählen Sie Daten > Zuordnungen bearbeiten aus.
    3. Klicken Sie auf Hinzufügen.
    4. Wählen Sie die Variable currentMember aus und klicken Sie auf OK.
    5. Wählen Sie das Register Scriptausdruck aus.
    6. Wählen Sie die Variable teamList aus und geben Sie das Script ein:
      var pos = teamList.indexOf( ",");
      
      if ( pos >=0)
      {
         // erstes Mitglied abrufen (bis zum ersten Komma)
          teamList.substr( 0, pos);
      }
      else
      {
          // letztes Mitglied
          teamList;
      }
    7. Klicken Sie auf OK und dann erneut auf OK.
  7. Ordnen Sie dem zweiten Containerelement eine Variable zu:
    1. Klicken Sie mit der rechten Maustaste auf das zweite Containerelement.
    2. Wählen Sie Daten > Zuordnungen bearbeiten aus.
    3. Klicken Sie auf Hinzufügen.
    4. Wählen Sie die Variable teamList aus und klicken Sie auf OK.
    5. Wählen Sie das Register Scriptausdruck aus.
    6. Wählen Sie die Variable teamList aus und geben Sie das Script ein:
      var pos = teamList.indexOf( ",");
      
      if ( pos >=0 && pos < teamList.length)
      {
         // ersten Autor abrufen (bis zum ersten Komma)
          teamList.substr( pos + 1);
      }
      else
      {
          // letztes Mitglied, dieses entfernen
          ""
      }
  8. Ziehen Sie die Variable currentMember aus der Sicht "Gliederung" in die Zelle in der zweiten Zeile.
  9. Testen Sie die Ausgabe.

Feedback