К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как в 1С закомментировать несколько строк кода

Как закомментировать несколько строк в 1С: горячие клавиши Ctrl+/, команда меню, снятие комментария, особенности модуля и частые ошибки разработчиков.

Комментирование кода — одна из самых частых операций при разработке и отладке в 1С. Закомментировать фрагмент нужно, когда требуется временно отключить часть алгоритма, проверить гипотезу об ошибке или оставить пояснение для коллег. В конфигураторе 1С для этого есть встроенные средства: горячие клавиши и команды меню, которые работают сразу с выделенным блоком строк.

Комментарий во встроенном языке 1С начинается с двойного слэша //. Всё, что находится после этих символов до конца строки, компилятор игнорирует. Многострочных комментариев вида / ... /, как в C или SQL, во встроенном языке 1С нет — поэтому для отключения блока кода каждую строку помечают отдельно, и именно здесь помогают инструменты группового комментирования.

Механизм одинаково работает в модулях объектов, общих модулях, модулях форм и обработчиках событий. Ниже разобраны все практические способы: от стандартной комбинации клавиш до нюансов с региональными раскладками и типичных ошибок при отладке.

Быстрый способ: горячие клавиши Ctrl+/

Основной инструмент — комбинация Ctrl+/ (клавиша Control плюс косая черта). Она работает в редакторе модулей конфигуратора и обрабатывает весь выделенный фрагмент за одно нажатие: в начало каждой строки добавляются символы //.

Порядок действий простой: установите курсор в начало нужного фрагмента, зажмите Shift и стрелками (или мышью) выделите строки, затем нажмите Ctrl+/. Выделение можно сделать и частично — достаточно, чтобы в него попала хотя бы часть каждой нужной строки, команда всё равно обработает строки целиком.

Если ни одна строка не выделена, команда закомментирует только текущую строку, в которой стоит курсор. Это удобно, когда нужно быстро отключить один оператор, не трогая соседний код.

Как закомментировать блок строк
  1. 1
    Откройте нужный модуль в конфигураторе
  2. 2
    Выделите строки мышью или с помощью Shift и стрелок
  3. 3
    Нажмите Ctrl+/ — каждая строка получит // в начале
  4. 4
    Проверьте, что код подсвечен зелёным цветом комментария
  5. 5
    Сохраните модуль и при необходимости обновите конфигурацию

Комментирование через меню конфигуратора

Тот же результат доступен через главное меню. Откройте пункт «Текст» и выберите команду «Закомментировать». Для обратной операции в том же меню есть пункт «Раскомментировать». Эти команды видны, когда активно окно редактора модуля.

Способ через меню полезен в двух ситуациях: когда горячие клавиши не срабатывают (например, из-за конфликта с другой программой или нестандартной раскладкой) и когда разработчик только осваивает конфигуратор и ещё не помнит комбинации. В меню рядом с командой обычно отображается назначенное сочетание клавиш — так проще запомнить его на будущее.

Обратите внимание: команды меню «Текст» доступны только в окне редактирования модуля. Если фокус стоит на панели свойств или дереве метаданных, пункты будут неактивны.

Как снять комментарий с группы строк

Для снятия комментария выделите закомментированный фрагмент и используйте команду «Раскомментировать» из меню «Текст» или соответствующую комбинацию клавиш (в зависимости от версии платформы она может отличаться — смотрите подсказку в меню рядом с командой). Редактор удалит символы // из начала каждой строки выделения.

Команда снятия комментария корректно обрабатывает смешанные блоки: если часть строк в выделении закомментирована, а часть — нет, символы удалятся только там, где они стоят в начале строки. Однако в некоторых версиях платформы поведение команды при смешанном выделении может отличаться, поэтому надёжнее снимать комментарий именно с того фрагмента, который был закомментирован целиком.

Если комментарий снялся не полностью, проверьте, не было ли в коде двойных комментариев вида // // — такое случается при повторном комментировании уже отключённого блока. Лишний слэш придётся убрать вручную.

Особенности и ограничения механизма

Командой Ctrl+/ комментируются только строки программного кода в модулях. В макетах, текстовых документах, запросах внутри кода и строковых литералах поведение отличается. Например, если выделить текст запроса внутри строкового литерала, символы // добавятся как обычный текст и сломают запрос — в тексте запроса комментарии оформляются по правилам языка запросов, а не встроенного языка.

Ещё одно ограничение — директивы компиляции и инструкции препроцессора. Конструкции вида &НаСервере, #Если Сервер Тогда можно комментировать, но делать это нужно осторожно: закомментированная директива перед процедурой изменит контекст её компиляции, что приведёт к ошибкам при обновлении конфигурации или в режиме предприятия.

