Разработка и Конфигурация · 9 мин
Как закомментировать код в 1С
Как закомментировать код в 1С: одиночные и многострочные комментарии, горячие клавиши Ctrl+Num и Ctrl+/, комментирование блоков, типичные ошибки и примеры.
Комментарий в 1С — это текст внутри кода, который платформа игнорирует при выполнении. Комментарии используют, чтобы объяснить логику процедуры, временно отключить фрагмент кода при отладке или оставить пометку для других разработчиков. Во встроенном языке 1С существует только один синтаксис комментария — двойной слеш //, всё остальное строится на нём.
Рабочие способы закомментировать код одинаковы во всех современных версиях платформы 1С:Предприятие 8. Различается только удобство: одну строку проще закомментировать вручную, а большой блок — горячими клавишами или кнопкой на панели инструментов конфигуратора.
Ниже разобраны все варианты: от ручного ввода символов до массового комментирования выделенных строк, а также ошибки, из-за которых «закомментированный» код продолжает выполняться или, наоборот, ломает модуль.
Одиночный комментарий через двойной слеш
Базовый способ — поставить два символа // в начале строки или перед нужной частью строки. Всё, что находится правее слешей до конца строки, платформа считает комментарием и не выполняет.
// Проверяем заполненность контрагента перед записью
Если НЕ ЗначениеЗаполнено(Контрагент) Тогда
Сообщить("Контрагент не указан"); // сообщение пользователю
КонецЕсли;
Комментарий может занимать всю строку целиком или стоять в конце строки после исполняемого кода. Второй вариант удобен для коротких пояснений, но не стоит злоупотреблять им в длинных строках — пояснение уезжает за край экрана и теряется.
Важно понимать: символы // действуют только до конца текущей строки. Перенос текста комментария на следующую строку без повторного слеша приведёт к синтаксической ошибке, потому что платформа воспримет продолжение как код.
Как закомментировать несколько строк сразу
Многострочных комментариев вида / ... /, как в C или JavaScript, в 1С нет. Чтобы закомментировать блок, нужно добавить // в начало каждой строки. Делать это вручную для десятков строк нерационально — конфигуратор умеет комментировать выделенный фрагмент одной командой.
Порядок действий: выделите мышью или клавишами Shift+стрелки нужный фрагмент кода, затем вызовите команду комментирования. Платформа добавит // к каждой строке выделения, включая пустые. Обратная команда снимает комментарии со всех выделенных строк.
- 1Выделите нужные строки мышью или клавишами Shift и стрелок
- 2Нажмите Ctrl+Num/ (слеш на цифровой клавиатуре) или Ctrl+/
- 3Проверьте, что у каждой строки появились символы //
- 4Чтобы вернуть код, выделите блок и нажмите Ctrl+Shift+Num/ или Ctrl+Shift+/
Ту же операцию можно выполнить через меню: «Текст» → «Блок» → «Закомментировать» / «Раскомментировать», а в некоторых версиях конфигуратора команда вынесена на панель инструментов редактора. Если горячие клавиши не срабатывают, проверьте раскладку клавиатуры и наличие цифрового блока Num — на ноутбуках без него используйте вариант с обычным слешем.
Горячие клавиши и команды конфигуратора
Запоминать меню не обязательно — достаточно двух пар сочетаний. Они работают в модуле объекта, общем модуле, модуле формы и любом другом редакторе кода конфигуратора.
| Действие | Сочетание клавиш | Команда меню |
|---|---|---|
| Закомментировать строки | Ctrl+Num/ или Ctrl+/ | Текст → Блок → Закомментировать |
| Раскомментировать строки | Ctrl+Shift+Num/ или Ctrl+Shift+/ | Текст → Блок → Раскомментировать |
Если выделения нет, команда комментирования действует на текущую строку, где стоит курсор. Это удобно для быстрого отключения одной строки при отладке: поставили курсор, нажали сочетание — строка закомментирована.
Комментирование для отладки и временного отключения кода
Самый частый практический сценарий — временно отключить фрагмент, чтобы проверить гипотезу об ошибке. Например, закомментировать вызов процедуры и посмотреть, исчезнет ли проблема. Это безопаснее удаления: код остаётся на месте, и его легко вернуть.
При отладке соблюдайте простое правило: комментируйте фрагмент целиком, от начала до конца логической конструкции. Если закомментировать только первую строку условия Если ... Тогда, оставив тело и КонецЕсли, модуль перестанет компилироваться — платформа сообщит о синтаксической ошибке.
После завершения отладки обязательно вернитесь к закомментированным участкам: либо раскомментируйте их, либо удалите совсем. «Мёртвый» закомментированный код, который копится в модулях месяцами, затрудняет чтение и вводит в заблуждение — непонятно, это рабочий вариант или забытый мусор.
Комментарии в запросах и особые случаи
Внутри текста запроса на языке запросов 1С комментарии тоже поддерживаются и имеют тот же синтаксис — //. Их можно ставить между секциями запроса и в конце строк. Это удобно, когда текст запроса длинный и нужно пояснить назначение временных таблиц или соединений.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Продажи.Номенклатура КАК Номенклатура
|ИЗ
| РегистрНакопления.Продажи.Обороты КАК Продажи
|// Отбор по периоду добавляется через параметры виртуальной таблицы
|";
Отдельный случай — директивы компиляции и инструкции препроцессора вида #Если Сервер Тогда или &НаСервере. Их нельзя комментировать произвольно: закомментированная директива &НаКлиенте перед процедурой изменит контекст её выполнения, и код может упасть с ошибкой или выполниться не там, где задумано. Перед комментированием таких строк оцените последствия.
Также помните, что текст внутри строковых литералов — не комментарий. Если символы // встречаются внутри кавычек, например в URL или тексте запроса, платформа воспринимает их как обычные символы строки.
Как оформлять комментарии, чтобы они помогали
Хороший комментарий объясняет не «что делает строка» — это видно из кода, — а «почему сделано именно так». Пояснение «увеличиваем счётчик на 1» перед Счетчик = Счетчик + 1 бесполезно. Полезно объяснить неочевидное: причину обходного пути, ссылку на требование, особенность конкретного документа.
Практичные правила оформления:
- пишите комментарий над блоком кода, а не в конце каждой строки;
- при временном отключении указывайте причину и дату:
// Отключено: дублировало проведение, 12.03. Ответственный — Иванов; - не комментируйте очевидное и не пересказывайте синтаксис;
- удаляйте закомментированный код, если он не понадобился в течение разумного срока, — историю изменений всегда можно посмотреть в хранилище конфигурации.
Если конфигурация работает с хранилищем, не бойтесь удалять старый закомментированный код — прежняя версия сохраняется в истории хранилища, и её можно восстановить. Это надёжнее, чем хранить мёртвые фрагменты прямо в модуле.
Как проверить результат
Строка подсвечена цветом комментария (по умолчанию серым)
Строка осталась в цвете обычного кода — слеши не сработали
Конфигуратор не сообщает о синтаксических ошибках
Ошибка вида «Ожидается КонецЕсли» — закомментирована часть конструкции
Отключённый фрагмент не выполняется
Код продолжает работать — закомментирована не та строка или копия кода в другом модуле
Частые вопросы
Как закомментировать код в 1С одной клавишей?
Одной клавиши нет, но есть сочетание: поставьте курсор на нужную строку и нажмите Ctrl+Num/ (слеш на цифровом блоке) или Ctrl+/. Строка закомментируется без выделения.
Есть ли в 1С многострочный комментарий / /?
Нет, встроенный язык 1С поддерживает только комментарии через //. Для блока из нескольких строк выделите их и примените команду «Закомментировать» — слеши будут добавлены к каждой строке автоматически.
Почему после комментирования модуль выдаёт синтаксическую ошибку?
Чаще всего закомментирована только часть составной конструкции: например, строка с «Если... Тогда» отключена, а «КонецЕсли» остался. Закомментируйте конструкцию целиком или верните первую строку обратно.
Влияют ли комментарии на скорость работы программы?
Нет. Компилятор платформы полностью отбрасывает комментарии при компиляции модуля, поэтому их количество не влияет на быстродействие. Влияние только на читаемость кода для разработчика.
Как быстро найти все отключённые участки кода в модуле?
Используйте поиск по модулю (Ctrl+F) по строке «//» — так вы увидите все комментарии. Если при отключении кода вы добавляли пометку вроде «Отключено», ищите именно её — это отфильтрует обычные пояснения.
Можно ли комментировать в тексте запроса?
Да, язык запросов 1С поддерживает комментарии через // в конце строки. Их удобно ставить между секциями запроса. Учтите, что слеши внутри строковых значений в кавычках комментариями не являются.
Что важно запомнить
Комментарий в 1С — это // в начале строки или после кода. Для блока строк используйте выделение и Ctrl+Num/ (снятие — Ctrl+Shift+Num/). Комментируйте конструкции целиком, поясняйте причину отключения кода и удаляйте мёртвые фрагменты, полагаясь на историю хранилища.