Удаление концевых пробелов в модулях в 1C:EDT

09.11.26

Разработка - EDT

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

Зачем ограничивать область очистки

Представим, что команда использует префикс `demo_` для собственных объектов.

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

Нужен простой сценарий:

- свой объект — очищаем;

- остальные объекты — оставляем без изменений;

- правило отбора задаём один раз в настройках.

Именно такое поведение реализовано в плагине.

 

Как работает отбор файлов

В настройках задаётся строка, например:

demo_

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

Примеры:

`…/Catalogs/demo_Оборудование/Ext/ObjectModule.bsl` | Очистка выполняется |
`…/Documents/demo_Заявка/Ext/ObjectModule.bsl` | Очистка выполняется |
`…/Catalogs/Контрагенты/Ext/ObjectModule.bsl` | Очистка не выполняется |

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

Это удобно для модулей, у которых имя файла одинаковое — например, `ObjectModule.bsl`, — а префикс объекта находится в имени родительского каталога.

Поэтому пользователь задаёт привычный префикс объектов, а плагин использует его как признак в пути.

 

Что изменяется в модуле

Плагин удаляет пробелы и символы табуляции в конце строк.

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

 

Настройка

После установки откройте:

Окно → Параметры → EDT Whitespace Trimmer

В поле «Подстрока в пути файла» укажите свой признак:

demo_

Примените изменения. Новое значение будет использоваться при следующем сохранении — перезапускать EDT для изменения фильтра не требуется.

Особенности настройки:

- регистр учитывается;

- проверяется весь путь файла;

- пустое значение или строка только из пробелов отключает очистку;

- настройка действует в текущей рабочей области EDT, а не отдельно для каждого проекта.

Перед первым использованием задайте префикс, принятый именно в вашем проекте.

 

Установка

Плагин устанавливается через стандартный мастер EDT:

Справка → Установить новое ПО… → Добавить…

Адрес сайта обновлений:

https://krasturist.github.io/edt-whitespacer/

Далее:

1. Выберите категорию `EDT Tools`.

2. Отметьте `EDT Whitespace Trimmer`.

3. Завершите установку.

4. Перезапустите EDT.

5. Укажите свой фильтр в настройках плагина.

Если сайт не появился в списке доступного ПО, в нашей проверке помогла перезагрузка записи репозитория:

Окно → Параметры
→ Установка/обновление → Доступные сайты ПО
→ Выбрать сайт → Перезагрузить / Reload

Ограничения, которые стоит учитывать

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

Из этого следует важное ограничение. Если `demo_` встретится не в имени объекта, а в другой части пути, файл тоже пройдёт проверку. Например, каталог проекта с таким фрагментом может расширить область обработки.

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

1. Модуль объекта с нужным префиксом — хвостовые пробелы должны удалиться после сохранения.
2. Модуль без этого признака в пути — содержимое не должно очищаться плагином.

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

 

Когда такой подход полезен

Основной сценарий — выборочная доработка конфигурации, в которой собственные объекты выделены общим префиксом.

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

Исходный код проекта: https://github.com/krasturist/edt-whitespacer.

Вступайте в нашу телеграмм-группу Инфостарт

очистка кода удаление пробелов хвостовые пробелы удаление табуляции автоматическая очистка при сохранении форматирование кода качество кода

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Рефакторинг и качество кода EDT СКД Разработчик 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Бесплатно (free)

Одиннадцать граблей схем компоновки, которые не видно в конструкторе и не ловит EDT, на реальных отчетах БП КОРП. Формат числа задается в двух местах, и условное оформление варианта перебивает формат поля. Ресурс складывает штуки с часами, и помогает выражение «только когда единица одна». Ресурс пуст в детальных записях, параметр не появляется в шапке без userSettingID, valueListAllowed ломает границы периода, Остатки и СрезПоследних с параметром периода падают с «Несоответствием типов», title без xsi:type дает «Исключение XDTO» при загрузке. В конце код проверки схемы из файла до обновления базы, сводная таблица и чеклист.

16.10.2026    443    Konstmax13    2    

2

Технологический журнал Сервера EDT Обновление 1С Системный администратор Разработчик 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Бесплатно (free)

Конфигуратор и агент EDT тихо вылетают на 0 % «Обработки структуры базы данных», EDT пишет «Потеряно соединение с агентом конфигуратора», а модель проекта при этом чистая. Разбор двух аварий на большой серверной базе БП КОРП: какие факты снимать (журнал Windows, техжурнал нужной версии, хвост лога процесса), почему инкрементальная выгрузка EDT ломается после сбоев, как довести обновление пакетно через /UpdateDBCfg -Server, как опознать свои rphost среди нескольких кластеров и снять агент EDT, который сам поднимается и держит базу. Протокол одного дня по минутам и порядок диагностики из восьми шагов.