При работе через веб-клиент или внешние редакторы (например, EDT) комбинации клавиш могут отличаться. В 1C:EDT комментирование обычно привязано к привычным для Eclipse сочетаниям Ctrl+/ и Ctrl+Shift+/ — уточняйте в настройках среды разработки.

Практические сценарии использования

Временное отключение кода при отладке

Частая задача — проверить, какой из двух фрагментов вызывает ошибку. Закомментируйте подозрительный блок, запустите отладку, затем верните код обратно. Чтобы не забыть снять комментарий, добавляйте к закомментированному блоку пометку, например // ОТЛАДКА: вернуть перед сдачей.

Пояснения к сложным участкам

Комментарии-пояснения стоит писать не к очевидным строкам, а к нетривиальной логике: почему выбран именно такой алгоритм, какие ограничения учтены. Избыточные комментарии к каждой строке только затрудняют чтение.

Сохранение старого варианта при рефакторинге

При переписывании процедуры старый код иногда оставляют закомментированным «на всякий случай». Это допустимо на этапе разработки, но в финальной версии такие остатки лучше удалять — историю изменений надёжнее хранить в системе контроля версий или хранилище конфигурации, а не в теле модуля.

Типичные ошибки
01
Комментирование текста запроса внутри строкового литерала — запрос перестаёт выполняться
02
Забытый закомментированный блок попадает в рабочую базу и отключает часть логики
03
Повторное комментирование уже закомментированного фрагмента — при снятии остаются лишние //
04
Комментирование директивы &НаСервере перед процедурой — меняется контекст компиляции
05
Попытка использовать /<em> </em>/ — в 1С такой синтаксис не поддерживается

Проверка результата и частые проблемы

Признак успешного комментирования — изменение подсветки: закомментированный текст в редакторе отображается цветом комментария (по умолчанию зелёным). Если цвет не изменился, строка не закомментирована или курсор стоял вне редактора кода.

После комментирования рабочего кода выполните синтаксическую проверку модуля: меню «Конфигурация — Проверка конфигурации» или кнопка проверки модуля. Это выявит случаи, когда закомментированный фрагмент содержал открывающий или закрывающий оператор блока (например, КонецЕсли;), из-за чего структура кода нарушилась.

Если Ctrl+/ не срабатывает, проверьте раскладку клавиатуры — на некоторых раскладках символ косой черты находится на другой клавише. Также убедитесь, что фокус находится в окне редактора модуля, а сторонние программы-перехватчики горячих клавиш не блокируют комбинацию.

Контрольные точки

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

Подсветка строк
Норма

Закомментированные строки отображаются цветом комментария

Тревожный признак

Цвет не изменился — команда не применилась

Синтаксическая проверка модуля
Норма

Ошибок нет, модуль компилируется

Тревожный признак

Ошибки про КонецЕсли или КонецЦикла — нарушена структура блока

Повторное снятие комментария
Норма

Все // удалены, код работает как раньше

Тревожный признак

Остались лишние // в начале строк

Итог

Что важно запомнить

Выделите строки и нажмите Ctrl+/ — это стандартный способ закомментировать блок в конфигураторе 1С. Многострочных комментариев в языке нет, каждая строка помечается //. После комментирования рабочего кода выполняйте проверку модуля и не оставляйте отключённые фрагменты в финальной версии.

Частые вопросы

Есть ли в 1С многострочный комментарий, как / / в других языках?

Нет. Встроенный язык 1С поддерживает только однострочные комментарии через //. Чтобы отключить блок, каждую строку помечают отдельно — для этого и используется групповая команда Ctrl+/.

Почему комбинация Ctrl+/ не работает?

Чаще всего причина в раскладке клавиатуры, фокусе вне редактора модуля или конфликте с программой, перехватывающей горячие клавиши. Используйте команду «Текст — Закомментировать» из меню — она делает то же самое.

Как закомментировать текст внутри запроса?

В тексте запроса действуют правила языка запросов 1С, а не встроенного языка. Комментирование запроса через // внутри строкового литерала приведёт к ошибке выполнения — корректируйте текст запроса отдельно.

Можно ли изменить горячие клавиши для комментирования?

В классическом конфигураторе назначение клавиш для этих команд фиксировано. В 1C:EDT сочетания настраиваются через параметры среды в разделе привязок клавиш.

Что делать, если после снятия комментария код не работает?

Проверьте, не осталось ли двойных // от повторного комментирования и не был ли фрагмент закомментирован частично — например, без закрывающего оператора блока. Синтаксическая проверка модуля покажет место ошибки.

Работает ли комментирование в редакторе запросов и консоли кода?

В консолях кода и внешних инструментах поведение зависит от конкретной обработки: большинство поддерживают Ctrl+/ по аналогии с конфигуратором, но гарантировать это можно только для штатного редактора модулей.