Если действия в пакете должны выполняться несколько раз для разных объектов, для пакета нужно включить признак циклического выполнения.
Циклический смарт-пакет.
Для циклического пакета отображаются две дополнительные настройки:
•Список итерируемых объектов - список объектов, над которыми должен выполняться пакет. Список задается смарт-выражением, которое возвращает строку с ID объектов, перечисленными через запятую.
•Условие прерывания цикла - смарт-выражение с условием. Когда условие выполняется, цикл прерывается.
Каждому циклу неявным образом присваивается индекс итерации (счетчик повторов), который доступен в рамках смарт-пакета, вместе с текущим значением итератора (элемента списка итерируемых объектов).
Переменные циклического смарт-пакета.
Переменные цикла доступны в окне редактирования смарт-выражения только в том случае, если в пакете заданы выражения "Список итерируемых объектов" и "Условие прерывания цикла".
Индекс итерации начинается со значения 0.
Выполнение циклического пакета
•вычисляется список итерируемых объектов и запускается цикл, перебирающий эти объекты;
•значение текущего объекта из списка и индекс итерации передаются во все смарт-выражения в действиях пакета;
•выполнение прекращается, когда пакет выполнен для всех объектов списка или когда выполнено условие прерывания цикла.
Смарт-выражение возвращает список номеров строк ДП "Таблица". Например, если таблица содержит таблица содержит три строки, то смарт-выражение вернет список {1, 2, 3}. ![]() Список итерируемых объектов.
|
Поскольку индекс итерации начинает считать с 0, а в данном примере таблица содержит 10 строк, то после трех циклов итерации индекс итерации станет равным 10 - условие прерывания. ![]() Условие прерывания цикла. Если вы обрабатываете все строки таблицы подряд, для обращения к нужной строке таблицы можно использовать индекс итерации - он всегда принимает значения от 0 и по порядку по возрастанию: |
![]() Смарт-выражение генерирует комментарий с текстом из колонки таблицы. Однако если вы обрабатываете не все строки таблицы, а выборочные по определенному условию, то нужно обращаться к списку итерируемых объектов. Например, если под ваше условие подходят только 3 строки из 10, индекс итерации будет принимать значения 0, 1 и 2, а список итерируемых объектов будет возвращать номера 3,5 и 7 (номера строк, подходящих под условие). Обратите внимание, что список итерируемых объектов отдается как строка, а не как число.
|