Работа с базой данных в 1С:Предприятие часто требует понимания структуры хранения информации — какие таблицы существуют, как они связаны между собой, какие поля содержат. Без визуальной схемы данных разобраться в сложных конфигурациях бывает крайне сложно, особенно если вы наследуете проект от другого разработчика или анализируете типовой продукт вроде 1С:ERP или 1С:УТ. К счастью, платформа предоставляет несколько инструментов для просмотра схемы — как встроенных, так и через внешние обработки.

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

1. Стандартный просмотр схемы данных через Конфигуратор

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

  1. Откройте конфигуратор в режиме 1С:Предприятие (с правами администратора).
  2. Перейдите в меню Администрирование → Поддержка и обслуживание → Схема данных (в старых версиях путь может отличаться: Сервис → Схема данных).
  3. В открывшемся окне выберите нужные объекты метаданных (справочники, документы, регистры) и нажмите Построить схему.

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

  • 📊 Прямоугольники — это объекты метаданных (например, справочник Номенклатура).
  • 🔗 Линии со стрелками — связи между объектами (ссылочные поля, подчинённость).
  • 🔍 Контекстное меню (правый клик по объекту) позволяет перейти к его свойствам или открыть в отдельном окне.

Преимущество этого метода — скорость и отсутствие дополнительных настроек. Однако у него есть ограничения:

  • ❌ Не отображаются виртуальные таблицы (например, остатки регистров накопления).
  • ❌ Нет возможности сохранить схему в графический файл (только печать через Ctrl+P).
  • ❌ В больших конфигурациях (например, 1С:ERP) схема становится слишком перегруженной.
💡

Если схема не строится или выдаёт ошибку, проверьте права пользователя в конфигураторе. Для просмотра схемы данных требуется роль с правом"Администрирование" или"Конфигурирование".

2. Использование отчёта «Структура хранения данных»

Для более детального анализа физической структуры базы (таблиц СУБД) в предусмотрен отчёт Структура хранения данных. Он показывает, как объекты метаданных преобразуются в таблицы базы данных (например, PostgreSQL или MS SQL), включая:

  • 🗃️ Имена реальных таблиц в СУБД (например, _Document123 для документа ПоступлениеТоваров).
  • 🔑 Первичные и внешние ключи.
  • 📏 Размеры полей и их типы (число, строка, дата).

Как открыть отчёт:

1. В конфигураторе перейдите в меню:

"Администрирование" →"Поддержка и обслуживание" →"Структура хранения данных".

2. Выберите нужные объекты (или оставьте все галочки для полного анализа).

3. Нажмите"Сформировать".

Этот отчёт незаменим, если вам нужно:

  • 🛠️ Оптимизировать SQL-запросы к базе.
  • 🔧 Разобраться, почему медленно работает отчёт (например, из-за отсутствия индексов).
  • 📊 Подготовить документацию для администратора СУБД.
Что делать, если отчёт не показывает все таблицы?

Если в отчёте отсутствуют некоторые таблицы, проверьте:

1. Права пользователя на чтение системных таблиц СУБД.

2. Настройки фильтра в отчёте (возможно, исключены служебные объекты).

3. Версию платформы — в 8.3.18+ добавлена поддержка новых типов данных (например, ХранилищеЗначения), которые могут не отображаться в старых версиях.

3. Внешние обработки для визуализации схемы данных

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

Обработка Возможности Ссылка (поиск)
ERD для 1С Построение ER-диаграмм, экспорт в .png/.pdf, анализ связей между объектами. Инфостарт, GitHub
СхемаДанныхПро Интерактивная схема с фильтрацией по типам объектов, поиск по именам полей. 1С-Софт
DataStructure Анализ физической структуры БД, сравнение версий конфигураций. Каталог 1С

Пример работы с обработкой ERD для 1С:

  1. Скачайте и установите обработку (например, с Инфостарта).
  2. Откройте её в режиме 1С:Предприятие через Файл → Открыть.
  3. Выберите объекты для анализа (можно использовать фильтр по именам).
  4. Нажмите Построить схему и дождитесь формирования диаграммы.

Преимущества внешних обработок:

  • 🎨 Более наглядное отображение связей (цветовые схемы, группировка по модулям).
  • 📤 Возможность экспорта схемы в графические форматы для документации.
  • 🔍 Расширенный поиск (например,"найти все справочники, ссылающиеся на Контрагентов").
