2. Редакторы и общие инструменты
#12

Готовишься к экзамену?

Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.

Перейти в бота

Для чего используется синтаксический контроль?

Для проверки выделенного фрагмента модуля на правильность использования синтаксических конструкций встроенного языка
Неправильно: Проверка выполняется для модуля целиком (редактируемого модуля), а не «ограничивается выделением». Если нужно анализировать конкретное место, выделение помогает лишь быстрее найти участок, но сам механизм проверяет весь модуль.
Для проверки программных модулей на правильность использования синтаксических конструкций встроенного языка
Правильно: Синтаксический контроль предназначен для обнаружения синтаксических и компиляционных ошибок в модуле: неверные конструкции языка, пропущенные ключевые слова, ошибки в структуре выражений и т.п. Результат проверки отображается списком ошибок/предупреждений с переходом к проблемной строке.
Для проверки отсутствия логических ошибок
Неправильно: Синтаксический контроль не оценивает правильность бизнес-логики и не доказывает корректность алгоритма. Он проверяет лишь корректность кода с точки зрения языка (и ряда компиляционных проверок), а логика проверяется тестированием, отладкой и анализом требований.
Варианты 1 и 2
Неправильно: Вариант 2 отражает назначение проверки, но вариант 1 неверен из-за утверждения про «только выделенный фрагмент». Поэтому комбинация 1 и 2 не может быть правильной.
Варианты 2 и 3
Неправильно: Проверка действительно выявляет синтаксические/компиляционные ошибки (вариант 2), но не гарантирует отсутствие логических ошибок (вариант 3). Следовательно, сочетание 2 и 3 неверно.
Верны все варианты
Неправильно: Механизм не предназначен для поиска логических ошибок и не выполняет проверку «только выделенного фрагмента» как отдельный режим. Поэтому утверждение о верности всех пунктов ошибочно.

Пояснение

Синтаксический контроль (в новых версиях часто называется «Проверка модуля») - это инструмент разработчика в конфигураторе, который компилирует редактируемый модуль и сообщает о синтаксических/компиляционных ошибках. Его цель - быстро поймать ошибки уровня языка до запуска: пропущенный «КонецЕсли», неверное расположение «Иначе», лишняя/недостающая скобка, неправильное объявление процедуры/функции, ошибочная конструкция цикла и т.п. Как это обычно используют на практике: - Во время редактирования кода запускают проверку модуля (часто горячей клавишей вроде Ctrl+F7). Внизу появляется список ошибок; по двойному клику 1С переводит курсор на строку с ошибкой. - Проверка относится к модулю целиком, даже если вы выделили небольшой участок текста. Выделение не делает «частичную проверку», поэтому после правок в одном месте проверяйте весь модуль. - Если нужно проверить не один модуль, а сразу всю конфигурацию (или множество модулей), используют отдельную команду проверки модулей/конфигурации - это другой инструмент, но идея та же: найти синтаксические ошибки до запуска. Чего синтаксический контроль НЕ делает: - Не находит логические ошибки: например, неверную формулу расчета, неправильное условие отбора, перепутанные знаки сравнения, ошибки в бизнес-правилах. - Не заменяет тестирование: даже «чистый» по синтаксису модуль может работать неправильно. Мини-пример: Вы написали: Если Сумма > 0 Тогда Сообщить("ОК"); // забыли КонецЕсли Проверка модуля сразу выдаст ошибку структуры и укажет место, где ожидается завершение конструкции. А вот ошибку вроде «вместо > нужно было >=» синтаксический контроль не обнаружит - это проверяется тестом/отладкой.