«Apply to each» в Power Automate: понять, контролировать и избежать цикла

«Auf alle anwenden» обрабатывает списки поэлементно и часто появляется непреднамеренно. Как работает цикл, почему он замедляет работу и когда его можно убрать.

«Apply to each», в немецком интерфейсе «Auf alle anwenden», это цикл Power Automate: он выполняет содержащиеся шаги для каждого элемента списка по отдельности, для каждого письма, каждой строки, каждого вложения. Две особенности делают его самым обсуждаемым компонентом платформы: он часто появляется автоматически, без того чтобы его вставляли, и он является самой частой причиной, по которой потоки становятся медленными. У обоих одна и та же причина, и оба поддаются контролю. Актуально на: июль 2026.

Почему «Apply to each» появляется сам по себе?

Power Automate автоматически вставляет цикл, как только вы используете динамическое содержимое, являющееся списком, даже если вы ожидаете только один элемент. Классический случай: запрос SharePoint технически всегда возвращает список, даже если существует только один результат, и конструктор сразу оборачивает следующий шаг в «Auf alle anwenden». Тот, кто хочет обратиться именно к отдельному элементу, обходит цикл с помощью формулы вроде first над результатом запроса или заранее фильтрует список до ровно одного результата. Таким образом, цикл это не ошибка, а честный ответ системы на список, только не всегда желаемый.

Что делает цикл медленным и что помогает

  • По умолчанию он выполняется последовательно: один элемент за другим. В настройках цикла можно включить параллельность, до 50 одновременных выполнений, что значительно сокращает длительные прогоны. Осторожность нужна только тогда, когда важен порядок или записывается переменная, это плохо сочетается с параллельностью.
  • Каждый шаг в цикле считается действием: при 500 элементах и 4 шагах это 2000 действий против дневной квоты лицензии. Компактные циклы экономят реальные деньги.
  • По умолчанию поступают только первые элементы: многие коннекторы без пагинации возвращают лишь часть списка, часто 100 записей. Тот, кто обрабатывает больше, включает пагинацию в настройках шага запроса и устанавливает соответствующий лимит.

Высшее искусство: полностью избежать цикла

Самые быстрые циклы это те, которые никогда не выполняются. Три паттерна заменяют «Apply to each» во многих случаях: «Фильтр массива» сокращает список до подходящих элементов без цикла, «Выбрать (Select)» преобразует все элементы за один шаг, а формулы вроде join или concat строят текст напрямую из списка, например для сводного письма. Поток, который сначала фильтрует, затем преобразует с помощью Select и отправляет результат за один шаг, выполняет за три действия то, для чего варианту с циклом требуются сотни. Такие паттерны это разница между самодельным потоком и потоком, который проходит и при 5000 записей, и именно этому мастерству мы обучаем в нашем консультировании по Power Automate. Родственный компонент немецкого интерфейса объясняет наша статья о «Составить (Compose)».

Часто задаваемые вопросы об «Apply to each»

Как получить значение из цикла?

Заполнение переменной внутри цикла это обычный способ: инициализировать её перед циклом, дополнять или увеличивать внутри, использовать далее после цикла. Однако при параллельно выполняющихся циклах это рискованно, поскольку одновременные операции записи могут перекрывать друг друга, в этом случае лучше работать последовательно или формировать результат с помощью «Выбрать (Select)» и join полностью без переменной.

Почему мой цикл обрабатывает только 100 элементов?

Потому что предшествующий шаг запроса без включённой пагинации возвращает только первую страницу результатов, у многих коннекторов это 100 записей. Решение находится не в цикле, а в шаге запроса: включить пагинацию в его настройках и установить порог на ожидаемое количество.

Могу ли я вкладывать циклы друг в друга?

Да, «Apply to each» можно вкладывать, например для заказов с позициями. Однако при этом количество действий умножается, и читаемость быстро страдает. Хорошо зарекомендовало себя выносить внутреннюю обработку в отдельный дочерний поток или заранее преобразовывать структуру данных с помощью «Выбрать (Select)» так, чтобы хватало одного уровня.

О NordFlux

NordFlux UG (haftungsbeschränkt)

NordFlux создаёт цифровых сотрудников для организаций: автоматизации и КИ-агентов, которые берут на себя повторяющуюся работу. Вы сохраняете контроль.

Больше о нас
Бесплатный первичный анализ

Конкретные вопросы по автоматизации или КИ?

В рамках бесплатного первичного анализа мы напрямую обсудим Ваш случай. Без обязательств.