📊 Какую обработку для схемы данных вы используете чаще?
Стандартный Конфигуратор
ERD для 1С
СхемаДанныхПро
Собственная разработка
Не использую

4. Анализ схемы через запросы к метаданным

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

Пример запроса для получения списка таблиц справочника Номенклатура:

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Метаданные.Справочники.Имя КАК Имя,

| Метаданные.Справочники.Синоним КАК Синоним,

| Метаданные.Справочники.Таблицы.Имя КАК ТаблицаБД

|ИЗ

| Метаданные.Справочники КАК Метаданные

|ГДЕ

| Метаданные.Справочники.Имя =""Номенклатура""";

Результат = Запрос.Выполнить;

Что можно анализировать таким способом:

  • 📋 Список всех таблиц объекта (включая виртуальные).
  • 🔗 Связи между объектами (через Метаданные.Связи).
  • 📏 Структуру полей (типы, длины, обязательность заполнения).

Этот метод требует знания встроенного языка 1С и СКД (система компоновки данных), но даёт максимальную гибкость. Например, вы можете:

  • 🤖 Автоматизировать проверку конфигурации на соответствие стандартам.
  • 📊 Строить отчёты по использованию типов данных (например,"где используются поля типа ХранилищеЗначения").
💡

Запросы к метаданным работают только в режиме 1С:Предприятие с правами"Администрирование". В обычном пользовательском режиме они вернут ошибку доступа.

5. Просмотр схемы данных в режиме отладки

Малоизвестный, но полезный приём — использование отладчика 1С для анализа структуры данных. Этот метод подходит, если вам нужно быстро посмотреть, какие таблицы задействованы в конкретном запросе или отчёте.

Как это работает:

  1. Поставьте точку останова (F9) на строке с запросом или отчётом.
  2. Запустите отладку (F5).
  3. В момент выполнения запроса откройте окно Выражения (Ctrl+Alt+W).
  4. Добавьте выражение Метаданные.Таблицы и разверните его в дереве.

В окне отладчика вы увидите:

  • 📄 Полный список таблиц базы данных.
  • 🔍 Их свойства (включая системные таблицы вроде _1SJOURN для журналов регистрации).
  • 🔗 Связи между таблицами (через поля Ссылка).

Этот способ особенно полезен для:

  • 🐞 Диагностики ошибок в запросах (например,"таблица не найдена").
  • 🔧 Оптимизации сложных отчётов (понимание, какие таблицы joins используются).

Поставить точку останова на проблемном участке кода

Запустить 1С в режиме отладки (с правами администратора)

Открыть окно"Выражения" (Ctrl+Alt+W)

Добавить выражение Метаданные.Таблицы или Метаданные.Справочники

Развернуть нужные ветки в дереве объектов-->

6. Сравнение схем данных в разных версиях конфигурации

Если вы работаете с обновляемыми конфигурациями (например, типовой 1С:Бухгалтерия), полезно сравнивать схемы данных между версиями. Это помогает:

  • 🔄 Отследить, какие таблицы появились/исчезли после обновления.
  • 🛠️ Найти причины ошибок (например, если запрос перестал работать из-за изменения структуры).
  • 📊 Подготовить миграционные скрипты для пользовательских доработок.

Как сравнить схемы:

  1. Сохраните схему текущей версии (через Конфигуратор → Схема данных → Сохранить как...).
  2. Обновите конфигурацию и повторите шаг 1 для новой версии.
  3. Используйте внешние утилиты (например, Beyond Compare или WinMerge) для сравнения сохранённых файлов.

Для автоматизации этого процесса можно использовать скрипты на PowerShell или Python, которые:

  • 🤖 Экспортируют схему в XML/JSON.
  • 📊 Строят отчёты по различиям (например, с помощью pandas в Python).
Пример скрипта для экспорта схемы в JSON

```python

import json

import subprocess

Запускаем 1С с параметром выгрузки схемы

result = subprocess.run(

['1cv8','/IBName:"C:\Bases\Demo"','/Execute','/C"ВыгрузитьСхемуДанных("C:\temp\schema.json")"'],

capture_output=True, text=True

)

Сохраняем результат в файл

with open('schema_comparison.json','w', encoding='utf-8') as f:

json.dump(json.loads(result.stdout), f, ensure_ascii=False, indent=4)

```

Примечание: Требует предварительной настройки обработки ВыгрузитьСхемуДанных в 1С.

7. Практические советы по работе со схемой данных

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

  • 🔍 Используйте фильтры: В стандартной схеме данных можно отфильтровать объекты по типу (например, показать только документы или регистры).
  • 📌 Сохраняйте часто используемые схемы: Если вы регулярно работаете с одними и теми же объектами, сохраняйте схему в .png или .pdf для быстрого доступа.
  • 🤝 Сотрудничайте с администратором СУБД: Для анализа производительности запросов может потребоваться доступ к SQL Profiler или pgAdmin.
  • 📚 Документируйте изменения: Ведите журнал схемы данных (например, в Confluence или Notion), особенно если работаете в команде.

Типичные ошибки при работе со схемой:

  • ❌ Игнорирование виртуальных таблиц (например, РегистрНакопления.Остатки). Они не отображаются в стандартной схеме, но критичны для запросов.
  • ❌ ПAttempts to analyze the schema in 1С:Предприятие mode without administrator rights (will result in access errors).
  • ❌ Forgetting to update the schema after configuration changes (the old schema may mislead).
💡

Если схема данных не строится в типовой конфигурации (например, 1С:ЗУП), проверьте наличие обновлений платформы. В версиях ниже 8.3.16 были баги с отображением сложных связей.

FAQ: Частые вопросы о схеме данных в 1С

Можно ли посмотреть схему данных без прав администратора?

Нет, для просмотра схемы данных в Конфигураторе или через отчёт Структура хранения данных требуются права"Администрирование" или"Конфигурирование". Однако вы можете:

  • Попросить администратора выгрузить схему в PDF.
  • Использовать внешние обработки (если они установлены и настроены для вашей роли).
Как экспортировать схему данных в Visio или Draw.io?

Прямого экспорта из в эти форматы нет, но можно:

  1. Сохранить схему как изображение (.png) через Конфигуратор.
  2. Импортировать это изображение в Visio/Draw.io и доработать вручную.
  3. Использовать обработки вроде ERD для 1С, которые поддерживают экспорт в .vsdx (формат Visio).
Почему в схеме данных не отображаются виртуальные таблицы регистров?

Стандартная схема данных в Конфигураторе показывает только физические объекты метаданных (справочники, документы). Виртуальные таблицы (например, РегистрНакопления.Обороты) не являются отдельными объектами конфигурации, поэтому:

  • Их структуру можно посмотреть в отчёте Структура хранения данных (раздел"Виртуальные таблицы").
  • Или через запрос к метаданным: ВЫБРАТЬ Метаданные.РегистрыНакопления.ВиртуальныеТаблицы.
Как найти, какие объекты ссылаются на конкретный справочник?

Есть несколько способов:

  1. В стандартной схеме данных: выделите справочник, правой кнопкой выберите"Найти ссылки".
  2. Через запрос:
    ВЫБРАТЬ
    

    Метаданные.Ссылки.Источник.Имя КАК Объект,

    Метаданные.Ссылки.ТипСсылки.Имя КАК ТипСсылки

    ИЗ

    Метаданные.Ссылки КАК Метаданные

    ГДЕ

    Метаданные.Ссылки.Цель.Имя ="Справочник.Контрагенты"

  3. В обработках вроде ERD для 1С есть специальный фильтр"Показать ссылки на...".
Можно ли автоматизировать построение схемы данных для документации?

Да, для этого можно:

  • 🤖 Написать обработку на встроенном языке, которая выгружает схему в HTML/Markdown.
  • 📊 Использовать внешние инструменты (например, Sphinx + PlantUML) для генерации диаграмм по данным из 1С.
  • 🔧 Интегрировать 1С с системами документации (например, Confluence) через REST API.

Пример кода для выгрузки в Markdown:

Процедура ВыгрузитьСхемуВMarkdown(КаталогВыгрузки)

ТекстMarkdown ="";

Для Каждого Объект Из Метаданные.Объекты Цикл

ТекстMarkdown = ТекстMarkdown + Строка(Объект.Имя) +" (" + Объект.Тип.Имя +")" + Символы.ПС;

КонецЦикла;

ЗаписатьТекст(КаталогВыгрузки +"schema.md", ТекстMarkdown);

КонецПроцедуры