Практика с объяснением
Тренажёр чтения кода 1С:
выберите ответ и разберите ход решения
Шесть коротких фрагментов: циклы, соответствие, условие и серверная директива. Сначала выберите ответ самостоятельно, затем сравните ход мысли с объяснением.
- Один вопрос на экране
- Объяснение после ответа
- Повторение сложных тем
- Без регистрации и отправки ответов
Содержание
Как заниматься с тренажёром
Отведите несколько спокойных минут. Не открывайте объяснение до выбора ответа. Для цикла выпишите значения после каждого прохода, для коллекции — её содержимое после каждой вставки.
Неправильный ответ не отнимает попытки. После проверки переходите дальше или вернитесь к уже разобранному вопросу. Чтобы проверить себя заново, начните новую попытку; не считайте повтор после чтения объяснений независимой проверкой знаний.

Какой итог даст цикл?
Проследите фрагмент вручную. Какие значения окажутся в переменных после последней строки?
Итог = 0;
Для Номер = 1 По 4 Цикл
Итог = Итог + Номер;
КонецЦикла;Показать ответ и объяснение
Ответ: 10. Границы от 1 до 4 включаются в обход. Итог меняется так: 0 → 1 → 3 → 6 → 10. Здесь суммируются значения, а не считается число проходов.
Проверьте себя. Измените одно исходное значение и снова объясните результат без запуска.
Почему осталась только последняя цена?
Проследите фрагмент вручную. Какие значения окажутся в переменных после последней строки?
Цены = Новый Массив;
Цены.Добавить(100);
Цены.Добавить(200);
Итог = 0;
Для Каждого Цена Из Цены Цикл
Итог = Цена;
КонецЦикла;Показать ответ и объяснение
Ответ: Присваивание заменяет итог на каждом проходе. Строка Итог = Цена заменяет накопленное значение. После двух проходов получится 200. Для суммы нужно Итог = Итог + Цена, тогда получится 300.
Проверьте себя. Измените одно исходное значение и снова объясните результат без запуска.
Что вернёт Получить("А")?
Проследите фрагмент вручную. Какие значения окажутся в переменных после последней строки?
Цены = Новый Соответствие;
Цены.Вставить("А", 100);
Цены.Вставить("А", 150);
Результат = Цены.Получить("А");Показать ответ и объяснение
Ответ: 150. Повторный ключ заменяет прежнее значение. В соответствии одна пара с ключом «А» и значением 150. Две цены не складываются автоматически.
Проверьте себя. Измените одно исходное значение и снова объясните результат без запуска.
Где выполняется эта функция?
Фрагмент размещён в модуле управляемой формы. Определите место выполнения по директиве.
&НаСервереБезКонтекста
Функция Удвоить(Знач Число)
Возврат Число * 2;
КонецФункцииПоказать ответ и объяснение
Ответ: На сервере, без контекста формы. Директива указывает серверное выполнение без контекста формы. Число передано явно. Для такого умножения сервер не требуется; здесь показано чтение директивы, а не рекомендация делать лишний вызов.
Проверьте себя. Измените одно исходное значение и снова объясните результат без запуска.
Каким станет Количество?
Проследите фрагмент вручную. Какие значения окажутся в переменных после последней строки?
Количество = 0;
Для Х = 1 По 5 Цикл
Если Х % 2 <> 0 Тогда
Продолжить;
КонецЕсли;
Количество = Количество + 1;
КонецЦикла;Показать ответ и объяснение
Ответ: 2. Продолжить пропускает оставшуюся часть текущего прохода для нечётных 1, 3 и 5. Увеличение выполняется только для 2 и 4. Ответ — 2.
Проверьте себя. Измените одно исходное значение и снова объясните результат без запуска.
Что лежит в Результат?
Проследите фрагмент вручную. Какие значения окажутся в переменных после последней строки?
Цены = Новый Соответствие;
Цены.Вставить("А", 0);
Результат = Цены.Получить("Б");Показать ответ и объяснение
Ответ: Неопределено. Ключ «Б» не найден, поэтому Получить возвращает Неопределено. Ноль сохранён под другим ключом «А» и не становится значением по умолчанию для всех ключей.
Проверьте себя. Измените одно исходное значение и снова объясните результат без запуска.
Что делать с результатом
Верный вариант сам по себе ещё не означает, что тема усвоена. Попробуйте изменить границу цикла, добавить неизвестный ключ или передать другое число. Объяснение должно сохранять смысл и на новых данных.
Если ошиблись несколько раз в одной теме, возьмите маленькую задачу уровнем ниже. Исправьте её, проверьте результат и только потом возвращайтесь. Баллы этого тренажёра не подтверждают готовность к работе или собеседованию.
Следующая самостоятельная попытка — форма расчёта заказа с проверкой ввода. Здесь нужно уже изменить поведение, а не выбрать готовый ответ.
Самопроверка
Частые вопросы
Здесь выполняется код 1С?
Нет. Проверяется выбранный вариант ответа. Фрагменты предназначены для чтения; браузер не запускает BSL.
Сохраняются ли ответы на сервере?
Нет. Ответы находятся в памяти страницы. После перезагрузки попытка начинается заново.
Это замена практике в конфигураторе?
Нет. После объяснения повторите тему в собственной учебной базе и проверьте изменённый пример.
Первичные источники
Что проверить дополнительно
Полезный материал
Поделиться статьёй
Сохраните материал или отправьте его тому, кому он пригодится.
Следующий шаг
Теперь попробуйте найти ошибку самостоятельно
В тренажёре код-ревью — 50 бесплатных заданий на поиск ошибок в чужом коде. Отметьте проблемные строки, объясните причину и сравните результат с проверкой. Это самостоятельная тренировка, не проверка вашей работы ментором.
Нужен бесплатный вход. AI-раздел и практика с проверкой ментором имеют отдельные условия доступа. В «1С код» действуют лимиты попыток и восстановление жизней.