15.10.2026    402    Konstmax13    0    

0

Групповая разработка (Git, хранилище) EDT Обновление 1С Роли и права Разработчик 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Бесплатно (free)

Загрузка конфигурации в базу висела часами без единой ошибки: ядро на 100 %, SQL не трогается, лог пуст. Одинаково у агента EDT, у /LoadConfigFromFiles и у полной загрузки. Причина нашлась бисектом: блоки прав в Rights.rights, дописанные в конец файла, а EDT и конфигуратор ждут их строго по возрастанию UUID объекта. Рядом еще две грабли: права на перечисления вешают загрузку так же, а право на HTTP-сервис целиком платформа молча выбрасывает. В статье хронология, как найти виновника за минуты, как править права скриптом со вставкой по позиции и скрипт проверки ролей перед обновлением (бесплатно, на GitHub).

15.10.2026    276    Konstmax13    0    

0

Инструментарий разработчика Нейросети Рефакторинг и качество кода EDT Разработчик 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Бесплатно (free)

Как ИИ-агент (Claude Code) работает в живом EDT-проекте 1С:Бухгалтерии КОРП 3.0: из чего собрать стенд с MCP-сервером для EDT, как ставить задачи агенту, где он ломает проект и какие проверки это ловят. Реальные случаи: рукописные метаданные, ронявшие конфигуратор; четыре дня зависшего обновления из-за порядка блоков в Rights.rights; ошибки, которые EDT пропускает, а платформа нет; сплошная сверка вместо «вроде работает». В приложении шаблон CLAUDE.md, шаблон правила, чеклист перед обновлением базы и скрипты проверки ролей и схем СКД.

15.10.2026    3342    Konstmax13    11    

11

Нейросети EDT Разработчик 1С:Предприятие 8 Абонемент ($m)

Набор из 17 скилов для агента, который пишет код. Агент пишет и проверяет конфигурацию в формате 1C:EDT по стандартам раздела ИТС «Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8».

3 стартмани

05.10.2026    670    1    burlakov    0    

3

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) EDT Разработчик 1С 8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

Разобрали, как выстроить CI для 1С 8.3 на EDT и Git: ветки с автослиянием, Jenkins и Pipeline Libraries, подготовка эталонной ИБ на каждый MR, Vanessa и xUnitFor1C в Allure. Материал для инструментальщика, который проектирует проверки до master, а не после релиза.

28.09.2026    810    zolotov7481    0    

0

EDT Разработчик Бесплатно (free)

Баги, недостающие улучшения и специфические потребности инфраструктуры не всегда находят отражение в новых версиях 1C:EDT – и тогда проблему можно решить с помощью собственного плагина. Рассказываем, как подготовить Eclipse, разобраться в архитектуре EDT, исследовать типовой функционал, подключать публичные сервисы и создавать пользовательский интерфейс. Разбираем отладку и сборку плагина, а также типичные сложности, из-за которых новички часто останавливаются на первых шагах. Все этапы показываем на примерах из практики создания плагина для работы с хранилищем 1С.

17.09.2026    1377    ZigRinat85    1    

7

Нейросети DevOps и автоматизация разработки EDT Системный администратор Разработчик Руководитель проекта Стажер 1С 8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:ERP. Управление холдингом Абонемент ($m)

Почему ни утилита ring, ни ibcmd не способны «из коробки» собрать бинарный .cfe из исходников EDT без развертывания СУБД? Разработчики коммитят код в Git из 1C:EDT, но на серверы тестирования и в прод по-прежнему требуются бинарные контейнеры Конфигуратора. Ручные манипуляции с XML, локальные временные базы и забытый синтаксический контроль на каждой задаче сжигают часы рабочего времени. В статье разбираем архитектуру инструментов платформы и выстраиваем сквозной автоматический мост между EDT и Конфигуратором: - Анатомия сборки: почему ring только транслирует схему XML, а ibcmd жестко завязана на структуры СУБД; - Трансформация процессов: как освободить программиста от рутины, победить кодировки и Xvfb в Linux и сделать Git единственным источником правды; - Zero-dependency решение: скрипт edt-to-configurator.js, работающий и как консольный сборщик, и как Agent Skill для ИИ-ассистентов; - Ready-to-use CI/CD: готовые конфигурации для GitLab CI и GitHub Actions.

1 стартмани

31.08.2026    2497    Ninel_S    4    

2
Для отправки сообщения требуется регистрация/авторизация