# Цикл

Цикл позволяет повторить цепочку действий (блоков) несколько раз и при этом посчитать количество итераций цикла, записывая текущее количество в специальную переменную (указанную в свойстве "Цикл"), которую можно затем использовать в других блоках.

При первом входе в блок значение переменной из свойства "Цикл" приравнивается к "Начальному значению" (![](https://483167589-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpyvTUnAaOD3OMZ1w2jM6%2Fuploads%2Foo9qZQPRwvFUwmU8JZ2m%2F%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5.png?alt=media\&token=0a1257b1-cf4a-4ee2-b99f-4f5c1553e912)), а затем выполнение сценария продолжается в сторону выхода "Цикл" данного блока (в так называемое "тело цикла").

<figure><img src="https://483167589-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpyvTUnAaOD3OMZ1w2jM6%2Fuploads%2FqF39Pu78QAtnOX47E0LM%2F%D0%A6%D0%B8%D0%BA%D0%BB.png?alt=media&#x26;token=6859124c-3915-4a31-a581-8086da390ee2" alt=""><figcaption></figcaption></figure>

Как только выполнение сценария вновь дойдет до данного блока, значение переменной "Цикл" увеличится на значение "Шаг", и вновь произойдёт переход в сторону выхода "Цикл". Как только значение переменной "Цикл" станет больше или равно "Конечному значению", выполнение сценария продолжится в сторону нижнего выхода блока. Не забудьте соединить выход последнего блока в теле цикла со входом данного блока или какого-либо из предшествующих блоков.

<table data-header-hidden><thead><tr><th width="247" valign="top"></th><th width="311" valign="top"></th></tr></thead><tbody><tr><td valign="top">Начальное значение</td><td valign="top">[Число] Начальное значение переменной из свойства Цикл, будет присвоено этой переменной в начале цикла.</td></tr><tr><td valign="top">Конечное значение</td><td valign="top"><p>[Число] Конечное значение переменной из свойства Цикл.</p><p>Итерации цикла будут выполняться пока значение переменной Цикл меньше заданного в этом свойстве.</p></td></tr><tr><td valign="top">Шаг</td><td valign="top"><p>[Число] Шаг приращения значения переменной из свойства Цикл в каждой итерации цикла.</p><p>Шаг может иметь отрицательное значение, это полезно когда Начальное значение больше Конечного значения, и требуется считать в обратную сторону.</p></td></tr><tr><td valign="top">Цикл</td><td valign="top">[Число] Переменная, в которую будет записано текущее значение цикла. Например, если: <code>Начальное значение = 0</code>, <code>Конечное значение = 7</code>, а <code>Шаг = 2</code>, то значениями цикла будут последовательно числа <code>0</code>,<code>2</code>,<code>4</code>,<code>6</code>.</td></tr><tr><td valign="top">Уровень обработки</td><td valign="top"><p>Выбор уровня обработки ошибок. Возможные значения:</p><ul><li>"Default" - по умолчанию;</li><li>"Ignore" - ошибки игнорируются;</li><li>"Handle" - ошибки обрабатываются.</li></ul><p>Если выбрано значение "Default", то будет использоваться значение блока "Старт" данной диаграммы.</p></td></tr><tr><td valign="top">Направление выхода</td><td valign="top"><p>Выбор направления выхода из блока при возникновении ошибки. Возможные значения:</p><ul><li>"Default" - по умолчанию;</li><li>"Right" - направо;</li><li>"Bottom" - вниз.</li></ul><p>Данное свойство позволяет определить направление выхода при возникновении ошибок для блоков не содержащих коннектора "Если ошибка" (например, блок "Условие").</p><p>Если выбрано значение "Default", то будет использоваться значение блока "Старт" данной диаграммы.</p></td></tr><tr><td valign="top">Уровень сообщений</td><td valign="top"><p>Выбор уровня сообщений, который будут выводить блоки при работе. Возможные значения:</p><ul><li>"Default" - по умолчанию;</li><li>"Release" - вывод отключен;</li><li>"Debug" - вывод основной информации;</li><li>"Detailed" - вывод подробной информации.</li></ul><p>Если выбрано значение "Default", то будет использоваться значение блока "Старт" данной диаграммы.</p></td></tr><tr><td valign="top">Текст ошибки</td><td valign="top">[Текст] Возвращает подробную информацию об ошибке в случае некорректного выполнения работы блока.</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sherparpa.ru/sherpa-rpa/sherpa-designer/spravochnik-blokov/osnovnye-bloki-main-blocks/cikl-for.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
