Монитор структуры БД EDT: проверка опасных изменений до релиза
Плагин для 1C:EDT, который показывает, что изменилось в структуре данных, экспортных процедурах и функциях конфигурации относительно уже выпущенной версии. Он помогает заранее увидеть риск потери данных, сломанной интеграции или несовместимого обновления.
Главная идея
Перед выпуском версии вы фиксируете текущее состояние конфигурации как контрольную точку. Во время следующей разработки плагин сравнивает сохраненную точку с текущим EDT-проектом и прямо в панели показывает изменения, которые надо проверить перед обновлением клиентов.
В разработке 1С опасные изменения часто выглядят безобидно. Удалили реквизит, уменьшили длину строки, поменяли тип поля, удалили экспортную процедуру из общего модуля. В коде все может собираться, тестовая база может обновиться, но у клиента при обновлении можно потерять данные или сломать внешнюю обработку, которая вызывала старый экспортный метод.
Монитор структуры БД EDT делает такие изменения видимыми. Он не пытается заменить разработчика и не принимает решение за команду. Его задача проще: быстро показать список потенциально опасных отличий между выпущенной версией и текущей разработкой, чтобы их не нашли уже на продуктивной базе.
Не потерять данные
Плагин подсвечивает удаление таблиц и колонок, изменение UUID, сужение типов и другие изменения, которые могут повлиять на данные пользователей.
Не сломать интеграции
Отдельно контролируются экспортные процедуры и функции: их наличие, вид процедуры/функции, имена и порядок параметров.
Работать в EDT
Все происходит в привычной среде: панель, фильтры, отчет, переход к объекту по двойному щелчку и автообновление после сохранения изменений.
Почему это не просто сравнение структуры БД в 1С
Штатное сравнение структуры базы и конфигурации полезно, когда есть конкретная информационная база. Монитор решает другую задачу: он сравнивает текущую разработку с зафиксированным состоянием выпущенной версии прямо в EDT, без подготовки отдельной базы под каждую проверку. Это ближе к pre-release контролю совместимости: изменили метаданные или экспортную процедуру, сохранили проект, сразу увидели риск.
Как выглядит рабочий сценарий
1. Перед релизом фиксируете состояние версии
Когда версия готова к выпуску, создаете контрольную точку. Плагин сохраняет снимок структуры БД, экспортных процедур и функций в metadata рабочего пространства EDT. В проект служебные файлы не добавляются, синхронизация конфигурации их не трогает.
2. Разрабатываете следующую версию
Удалили реквизит, добавили объект, поменяли модуль, сохранили проект. Открытая панель монитора автоматически пересчитает результат по последней контрольной точке. Несохраненный текст в редакторе не анализируется, чтобы отчет соответствовал реальному состоянию файлов проекта.
3. Перед обновлением смотрите список рисков
Критичные изменения показываются красным, предупреждения и информационные изменения можно отфильтровать. По двойному щелчку плагин отправляет к месту изменения в EDT, чтобы не искать объект руками.
Панель с предупреждениями и информационными изменениями
Панель с критичными изменениями DB и экспортных методов
Что именно контролируется
DB: структура данных
- удаление таблиц и колонок;
- изменение UUID объекта или реквизита;
- сужение строк и чисел;
- изменение ссылочных типов;
- изменение обязательности, иерархии и индексов;
- добавление новых объектов и реквизитов
API: экспортные методы
- удаление экспортных процедур и функций;
- добавление экспортных процедур и функций как информационные изменения;
- изменение процедуры на функцию или функции на процедуру;
- удаление параметров;
- изменение порядка или имен параметров;
- добавление обязательного параметра как критичное изменение;
- добавление необязательного параметра как предупреждение.
Контроль экспортных процедур и функций особенно важен для конфигураций, вокруг которых есть внешние обработки, расширения, интеграции или клиентские доработки. Для пользователя это выглядит как обычный отчет, но по сути это проверка обратной совместимости экспортных методов.
Настройки типов изменений
Не каждой команде нужен одинаковый набор проверок. В настройках плагина можно указать, какие типы изменений регистрировать в отчете и панели монитора.
Типы изменений сгруппированы по уровню риска:
- Критичные - изменения, которые могут привести к потере данных или сломать внешние вызовы экспортных методов.
- Предупреждения - изменения, которые требуют проверки, но не всегда являются ошибкой.
- Информация - новые таблицы, реквизиты, индексы и экспортные методы.
В каждой группе отдельно настраиваются DB-изменения и изменения экспортных методов. Можно включить или отключить все проверки группы целиком либо оставить только нужные пункты. После применения настроек открытая панель монитора пересчитывает результат с учетом выбранных типов.
Настройки позволяют выбрать, какие критичные, предупреждающие и информационные изменения попадут в проверку
Панель монитора в EDT
Панель открывается через меню Монитор структуры БД или через Window → Show View → Other.... Если в workspace только один подходящий EDT-проект, плагин выбирает его автоматически. Если проектов несколько, можно выбрать нужный кнопкой в шапке.
Что есть в панели:
- кнопки выбора проекта, обновления, открытия HTML-отчета и создания контрольной точки;
- статус проверки: все хорошо, есть критичные изменения или ошибка анализа;
- дерево изменений с группировкой по источнику DB/API и уровню риска;
- отборы по источнику и уровню;
- сохранение ширины колонок после ручной настройки;
- автообновление после
Сохранить,Сохранить все, добавления, удаления, переименования или перемещения файлов метаданных и модулей; - переход к объекту изменения по двойному щелчку.
Панель не открывается сама. Автообновляется только уже открытое представление и только для выбранного проекта.
Пример результата
Допустим, в версии 2.5 была константа с таблицей и экспортный метод ПолучитьДанные(). В разработке 2.6 реквизит удалили, а экспортный метод убрали или изменили его параметры. После сохранения проекта монитор покажет:
DB → Критично
- Удалена таблица или колонка, где могли храниться данные пользователя.
- Рекомендация: проверить миграцию данных или вернуть поле.
API → Критично
- Удален экспортный метод, который могли использовать внешние обработки.
- Рекомендация: вернуть метод, оставить совместимую обертку или зафиксировать осознанное изменение.
Такой отчет удобно смотреть не в конце релиза, а в процессе разработки. Чем раньше изменение видно, тем дешевле его поправить.
Осознанные изменения
Не каждое критичное изменение является ошибкой. Иногда реквизит действительно удалили после переноса данных, а старый экспортный метод больше не должен поддерживаться. Для таких случаев есть механизм отработки.
- Выделяете изменение в панели или отчете.
- Выбираете команду разрешения найденного изменения.
- Указываете причину: например, "данные перенесены обработкой обновления".
- Изменение остается видимым, но не делает итоговый статус критичным.
Это важно: плагин не прячет риск. Он показывает, что команда увидела изменение и явно приняла решение.
HTML-отчет и экспорт
Кроме панели EDT плагин формирует HTML-отчет. Он нужен для ревью, передачи коллегам или фиксации результата проверки перед релизом.
В отчете есть:
- карточки итогового состояния, DB и API;
- поиск по списку изменений;
- фильтры по источнику и уровню риска;
- таблицы DB и API изменений;
- экспорт видимого списка в CSV прямо из браузера;
- ссылки на детальные DB/API отчеты.
CSV удобно открыть в Excel, приложить к задаче или отправить ответственным за проверку обновления.

