Přeskočit obsah

Loop Action

Akce Loop opakovaně provádí vnořené akce nad datovým zdrojem. Podporuje různé typy datových zdrojů — číselné rozsahy, oddělené řetězce, JSON, XML a SharePoint seznamy.

Vlastnosti

Vlastnost Popis Hodnota / Komentář
Type Typ datového zdroje. InfinityLoop / Numeric / SeparatedString / JSON / SP / XML
DataSource Definice datového zdroje. Podporuje tokeny. Formát závisí na hodnotě Type.
DataSourceConfiguration Konfigurace datového zdroje ve formátu JSON. Podporuje tokeny.
Expression JavaScript výraz pro podmínku pokračování cyklu. Podporuje tokeny. Vyhodnocuje se na začátku a po každé iteraci. parseInt('{var:LoopIndex}') < 10
Limit Maximální počet iterací (ochrana proti nekonečné smyčce). Výchozí hodnota: 1000. 100
Actions Vnořené akce provedené v každé iteraci.
Label Popisný štítek zobrazený v editoru akcí.
Disabled Pokud je akce deaktivována, její vykonání se přeskočí. Vypnuto / Zapnuto

Proměnné smyčky

V každé iteraci jsou k dispozici tyto proměnné:

Proměnná Alias Popis
{loop:Index} {wf:LOOP_INDEX} Pořadové číslo aktuální iterace (od 1, resp. od 0 u {wf:}).
{loop:ItemKey} {wf:LOOP_ITEM_KEY} Klíč aktuální položky datového zdroje.
{loop:ItemValue} {wf:LOOP_ITEM_VALUE} Hodnota aktuální položky datového zdroje.
{loop:ItemsCount} {wf:LOOP_ITEMS_COUNT} Celkový počet položek v datovém zdroji.

Viz také Token {wf:}.

Typy datových zdrojů

InfinityLoop

Nekonečný cyklus, který se ukončí pouze podmínkou Expression, akcí Break nebo dosažením Limit.

Numeric

Iterace přes číselný rozsah nebo výčet. Formáty DataSource: - Rozsah: 1..10 nebo [5..30] - Výčet: 1,5,6,7 nebo 1|5|6|7

SeparatedString

Iterace přes oddělený řetězec. DataSourceConfiguration (JSON): - Separator — pole oddělovačů (výchozí: [";", "\r\n"]) - Trim — oříznutí mezer (výchozí: true) - RemoveEmptyEntries — vynechat prázdné hodnoty (výchozí: true) - Reverse — obrátit pořadí (výchozí: false) - Distinct — odstranit duplicity (výchozí: false)

JSON

Iterace přes JSON pole nebo objekt. DataSourceConfiguration (JSON): - KeyExpression — JSONPath výraz pro klíč - ValueExpression — JSONPath výraz pro hodnotu - Reverse — obrátit pořadí (výchozí: false)

XML

Iterace přes XML uzly. DataSourceConfiguration (JSON): - SourceExpression — XPath výraz pro výběr uzlů - KeyExpression — XPath výraz pro klíč - ValueExpression — XPath výraz pro hodnotu - Reverse — obrátit pořadí (výchozí: false)

SP

Iterace přes položky SharePoint seznamu. DataSource obsahuje název seznamu. DataSourceConfiguration (JSON): - CAML — CAML dotaz pro filtrování - Scope — rozsah dotazu - KeyField — interní název pole pro klíč - ValueField — interní název pole pro hodnotu - UseContextItem — nastavit každou položku jako kontextovou (výchozí: false)

Příklady

Příklad: Iterace přes oddělený řetězec

<Loop Type="SeparatedString" DataSource="{item:Recipients}">
  <Actions>
    <SendMail
      EmailTo="{loop:ItemValue}"
      EmailSubject="Oznámení pro {loop:ItemValue}" />
  </Actions>
</Loop>

Příklad: Iterace přes JSON pole

<Loop Type="JSON" DataSource="{var:ProductsJson}">
  <Actions>
    <SetVariable Variable="CurrentProduct" Value="{loop:ItemValue}" />
  </Actions>
</Loop>

Příklad: Iterace přes položky SharePoint seznamu

<Loop Type="SP" DataSource="Tasks"
  DataSourceConfiguration='{"CAML":"&lt;Eq&gt;&lt;FieldRef Name=\"Status\" /&gt;&lt;Value Type=\"Text\"&gt;Open&lt;/Value&gt;&lt;/Eq&gt;","UseContextItem":true}'>
  <Actions>
    <SetFieldValue TargetField="Status" Value="Closed" />
  </Actions>
</Loop>