Цикл ДляВсех

Большинство используемых в программе операций обрабатывает объекты (речь о них пойдет ниже). Данный цикл перебирает объекты, входящие в состав более сложного объекта. Так строка документа имеет свой набор данных, отличающийся от набора данных самого документа, и можно сказать, что эта строка также является объектом, и тогда перебор наименований документа можно свести к перебору объектов типа строка документа (Наим) внутри объекта Документ. Из этих соображений можно сказать, что оператор ДляВсех всегда вносит в операцию новый объект данных, который будет считаться при выполнении тела цикла текущим контекстом.. Как только цикл завершается, внесенный объект удаляется и возвращается старый контекст.

В общем случае конструкция типа:

ДляВсех(Наименований())  # цикл по каждому наименованию
{
   Тело цикла
}

называется циклом по наименованиям.

Разберем ее более подробно.

Условно все это выражение можно разбить на две части:

ДляВсех() - оператор перебора
Наименований() - функция, перебирающая строки

Оператор перебора ДляВсех() указывает на то, что далее последует перебор отдельных позиций. В круглых скобках, следующих за оператором, указывается функция, обеспечивающая выбор очередной строки.

Функция Наименований обеспечивает выбор очередной строки документа. Вообще функций такого типа в программе несколько. Они позволяют перебирать не только наименования накладной или счета, но и связанные документы (функции Оснований(), Связей()), объекты аналитического учета (функция Лиц()) и т.д.)