Цикл ДляВсех |
Большинство используемых в программе операций обрабатывает объекты (речь о них пойдет ниже). Данный цикл перебирает объекты, входящие в состав более сложного объекта. Так строка документа имеет свой набор данных, отличающийся от набора данных самого документа, и можно сказать, что эта строка также является объектом, и тогда перебор наименований документа можно свести к перебору объектов типа строка документа (Наим) внутри объекта Документ. Из этих соображений можно сказать, что оператор ДляВсех всегда вносит в операцию новый объект данных, который будет считаться при выполнении тела цикла текущим контекстом.. Как только цикл завершается, внесенный объект удаляется и возвращается старый контекст.
В общем случае конструкция типа:
ДляВсех(Наименований()) # цикл по
каждому наименованию
{
Тело цикла
}
называется циклом по наименованиям.
Разберем ее более подробно.
Условно все это выражение можно разбить на две части:
ДляВсех() - оператор перебора
Наименований() - функция, перебирающая строки
Оператор перебора ДляВсех() указывает на то, что далее последует перебор отдельных позиций. В круглых скобках, следующих за оператором, указывается функция, обеспечивающая выбор очередной строки.
Функция Наименований обеспечивает выбор очередной строки документа. Вообще функций такого типа в программе несколько. Они позволяют перебирать не только наименования накладной или счета, но и связанные документы (функции Оснований(), Связей()), объекты аналитического учета (функция Лиц()) и т.д.)