Поддержка расширений
Если у основного проекта есть проект-расширение, монитор учитывает его вместе с основной конфигурацией. Это нужно для типичного сценария, когда базовая конфигурация и расширение развиваются рядом и вместе влияют на итоговое состояние приложения.
Проекты внешних обработок не смешиваются с основной конфигурацией автоматически. Для них логика другая: внешняя обработка не должна менять структуру БД основной конфигурации как расширение.
Управление контрольными точками
Контрольная точка - это зафиксированное состояние версии, с которым потом сравнивается текущая разработка. Для них есть отдельный диалог управления, чтобы не искать служебные файлы вручную.
В диалоге можно:
- посмотреть список сохраненных контрольных точек по выбранному проекту;
- увидеть версию, дату создания, наличие снимка DB и экспортных методов;
- создать новую точку без ручного выбора папок и XML-файлов;
- выбрать точку, которая будет использоваться как базовая для сравнения;
- удалить устаревшие точки;
- открыть папку хранения, если нужно посмотреть файлы напрямую.
Если базовая точка явно не выбрана, плагин использует последнюю сохраненную. Это удобно для обычного сценария: выпустили версию, создали новую точку, дальше монитор автоматически сравнивает разработку уже с ней.
В списке контрольных точек видно версию, дату, наличие DB/API-снимков и выбранную базовую точку
Где хранятся контрольные точки
Контрольные точки сохраняются в служебной области workspace EDT: .metadata/.plugins/com.edt.tools.dbmonitor/. Это осознанно вынесено за пределы EDT-проекта.
Зачем так: служебные XML и отчеты не попадают в конфигурацию, не мешают синхронизации с информационной базой и не создают лишние изменения в Git. Пользователь управляет ими через UI плагина, а не вручную через файлы.
Команды меню
- Открыть панель монитора - открывает основную панель с деревом изменений.
- Создать точку текущей версии - фиксирует состояние структуры БД, экспортных процедур и функций выбранного проекта.
- Проверить по последней точке - сравнивает текущий проект с последней сохраненной точкой.
- Управление контрольными точками - показывает список сохраненных точек и позволяет удалить лишние.
- Настройки… - открывает список типов изменений, которые должны попадать в монитор и отчеты.
- Диагностика контрольных точек - помогает понять, где плагин ищет данные и почему точка могла не найтись.
Если проект выделен в Project Explorer, команды используют его автоматически. Если подходящий проект в workspace один, выбор тоже не требуется.
Установка
В поставке два архива:
Для использования
Готовый p2-репозиторий для установки плагина в EDT. Содержит собранные бинарники, не требует сборки. Просто распакуйте и установите.
Для доработки
Исходный код проекта с Maven-структурой. Для тех, кто хочет дорабатывать плагин под свои нужды или изучить реализацию.
Установка готового плагина:
- Распакуйте архив для использования
- Откройте EDT:
Help → Install New Software... - Нажмите
Add..., затемLocal... - Выберите папку
dist/p2-repositoryиз архива - Выберите Монитор структуры БД EDT в списке
- Завершите установку и перезапустите EDT
Сборка из исходников (архив для доработки):
- Распакуйте архив для доработки
- Установите Java 17 и Maven
- Откройте PowerShell в корне проекта
- Выполните:
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\build-plugin.ps1 - P2-репозиторий будет создан в
dist/p2-repository - Установите собранный плагин как описано выше
После установки в главном меню EDT появится раздел Монитор структуры БД.
- 1C:EDT с поддержкой Big Model API;
- Java 17 для сборки из исходников;
- Maven/Tycho для сборки плагина;
- EDT-проект конфигурации или расширения.
- Тестировалось на платформе 8.3.27.1936, 8.5.1.1343
Итог
Монитор структуры БД EDT нужен не для красивого отчета, а для спокойного обновления клиентов. Он дает команде простой контрольный список: какие изменения в данных, экспортных процедурах и функциях появились после последнего выпуска, какие из них критичны, какие уже осознанно отработаны и куда перейти в EDT, чтобы быстро разобраться.
Что получает разработчик 1С:
- проверку опасных изменений прямо в EDT;
- сравнение текущей разработки с состоянием выпущенной версии;
- контроль структуры БД, экспортных процедур и функций в одном месте;
- автообновление панели после сохранения изменений;
- фильтры, дерево, цветовую индикацию и переход к объекту;
- HTML-отчет и CSV-экспорт для ревью;
- механизм фиксации осознанных breaking changes.
Для кого
Для команд 1С, которые используют EDT, выпускают конфигурации или расширения клиентам и хотят видеть риски обновления до того, как они попадут в продуктивную базу.
Другие разработки автора
- EDT Complexity Analyzer - анализ сложности BSL-кода прямо в среде разработки
- Консоль запросов для 1C:EDT - выполнение запросов прямо в отладчике
- Transparent Image - делаем картинку прозрачной
- Удаление объектов
- Стартер 1С - запуск, пользователи, кэш, DT/CF и демо-базы
- Skill для ИИ - научил его отлаживать 1С: смотреть переменные, идти по шагам и глубже разбирать код
- VS Code + 1С без лишней рутины - плагин для конфигурации, расширений, EPF/ERF и AI-скиллов
- ИИ-кодер без багов - настраиваем агента для безупречного кода
Вступайте в нашу телеграмм-группу Инфостарт