Как автоматически сгенерировать UML-схему (ER-диаграмму) для конфигурации 1С?

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

При работе с самописными или сильно доработанными типовыми конфигурациями 1С часто возникает задача понять и визуализировать их структуру. Огромное количество объектов метаданных (справочников, документов, регистров) и связей между ними сложно удержать в голове. В этом случае на помощь приходит автоматическая генерация визуальной схемы данных. Давайте разберемся, как можно построить такую схему, которую в контексте 1С чаще всего называют ER-диаграммой (модель «сущность-связь»), хотя в нотации UML это будет диаграмма классов.

Решение 1: Использование встроенных возможностей 1C:Enterprise Development Tools (EDT)

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

Разберем по шагам, как это сделать:

  1. Откройте вашу конфигурацию как проект в 1C:EDT.
  2. В панели «Навигатор» (Navigator) найдите нужный объект метаданных (например, справочник Номенклатура или документ РеализацияТоваровУслуг).
  3. Нажмите на объекте правой кнопкой мыши и в контекстном меню выберите пункт «Открыть схему данных» (Open Data Schema).

EDT автоматически построит и отобразит диаграмму, на которой будет виден выбранный объект и все связанные с ним объекты метаданных. Инструмент наглядно покажет, какие справочники используются в реквизитах документа, в какие регистры он делает движения и так далее. Можно добавлять на схему новые объекты и выстраивать связи, чтобы исследовать только интересующую вас подсистему.

Преимущества этого метода:

Решение 2: Генерация диаграмм с помощью PlantUML

Если нужна большая гибкость, возможность хранить схему в текстовом виде (например, для контроля версий в Git) и настраивать ее внешний вид, отличным решением будет использование PlantUML. Это инструмент, который генерирует диаграммы из текстового описания.

Сам процесс состоит из двух этапов:

  1. Выгрузка структуры метаданных в текстовый файл. Необходимо с помощью специальной обработки для 1С обойти метаданные конфигурации и сформировать на их основе текстовое описание. Готовые инструменты для этих целей, такие как схема объектов 1С (PlantUML) или обработки, выполняющие выгрузку метаданных в JSON для последующего парсинга, можно найти в открытом доступе на портале Инфостарт.
  2. Генерация изображения. Полученный текстовый файл передается процессору PlantUML, который преобразует его в графическую схему (например, в формате PNG или SVG). Это можно сделать с помощью онлайн-сервисов или установив PlantUML локально.

Например, связь между документом ЗаказКлиента и справочником Контрагенты в синтаксисе PlantUML может выглядеть так:


@startuml
entity "Документ.ЗаказКлиента" as Doc_Order {
  + Контрагент: Справочник.Контрагенты
  + Склад: Справочник.Склады
}

entity "Справочник.Контрагенты" as Cat_Partners {
  + Наименование: Строка
  + ИНН: Строка
}

Doc_Order --> Cat_Partners : "использует"
@enduml

Преимущества этого метода:

Решение 3: Специализированные решения и обработки

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

Система проектирования прикладных решений (СППР)

Это отдельная конфигурация от фирмы «1С», предназначенная для ведения проектной документации, моделирования бизнес-процессов и проектирования структур данных. СППР позволяет импортировать структуру метаданных из файла конфигурации (*.cf) и на ее основе строить различные модели и диаграммы. Это мощный, но платный и более сложный в освоении инструмент, который больше подходит для системных архитекторов и руководителей проектов.

Готовые обработки с Инфостарта

На профессиональных ресурсах для 1С-разработчиков существует множество инструментов, которые решают задачу визуализации структуры конфигурации. Например, граф зависимостей ссылок реквизитов табличных частей позволяет не только строить блок-схемы, но и проводить автоматический анализ метаданных с подсчетом количества объектов в базе. Также популярны решения для автоматического построения ER-диаграмм, которые поддерживают детальную настройку отображения реквизитов и типов связей. Также архитекторам может быть полезна UML-диаграмма классов по метаданным, которая помогает визуализировать логическую иерархию системы.

Важные ограничения и практические советы

При автоматической генерации схем для 1С важно помнить о нескольких ключевых моментах.

Программные связи. Не все связи между данными можно отследить на уровне метаданных. Часто разработчики используют составные типы данных (ХранилищеЗначения, ОпределяемыйТип) или хранят в регистрах сведений (РС) идентификаторы объектов и их типы в виде строк. Например, в реквизите типа УникальныйИдентификатор может храниться ссылка на любой объект в базе. Такие «нетипизированные» связи автоматические генераторы схем, как правило, не увидят, так как они существуют только на уровне программного кода.

Сложность схем для больших конфигураций. Попытка построить единую схему для всей конфигурации уровня 1С:ERP или даже сильно измененной БГУ (Бухгалтерия государственного учреждения) приведет к созданию огромной, нечитаемой диаграммы. На ней будут тысячи объектов и связей, разобраться в которых будет невозможно. Поэтому практический совет — используйте возможности фильтрации по подсистемам и генерируйте схемы не для всей конфигурации, а для отдельных функциональных блоков, которые вы хотите проанализировать в данный момент.

← На главную