Циклы в 1С

Циклы в 1с

Для решения задач, поставленных перед программистом, целесообразно использовать циклы. С их помощью можно заметно упростить код и сократить его количество. В 1С существуют 3 цикла: "Для", "Пока" и "Для каждого Из".

Обычно циклы используются при работе с коллекциями значений, то есть массивами, структурами, соответствиями. Однако для более глубокого понимания можно привести более простой пример. Предположим, что перед программистом стоит задача дать компьютеру команду выполнять определенные действия некоторое количество раз. Скажем, нужно вывести сообщение "Привет!" 10 раз на экран. Без циклов придется набирать 10 одинаковых строк кода : Сообщить("Привет!");

Циклы "Для" и "Пока"

С циклами все куда проще. Задачу можно решить так:

циклы

На изображении представлены 2 вида цикла, с помощью которых можно получить желаемый результат.

Разберем синтаксис. Сам цикл оборачивается командами "Цикл" и "КонецЦикла;". Перед началом цикла прописывается условие - то, что будет проверяться на каждой итерации (повторении).

Как видим, структура цикла примерно одинакова: есть некоторое условие и действия, которые предписываем выполнять. Таким образом, сперва программа проверяет условие, после чего начинает выполнять действия, указанные внутри цикла разработчиком. В данном случае вышеуказанные циклы работают аналогично. В ходе выполнения задается Счетчик, равный нулю. Далее выводим на экран сообщение и увеличиваем Счетчик на 1. После чего повторяем это 10 раз, так как указано в условии.

Цикл "Для каждого Из"

На практике чаще приходится использовать иной цикл - Для каждого Из. Выглядит он так:

для каждого цикл

С его помощью осуществляется перебор элементов той или иной коллекции значений. Синтаксис схож с предыдущими циклами. Внутри самого цикла осуществляется выполнение действия, но условие задается несколько иначе. В данном случае работа осуществляется с массивом, содержащим 2 элемента. Элемент массива с индексом [0]  - строка "Номер 1" и элемент массива с индексом [2] - строка "Номер 2".

Элемент (тот, что в условии цикла) - это некая переменная, куда мы помещаем значения из массива. На каждой итерации (повторении) мы "шагаем по массиву"  и перебираем его элементы. На первой итерации мы получим значение с индексом "0", а на второй - с индексом "1" (нумерация элементов массива начинается с нуля!). Таким образом, на экране будет выведено 2 сообщения: "Номер 1" и "Номер 2".

Особое внимание!

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

В данном случае программа выполняет один и тот же кусок кода и вычисляет результат сложения чисел 1000 раз, поскольку цикл выполнится 1000 раз.

нев

Исправим ошибку и вынесем вычисления за цикл.

вер

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.