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

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

Как отформатировать код в 1С: пошаговая инструкция

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

Форматирование кода в 1С — это приведение текста модуля к единому виду: правильные отступы, выравнивание вложенных конструкций, корректные переносы строк. Аккуратный код проще читать, быстрее проверять на ошибки и удобнее сравнивать при слиянии изменений в хранилище конфигурации.

В платформе 1С:Предприятие есть встроенный механизм автоматического форматирования, который работает как в обычном конфигураторе, так и в среде разработки 1C:EDT. Он расставляет отступы по структуре кода и не меняет логику программы — только внешний вид текста.

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

Автоматическое форматирование в конфигураторе

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

Чтобы отформатировать код, откройте нужный модуль и нажмите Ctrl+Shift+F либо выберите в главном меню пункт «Текст» → «Форматировать». Если перед вызовом команды выделен фрагмент, будет обработан только он — это удобно, когда не нужно трогать остальной модуль, например перед отправкой изменений в хранилище.

Команда также доступна в контекстном меню редактора по правой кнопке мыши. Результат применяется мгновенно, отменить его можно стандартным сочетанием Ctrl+Z, поэтому риска повредить код нет: меняются только пробелы и отступы, не сами операторы.

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

Автоматический отступ при вводе кода

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

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

Автоотступ экономит время, но не заменяет полное форматирование: если код вставлен из внешнего источника или собран копированием из разных мест, единообразие появится только после Ctrl+Shift+F.

Настройка отступов и табуляции

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

Стандарт, принятый в большинстве конфигураций и рекомендуемый фирмой «1С» в стандартах разработки, — отступ в 4 символа. Если в команде используется другое соглашение, важно настроить одинаковые параметры у всех разработчиков, иначе при совместной работе код будет «прыгать» и diff в хранилище покажет лишние изменения.

Форматирование кода в 1C:EDT

В среде разработки 1C:EDT форматирование работает аналогично, но с более гибкими настройками. Сочетание клавиш — то же самое: Ctrl+Shift+F. Команда также доступна через контекстное меню редактора: «Source» → «Format» (в русской локализации — соответствующий пункт форматирования).

Настройки форматирования в EDT находятся в «Window» → «Preferences» → раздел, посвящённый редактору встроенного языка 1С. Там можно задать размер отступа, правила переноса длинных строк, поведение пробелов вокруг операторов и другие параметры стиля. Настройки можно экспортировать и раздать всей команде — это гарантирует единый стиль у всех разработчиков.

Дополнительное преимущество EDT — встроенные проверки кода. После форматирования имеет смысл запустить проверку модуля: она покажет не только синтаксические ошибки, но и нарушения стандартов разработки, которые форматирование само по себе не исправляет.

Конфигуратор или EDT

Конфигуратор

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

1C:EDT

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

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

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

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

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

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

Отступы вложенных блоков
Норма

Каждый уровень смещён ровно на один отступ, КонецЕсли стоит под соответствующим Если

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

Отступы «пляшут», закрывающие конструкции не совпадают по уровню с открывающими

Синтаксическая проверка модуля
Норма

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

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

Появились новые ошибки компиляции

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

Изменения касаются только пробелов и отступов

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

В diff видны изменения в строках с логикой и значениями

Типичные ошибки и ограничения

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

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

Наконец, форматирование не трогает содержимое строковых литералов и комментариев, но длинные комментарии оно не переносит — оформление текстовых блоков остаётся на ответственности разработчика.

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

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

Изменит ли автоформатирование логику программы?

Нет. Команда изменяет только пробельные символы и отступы. Операторы, значения, имена переменных и порядок строк остаются прежними. Тем не менее перед помещением в хранилище полезно просмотреть diff, чтобы убедиться, что изменился именно формат.

Как отформатировать только часть модуля?

Выделите нужный фрагмент мышью или клавишами Shift+стрелки, затем нажмите Ctrl+Shift+F. Обработается только выделение, остальной модуль останется нетронутым.

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

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

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

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

Есть ли форматирование запросов внутри кода?

Текст запроса внутри строковой конструкции автоформатирование модуля не обрабатывает. Для запросов используйте конструктор запроса или ручное выравнивание — в EDT есть отдельные средства работы с текстами запросов.

Что делать, если Ctrl+Shift+F не срабатывает?

Проверьте, что фокус находится в окне редактора модуля, а не в другой панели. Также сочетание может перехватываться сторонними программами (переключателями раскладки, менеджерами буфера обмена) — в этом случае используйте команду из меню «Текст» → «Форматировать».

Итог

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

Форматирование кода в 1С выполняется сочетанием Ctrl+Shift+F в конфигураторе и EDT; оно меняет только отступы, не затрагивая логику. Форматируйте выделенные фрагменты, а не чужие модули целиком, согласуйте настройки табуляции в команде и проверяйте результат синтаксической проверкой.