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

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

Для чего предназначено форматирование в модуле 1С

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

Форматирование в модуле 1С — это автоматическое приведение программного кода к единому читаемому виду: выравнивание отступов, расстановка пробелов, перенос длинных строк и приведение структуры процедур и циклов к стандартному оформлению. Операция доступна в конфигураторе через меню «Текст» или сочетание клавиш и применяется как ко всему модулю, так и к выделенному фрагменту.

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

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

Какие задачи решает автоформатирование кода

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

Вторая задача — унификация при командной разработке. Стандарты разработки 1С (фирменные и внутренние корпоративные) требуют единого оформления модулей. Автоформатирование позволяет привести код к стандарту за секунды, не вычищая пробелы вручную.

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

ОтступыВыравниваются по вложенности

Блоки внутри условий и циклов смещаются на шаг табуляции

ПробелыПриводятся к стандарту

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

Переносы строкДлинные выражения разбиваются

Строки, превышающие лимит ширины, переносятся с выравниванием

Логика кодаНе изменяется

Результат выполнения программы остаётся прежним

Как запустить форматирование: способы и горячие клавиши

В конфигураторе 1С форматирование запускается через меню «Текст» → «Форматировать». Если предварительно выделить фрагмент кода, обработается только он; если ничего не выделено — форматируется весь модуль целиком. Это удобно, когда нужно привести в порядок одну процедуру, не трогая остальной текст.

Стандартное сочетание клавиш для форматирования выделенного фрагмента — Alt + Shift + F. Оно работает в редакторе модуля и заметно ускоряет работу: выделили блок, нажали комбинацию, получили выровненный код. Дополнительно в меню «Текст» доступны операции сдвига блока вправо и влево (Tab и Shift + Tab на выделенном фрагменте), которые помогают вручную скорректировать вложенность.

Как отформатировать модуль
  1. 1
    Откройте модуль в конфигураторе (модуль объекта, формы, общий модуль).
  2. 2
    Выделите фрагмент кода, если нужно обработать только часть; для всего модуля ничего не выделяйте.
  3. 3
    Нажмите Alt + Shift + F или выберите пункт меню «Текст» → «Форматировать».
  4. 4
    Проверьте результат: отступы выровнены, длинные строки перенесены, структура блоков читается.
  5. 5
    Сохраните модуль и при необходимости выполните синтаксический контроль (Ctrl + F7).

Настройки форматирования в конфигураторе

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

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

Форматирование и хранилище конфигурации: как избежать конфликтов

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

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

Типичные ошибки при работе с форматированием

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

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

Типичные ошибки
01
Форматирование всего модуля при точечной доработке — лишние различия при сравнении версий в хранилище.
02
Разные настройки табуляции в команде — код «плывёт» у коллег и в других редакторах.
03
Ожидание, что форматирование исправит ошибки логики — инструмент меняет только оформление.
04
Ручная расстановка отступов вместо автоформатирования — потеря времени и нестабильный результат.
05
Форматирование без последующей проверки — редко, но перенос строк может сделать выражение менее наглядным, стоит просмотреть результат.

Как проверить результат и когда форматирование не поможет

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

Обязательная завершающая проверка — синтаксический контроль модуля (Ctrl + F7 в конфигураторе). Само по себе форматирование не ломает код, но контроль позволяет убедиться, что до этого в модуле не было ошибок, которые вы могли принять за следствие форматирования.

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

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

Отступы блоков
Норма

Каждый уровень вложенности смещён на один шаг

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

Блоки выстроены в одну колонку или смещены хаотично

Длинные строки
Норма

Перенесены, текст читается без горизонтальной прокрутки

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

Строка уходит за край экрана или перенос разорвал выражение нечитаемо

Синтаксический контроль
Норма

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

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

Появились сообщения об ошибках — проверьте, что было изменено

Сравнение версий
Норма

В хранилище видны только реальные изменения

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

Различиями отмечен весь модуль — форматирование применено избыточно

FAQ: частые вопросы о форматировании в модуле 1С

Меняет ли форматирование поведение программы?

Нет. Автоформатирование затрагивает только пробелы, табуляцию и переносы строк. Логика, порядок операторов и результат выполнения остаются неизменными. Тем не менее после любой массовой правки модуля полезно запустить синтаксический контроль, чтобы исключить случайные повреждения текста.

Можно ли отформатировать только одну процедуру?

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

Почему после форматирования у коллеги код выглядит иначе, чем у меня?

Скорее всего, у вас различаются настройки параметров модулей: шаг табуляции, замена табуляции пробелами, ширина переноса строк. Сверьте настройки в меню «Сервис» → «Параметры» и приведите их к единому стандарту внутри команды.

Что делать, если автоформатирование сделало выражение нечитаемым?

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

Есть ли форматирование в EDT и отличается ли оно от конфигуратора?

В 1C:Enterprise Development Tools форматирование тоже есть и вызывается аналогичным сочетанием Ctrl + Shift + F. Настройки форматирования в EDT более гибкие и задаются в свойствах проекта, что упрощает унификацию стиля в команде через общий файл настроек.

Нужно ли форматировать код перед сдачей доработки заказчику?

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

Итог

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

Форматирование в модуле 1С приводит код к единому читаемому стилю, не меняя его логику. Используйте Alt + Shift + F для выделенных фрагментов, держите единые настройки в команде и не форматируйте весь модуль при точечных доработках, чтобы не засорять историю изменений в хранилище.