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

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Проблема стандартного «Конфигуратора»

Давайте проанализируем ситуацию: классический «Конфигуратор» 1С, несмотря на свою надежность, крайне скуп на инструменты автоматического рефакторинга. В нем отсутствуют встроенные функции «форматирования одним нажатием», к которым привыкли разработчики на Java, C# или Python. Рассмотрим типичный пример «грязного» кода, который часто встречается в старых модулях или при спешной разработке:


Функция РассчитатьСумму(Цена,Колво)   Таб=1;
Если Цена>0 Тогда Сумма=Цена*Колво;КонецЕсли;
Возврат Сумма;
КонецФункции

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

Решение 1: Использование внешних расширений для «Конфигуратора»

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

1. TurboConf. Это мощный инструмент для автоматизации работы разработчика. Одной из его ключевых функций является форматирование кода. Проанализируем, что он умеет:

  1. Расстановка пробелов вокруг операторов =, +, -, *, /.
  2. Автоматическое исправление регистра ключевых слов (например, превращение если в Если).
  3. Выравнивание параметров процедур и функций.
  4. Удаление лишних пустых строк и пробелов в конце строк.

2. Снегопат. Это легендарное расширение для «Конфигуратора», которое позволяет писать скрипты на языке JavaScript для автоматизации чего угодно. В сообществе Снегопата существует множество готовых скриптов-«бьютификаторов», которые приводят текст модуля к идеальному виду по нажатию горячей клавиши.

Решение 2: Переход на 1C:Enterprise Development Tool (EDT)

Если вы хотите получить профессиональный инструмент форматирования «из коробки», нам стоит рассмотреть переход на 1C:EDT. Это современная среда разработки, построенная на платформе Eclipse. В отличие от старого «Конфигуратора», в ней форматирование является базовой функцией.

Посмотрим, как это работает в EDT:

  1. Вы открываете нужный модуль.
  2. Нажимаете комбинацию клавиш Ctrl+Shift+F.
  3. Система мгновенно перестраивает весь текст модуля согласно настройкам стиля.

Разберем подробнее настройки стиля в EDT. Мы можем настроить систему так, чтобы она автоматически:

Решение 3: Visual Studio Code и BSL Language Server

В последние годы сообщество разработчиков 1С активно использует VS Code. Для него существует плагин BSL Language Server, который превращает этот редактор в полноценную среду для написания кода 1С с поддержкой стандартов.

Проанализируем преимущества этого подхода. Мы можем использовать функцию Format Document. Код, который мы рассматривали ранее, после обработки будет выглядеть так:


Функция РассчитатьСумму(Цена, Колво)
	
	Таб = 1;
	
	Если Цена > 0 Тогда
		Сумма = Цена * Колво;
	КонецЕсли;
	
	Возврат Сумма;
	
КонецФункции

Система автоматически расставила отступы, добавила необходимые пробелы и переносы строк, сделав код прозрачным и понятным для любого коллеги.

Решение 4: Встроенные возможности и самодисциплина

Если по каким-то причинам вы не можете использовать внешние инструменты, давайте вспомним о том, что предлагает сам «Конфигуратор». Хотя «магической кнопки» нет, мы можем облегчить себе жизнь:

  1. Использование контекстного меню «Текст — Блок»: Здесь есть команды «Добавить отступ» и «Удалить отступ». Это помогает быстро выровнять вложенные конструкции Если...Тогда или Для...Цикл.
  2. Настройка автоотступа: В параметрах редактора (Сервис — Параметры — Текстовый редактор — 1С:Предприятие) обязательно проверьте, чтобы был включен «Автоматический отступ». Это заставит систему подхватывать уровень вложенности при нажатии Enter.
  3. Отображение спецсимволов: Как советовали на форуме, полезно включить отображение пробелов и табуляций. Это поможет увидеть, где вместо положенной табуляции стоят пробелы, и вовремя их исправить.

Практические рекомендации по стандартам

Давайте разберем основные правила, которые должен соблюдать качественный код 1С, и которые мы должны стремиться автоматизировать:

Заключение

Мы выяснили, что хотя «из коробки» 1С не предоставляет идеального инструмента для «уборки» в коде, существует множество способов решить эту проблему. Для тех, кто работает в классическом «Конфигураторе», лучшим выбором станут TurboConf или Снегопат. Для тех, кто стремится к современным стандартам разработки, оптимальным путем будет переход на EDT или использование VS Code в качестве внешнего редактора. Помните: чистый код экономит часы отладки в будущем!

← На главную