Для Каждого: получить значения коллекции без индексов

Учебные задачи

Переменная цикла получает очередной элемент, а не номер его позиции.

Где и как запускать

Полный серверный общий модуль учебной базы. Собственные значения в памяти, без чтения или записи рабочих данных.

Подготовка

  1. Используйте отдельную учебную базу без рабочих данных. Создайте серверный общий модуль УчебныйЯзык с флагом Сервер, без Привилегированный.

  2. Вставьте весь модуль выбранного примера, а не одну процедуру внутрь другой. Из своей серверной команды учебной обработки вызовите УчебныйЯзык.ВыполнитьПример().

  3. Все числа, строки и коллекции созданы в самом примере. Документы, регистры, файловая система и сеть не используются; никаких зависимостей от КА2/УНФ/УТ/БП нет.

  4. Браузер показывает код, но не исполняет BSL. Проверки результата нужно выполнить вручную на платформе 8.5.1.1343 в учебной базе.

Процедура ВыполнитьПример() Экспорт
    Цены = Новый Массив;
    Цены.Добавить(100);
    Цены.Добавить(50);
    Цены.Добавить(250);
    Сумма = 0;
    КоличествоЦен = 0;
    Для Каждого Цена Из Цены Цикл
        Сумма = Сумма + Цена;
        КоличествоЦен = КоличествоЦен + 1;
    КонецЦикла;
    Сообщить(Сумма = 400);
    Сообщить(КоличествоЦен = 3);
КонецПроцедуры

Разбор по шагам

  1. Создать собственную коллекцию 100/50/250.

  2. В первой итерации Цена=100, затем 50, затем 250.

  3. Накопить сумму и число обработанных значений.

  4. В пустой коллекции тело не исполняется; оба накопителя остаются 0.

Как проверить результат

  1. Два сообщения Истина, обработано три значения, сумма 400.

  2. Не подставляйте Цена в Цены[Цена]: это значение цены, не индекс.

Ожидаемый результат

Обход элементов объяснён на конкретной коллекции и сопоставлен с индексным циклом.

На что обратить внимание

  1. Имя после Каждого — переменная элемента.

  2. Не меняйте структуру коллекции во время обхода без проверки контракта конкретного типа.

  3. Из указывает коллекцию, а не SQL-источник.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.