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

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

Как написать комментарий в 1С: в коде и в документах

Как поставить комментарий в 1С: символы // в коде, многострочные комментарии, поле «Комментарий» в документах и справочниках, горячие клавиши и типичные ошибки.

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

Комментарий в коде начинается с двух косых черт // — всё, что стоит после них до конца строки, не выполняется. Поле «Комментарий» в документах — это обычный реквизит, значение которого хранится в базе данных и доступно для поиска и вывода в списках. Ниже разобраны оба варианта с конкретными действиями.

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

Стандартный способ — поставить два символа косой черты // в начале комментария. Комментарий действует до конца текущей строки. Его можно разместить на отдельной строке или после исполняемого кода:

// Рассчитываем сумму скидки по дисконтной карте

СуммаСкидки = СуммаДокумента * ПроцентСкидки / 100; // скидка в процентах

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

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

Адрес = "http://server/base"; // здесь // внутри кавычек — часть строки

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

Для блока строк не нужно ставить слеши вручную. В конфигураторе есть штатная команда: выделите нужные строки и нажмите Ctrl + Num / (слеш на цифровой клавиатуре) либо используйте пункт меню «Текст → Блок → Добавить комментарий». Платформа поставит // в начале каждой выделенной строки.

Обратная операция — снятие комментария: выделите строки и нажмите Ctrl + Shift + Num / (или «Текст → Блок → Убрать комментарий»). В редакторе кода управляемых форм и в 1C:EDT сочетание обычно Ctrl + /.

Как закомментировать блок кода
  1. 1
    Выделите мышью или клавишами Shift+стрелки нужные строки модуля
  2. 2
    Нажмите Ctrl+Num/ или выберите Текст → Блок → Добавить комментарий
  3. 3
    Убедитесь, что каждая строка начинается с // и подсвечена зелёным
  4. 4
    Сохраните модуль и проверьте синтаксис (Ctrl+F7) — ошибок быть не должно

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

Комментарии в запросах

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

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

"ВЫБРАТЬ

| Товары.Номенклатура, // основной товар

| Товары.Количество

|ИЗ

| Документ.Реализация.Товары КАК Товары";

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

Как оформлять комментарии, чтобы они были полезны

Хороший комментарий объясняет «почему», а не «что». Строка Сумма = Сумма + НДС; // прибавляем НДС бесполезна — это видно из кода. Полезно указать причину: // НДС добавляем отдельно, т.к. для экспорта ставка 0%. Такие пояснения экономят время при доработках через месяцы.

Принятые в практике правила: писать по-русски без сокращений, указывать дату и инициалы при временном отключении кода, помечать участки под доработку словом-маркером (часто используют // TODO или // ДОРАБОТАТЬ), чтобы потом найти их поиском по модулю.

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

Поле «Комментарий» в документах и справочниках

Почти в каждом документе типовой конфигурации (Управление торговлей, Бухгалтерия, ERP и других) есть поле «Комментарий». Обычно оно расположено в нижней части формы документа. Введённый текст сохраняется вместе с документом и виден всем пользователям, у которых есть права на просмотр этого объекта.

Чтобы комментарий было удобно использовать, его можно вывести в список документов: в журнале нажмите «Ещё → Изменить форму» (или «Настройка списка») и добавьте колонку «Комментарий». После этого заметки видны без открытия каждого документа, что удобно для пояснений вроде «счёт выставлен повторно» или «ожидает подписи».

Если поля «Комментарий» в форме нет — его могли скрыть при настройке формы или не предусмотреть в конфигурации. Проверьте «Ещё → Изменить форму»: если реквизит есть в объекте, его можно вернуть на форму галочкой. Если реквизита нет вовсе, его добавляет разработчик через конфигуратор.

Комментарий в коде и в документе

Комментарий в коде (//)

Виден только разработчику в конфигураторе, не сохраняется в данных, не влияет на выполнение программы

Поле «Комментарий» в документе

Хранится в базе, виден пользователям с правами на объект, участвует в поиске и может выводиться в списки и печатные формы

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

Поиск по комментариям в коде выполняется стандартным поиском конфигуратора: «Правка → Глобальная замена/поиск» (Ctrl+Shift+F) по всем модулям. Чтобы найти все временные отключения кода, ищите по маркеру, который принят в вашей команде, например по слову «TODO» или «временно».

Поиск по комментариям документов в пользовательском режиме зависит от конфигурации: во многих типовых решениях работает полнотекстовый поиск (пиктограмма лупы в панели) или отбор в списке по полю «Комментарий» через «Ещё → Настроить список» с условием «Содержит».

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

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

Комментарий в коде
Норма

Текст после // подсвечен зелёным, синтаксическая проверка (Ctrl+F7) проходит без ошибок

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

Ошибка компиляции или текст не подсвечен — проверьте символы и кавычки

Комментарий в документе
Норма

После записи документа текст сохранился и виден при повторном открытии

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

Текст пропал — нет прав на запись или поле не сохраняется в данной конфигурации

Закомментированный блок
Норма

Код не выполняется, поведение программы изменилось ожидаемо

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

Программа ведёт себя по-старому — закомментирован не тот фрагмент или кэш не обновлён

Риски и ограничения

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

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

Итог

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

В коде 1С комментарий — это // в начале строки, блок комментируется через Ctrl+Num/. Многострочного синтаксиса /<em> </em>/ нет. В документах заметки пишутся в поле «Комментарий» и хранятся в базе. Комментируйте осмысленно, помечайте временные отключения и делайте копию перед правкой кода.

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

Как быстро закомментировать строку одной клавишей?

Единой комбинации «одной клавишей» нет, но стандартное сочетание — Ctrl+Num/ для добавления и Ctrl+Shift+Num/ для снятия комментария. В 1C:EDT используется Ctrl+/. Работает и для одной строки, и для выделенного блока.

Почему после // код всё равно выполняется?

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

Можно ли вывести комментарий документа в печатную форму?

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

Видят ли комментарий в документе другие пользователи?

Да, все пользователи с правами просмотра этого документа видят содержимое поля «Комментарий». Не пишите туда конфиденциальные данные, если документ доступен широкому кругу сотрудников.

Как найти все закомментированные участки кода в конфигурации?

Используйте глобальный поиск (Ctrl+Shift+F) по модулям с шаблоном «//» — выдача будет большой, поэтому эффективнее искать по принятым маркерам: TODO, «временно», «отключено». Договоритесь в команде о едином маркере для временного отключения кода.

Удаляются ли комментарии при обновлении конфигурации?

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