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