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

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

Каким набором символов обозначается комментарий в 1С

Разбираем, какими символами обозначаются комментарии во встроенном языке 1С: двойной слеш, многострочные комментарии, горячие клавиши и типичные ошибки разработчиков.

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

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

Базовый синтаксис комментария в 1С

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

// Это комментарий на всю строку

СуммаДокумента = Количество * Цена; // пояснение к расчёту

Пробел между слешами и текстом не обязателен: конструкции //текст и // текст работают одинаково. Однако по сложившейся практике и стандартам разработки 1С после слешей принято ставить один пробел — так код выглядит аккуратнее и легче читается при ревью.

Важно понимать: комментарий действует только до конца текущей строки. Если пояснение длинное и не помещается в одну строку, каждую следующую строку нужно начинать с новой пары //.

Есть ли многострочные комментарии в 1С

Разработчики, пришедшие из других языков, часто ищут аналог конструкции / ... /. В языке 1С её нет — ни в версии 7.7, ни в платформе 8.x. Попытка использовать символы из других языков приведёт к синтаксической ошибке при проверке модуля.

Для комментирования большого фрагмента кода есть два рабочих способа. Первый — выделить нужные строки и закомментировать их горячими клавишами (об этом ниже). Второй — обернуть код в условие, которое никогда не выполняется, например Если Ложь Тогда ... КонецЕсли;. Второй способ считается плохой практикой: такой код остаётся в модуле, усложняет чтение и может случайно «ожить» при правке условия.

Горячие клавиши для комментирования блока кода

Конфигуратор 1С имеет встроенные команды для массового комментирования. Чтобы закомментировать несколько строк, выделите их и нажмите Ctrl + Num / (клавиша деления на цифровом блоке клавиатуры). К каждой строке выделения в начало добавится пара //.

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

Как закомментировать блок кода
  1. 1
    Выделите мышью или клавишами Shift+стрелки нужные строки в модуле
  2. 2
    Нажмите Ctrl + Num / — каждая строка получит // в начале
  3. 3
    Проверьте модуль через «Конфигурация — Проверка конфигурации» или F7
  4. 4
    Для возврата кода выделите строки и нажмите Ctrl + Shift + Num /

На ноутбуках без цифрового блока клавиш комбинация может не сработать. В этом случае используйте меню «Текст — Блок — Добавить комментарий / Удалить комментарий» в конфигураторе либо подключите внешнюю клавиатуру.

Комментарии в разных типах модулей

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

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

Запрос.Текст =

"ВЫБРАТЬ

| Товары.Ссылка

|ИЗ

| Справочник.Товары КАК Товары

|ГДЕ

| НЕ Товары.ПометкаУдаления"; // исключаем помеченные на удаление

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

Стандарты оформления комментариев

В типовых конфигурациях и стандартах разработки фирмы «1С» комментарии рекомендуется использовать для пояснения неочевидной логики, а не для дублирования того, что и так видно из кода. Комментарий вида // увеличиваем счётчик на 1 рядом с Счетчик = Счетчик + 1 смысла не несёт.

Полезная практика — заголовочный комментарий процедуры или функции: краткое описание назначения, параметров и возвращаемого значения. Такие описания платформа умеет показывать в подсказке при вызове метода, если они оформлены в стандартном формате с секциями «Описание», «Параметры», «Возвращаемое значение».

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

Как проверить, что комментарий работает

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

Финальная проверка — синтаксический контроль модуля клавишей F7 или через меню «Конфигурация — Проверка конфигурации». Если комментарий вставлен корректно, проверка не выдаст ошибок, связанных с закомментированным фрагментом.

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

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

Цвет текста после //
Норма

Текст подсвечен зелёным

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

Текст чёрный — слеши внутри строки или с опечаткой

Проверка модуля (F7)
Норма

Ошибок нет

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

Синтаксическая ошибка в месте комментария

Выполнение кода
Норма

Закомментированный фрагмент не исполняется

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

Код выполняется — комментарий не применился

FAQ

Можно ли в 1С закомментировать часть строки в середине выражения?

Нет. Символы // отключают весь текст до конца строки, поэтому «встроить» комментарий в середину выражения нельзя. Пояснение ставят либо в конце строки, либо отдельной строкой выше.

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

На многих ноутбуках нет отдельного цифрового блока, а клавиша деления основной клавиатуры не распознаётся как Num /. Используйте команды меню «Текст — Блок» в конфигураторе или внешнюю клавиатуру с цифровым блоком.

Работают ли комментарии в макетах и табличных документах?

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

Можно ли комментировать на английском языке?

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

Что делать с закомментированным кодом перед обновлением конфигурации?

Рекомендуется удалять неиспользуемые закомментированные фрагменты: они затрудняют сравнение и объединение модулей при обновлении. История изменений при необходимости сохраняется в хранилище конфигурации или системе контроля версий.

Итог

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

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