Как устроено дерево метаданных в Конфигураторе 1С:Предприятие 8.3

· 9 мин

Содержание

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

Разработчик в этом дереве создаёт и меняет объекты. Администратор — смотрит, что лежит в базе, что на поддержке, что изменено, и ищет, где используется нужный регистр. Пользователю дерево напрямую не видно, но его копия есть в режиме «Все функции».

Что такое дерево объектов конфигурации и откуда оно берётся

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

Корень дерева — сама конфигурация. В её свойствах задаются:

  • 🏷️ имя, синоним и версия конфигурации;
  • ⚙️ основной режим запуска (управляемое приложение для современных решений);
  • 🔒 режим управления блокировкой данных (автоматический, управляемый или смешанный);
  • 🧩 режим совместимости — с какой версией платформы ведёт себя конфигурация.

Из контекстного меню корня открываются модули уровня приложения: модуль управляемого приложения, модуль сеанса, модуль внешнего соединения.

В Конфигураторе есть два дерева. Основная конфигурация — та, которую вы редактируете. Конфигурация базы данных — та, по которой сейчас реально работает база: Конфигурация → Конфигурация базы данных → Открыть конфигурацию БД. Второе дерево только для чтения. Изменения из первого переходят во второе после команды «Обновить конфигурацию базы данных» (F7).

Ветки дерева и виды объектов конфигурации

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

Ветка «Общие»

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

  • 📂 Подсистемы — разделы командного интерфейса и логическая группировка объектов;
  • 📜 Общие модули — процедуры, доступные из разных мест;
  • 🔑 Роли — права доступа ;
  • 🧷 Параметры сеанса, Общие реквизиты, Функциональные опции;
  • 🔄 Планы обмена, Подписки на события, Регламентные задания;
  • 🖼️ Общие формы, Общие команды, Общие макеты, Общие картинки, Стили;
  • 🌐 Web-сервисы, HTTP-сервисы, XDTO-пакеты;
  • 🧱 Определяемые типы, Языки, Хранилища настроек.

Прикладные объекты

Под «Общими» идут объекты, из которых платформа создаёт таблицы в базе данных.

ВеткаЧто хранитПример в типовой конфигурации
Константыодно значение на всю базуучётная политика по умолчанию
Справочникисписки однотипных элементовноменклатура, контрагенты
Документысобытия с датой и номеромреализация, поступление
Журналы документовобщий список разных документовжурнал кассовых документов
Перечисленияфиксированный набор значенийвиды операций, ставки НДС
Отчёты, Обработкиалгоритмы без своих таблицоборотно-сальдовая ведомость
Планы видов характеристиквиды дополнительных свойстввиды субконто
Планы счетовструктура счетовхозрасчётный план счетов
Планы видов расчётаначисления и удержанияоклад, премия
Регистры сведенийзначения в разрезе измеренийкурсы валют, цены
Регистры накопленияостатки и оборотытовары на складах
Регистры бухгалтериипроводкижурнал проводок
Регистры расчётапериодические расчётыначисления зарплаты
Бизнес-процессы, Задачимаршруты согласованиясогласование договора
Внешние источники данныхтаблицы сторонней СУБДданные складской системы

У документов внутри ветки есть ещё Нумераторы и Последовательности — они общие для нескольких видов документов.

Как открыть дерево и работать с ним в Конфигураторе

Базовая последовательность для любой правки:

  1. Запустите базу в режиме «Конфигуратор» из окна запуска 1С.
  2. Выберите Конфигурация → Открыть конфигурацию. Слева появится окно с деревом.
  3. Раскройте нужную ветку, дважды щёлкните объект — откроется окно редактирования с вкладками (основные, данные, формы, команды, макеты и другие, набор зависит от вида объекта).
  4. Отдельные свойства удобнее менять в палитре свойств: контекстное меню объекта → «Свойства».
  5. После изменений нажмите F7, чтобы обновить конфигурацию базы данных.

Перед обновлением конфигурации базы данных на рабочей базе сделайте выгрузку Администрирование → Выгрузить информационную базу в файл .dt. Если изменение затрагивает структуру таблиц, платформе понадобится монопольный доступ — пользователей придётся попросить выйти.

Полезные команды дерева

  • 🔍 Поиск по имени. Встаньте в дерево и начните набирать имя объекта — курсор перейдёт к совпадению.
  • 🧭 Отбор по подсистемам. Кнопка в командной панели окна конфигурации. Оставляет в дереве только объекты выбранных подсистем — спасает в БП или ЗУП, где объектов тысячи.
  • 🔗 Поиск ссылок на объект. Контекстное меню объекта. Показывает, в каких реквизитах, формах, ролях и подсистемах он упомянут.
  • 📊 Отчёт по конфигурации. Конфигурация → Отчет по конфигурации. Выводит структуру дерева в текст или таблицу — удобно для документации.
  • 🗂️ Выгрузка в файлы. Конфигурация → Выгрузить конфигурацию в файлы раскладывает объекты в XML по каталогам, повторяющим ветки дерева. Так конфигурацию кладут в Git.

Значки рядом с объектами

У типовых конфигураций на поддержке слева от объектов стоят значки-замки. Закрытый замок — объект поставщика не редактируется. Замок с карандашом — изменения разрешены с сохранением поддержки. Отсутствие значка — объект снят с поддержки или создан вами.

Если база подключена к хранилищу конфигурации, рядом появляются отметки захвата: какие объекты захвачены вами, какие — другими разработчиками.

Иерархия и связи между объектами метаданных

Дерево показывает только одну иерархию — «тип → объект → его части». Остальные связи в нём не видны, их надо знать.

Подчинённые элементы объекта

Раскройте любой справочник — под ним будут:

  • реквизиты и табличные части с их реквизитами;
  • формы, команды, макеты.

У регистров вместо реквизитов главные — измерения и ресурсы. Измерения — разрезы учёта (склад, номенклатура), ресурсы — числа (количество, сумма). Плюс обычные реквизиты для справочной информации.

Связи, которых в дереве не видно

СвязьГде задаётсяКак проверить
Ссылка через тип реквизитатип реквизита, например СправочникСсылка.Контрагентыпоиск ссылок на объект
Подчинение справочниковсвойство «Владельцы» подчинённого справочникавкладка «Владельцы» в окне справочника
Движения документавкладка «Движения» у документасписок регистров на вкладке
Регистратор регистраобратная сторона движенийпоиск ссылок на регистр
Состав подсистемысвойство «Состав» подсистемыотбор по подсистемам
Правароли в ветке «Общие»окно роли, фильтр по объекту

Подчинённый справочник в дереве стоит на том же уровне, что и владелец. Это частая путаница: «Договоры контрагентов» не вложены под «Контрагентов», связь видна только в свойствах.

Один объект может входить в несколько подсистем сразу. Подсистема — это не папка, а метка.

Практические сценарии работы с деревом

Добавить реквизит в справочник

  1. Найдите справочник в ветке «Справочники», откройте двойным щелчком.
  2. На вкладке «Данные» нажмите «Добавить» в списке реквизитов.
  3. Задайте имя латиницей или кириллицей без пробелов, синоним и тип.
  4. Перетащите реквизит на форму элемента в редакторе формы, иначе пользователь его не увидит.
  5. Обновите конфигурацию БД (F7).

В типовой конфигурации на поддержке так делать не стоит: при обновлении придётся сравнивать и объединять изменения. Для доработок типовых решений есть расширения конфигурации (с платформы 8.3.6).

Найти, какие документы пишут в регистр

Откройте регистр накопления, вызовите поиск ссылок на объект. В результатах будут документы, у которых этот регистр отмечен на вкладке «Движения», а также формы и модули, где он упоминается.

Получить список объектов из кода

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

Для Каждого МетаДокумент Из Метаданные.Документы Цикл
    Сообщить(МетаДокумент.Имя + " — " + МетаДокумент.Синоним);
КонецЦикла;

Найти объект по полному имени:

МетаОбъект = Метаданные.НайтиПоПолномуИмени("Справочник.Номенклатура");
Если МетаОбъект <> Неопределено Тогда
    Сообщить(МетаОбъект.ПолноеИмя());
КонецЕсли;

Посмотреть дерево без Конфигуратора

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

Где дерево объектов вредит, если работать неаккуратно

  • ✏️ Переименование объекта. Имя используется в коде, запросах и формах. После переименования ищите старое имя глобальным поиском по конфигурации, иначе получите ошибки при выполнении.
  • 🗑️ Удаление без поиска ссылок. Удалённый реквизит может использоваться в отчёте или обработке. Сначала поиск ссылок, потом удаление.
  • 🔓 Снятие объекта с поддержки «чтобы поправить строчку». Потом каждое обновление типовой превращается в ручное сравнение. Доработку лучше вынести в расширение.
  • 💾 Забыли F7. Изменения в основной конфигурации не работают, пока не обновлена конфигурация БД. Пользователи видят старое поведение.
  • 🔁 Правка без захвата в хранилище. При групповой разработке объект нужно захватить, иначе изменение не поместится в хранилище.

Дерево объектов в 1С 7.7, 8.2, 8.3 и EDT

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

ВерсияКак выглядитОсобенности
1С 7.7окно «Конфигурация» с вкладками «Метаданные», «Диалоги», «Интерфейсы», «Права»права и интерфейсы — отдельные вкладки, а не ветки
1С 8.2дерево с ветками «Общие» и прикладными объектамипоявились управляемые формы и общие формы
1С 8.3то же дерево, ветки дополненыопределяемые типы, HTTP-сервисы, сервисы интеграции; расширения конфигурации со своим деревом
1С:EDTнавигатор проектаобъекты те же, хранятся как файлы проекта

Расширение конфигурации открывается из Конфигурация → Расширения конфигурации. У него собственное дерево той же структуры. Объекты типовой, которые вы дорабатываете, туда сначала заимствуют — они помечаются как заимствованные, а свои объекты добавляются рядом.

Куда вносить изменение?

Приёмы для разработчиков и администраторов

  • 🧭 Работайте через подсистемы. Перед задачей в БП включите отбор по одной подсистеме, например «Банк и касса». Дерево сократится в разы.
  • 🧾 Сравнение конфигураций. Конфигурация → Сравнить конфигурации показывает различия двух деревьев по объектам — так проверяют, что изменилось после обновления или чужой доработки.
  • 🗃️ Сравнение основной и БД. Перед F7 полезно сравнить основную конфигурацию с конфигурацией базы данных и увидеть, что именно уйдёт в базу.
  • 🧹 Проверка конфигурации. Конфигурация → Проверка конфигурации находит ссылки на несуществующие объекты, ошибки в модулях и формах.
  • 🗂️ Git-история. Выгрузка в файлы раз в день даёт историю изменений по каждому объекту без хранилища.
Можно ли поменять порядок веток в дереве конфигурации?
Нет. Порядок веток задан платформой. Можно лишь сократить видимый состав дерева отбором по подсистемам.
Почему в дереве нет объекта, хотя в программе он есть?
Скорее всего, объект добавлен расширением или внешней обработкой. Проверьте Конфигурация → Расширения конфигурации и список внешних отчётов и обработок в пользовательском режиме.
Чем основная конфигурация отличается от конфигурации базы данных?
Основная — рабочая копия разработчика. Конфигурация БД — то, по чему работает база. Они совпадают после обновления конфигурации БД.
Можно ли открыть дерево объектов без прав администратора?
Для входа в Конфигуратор нужна роль с правом администрирования или правом на запуск Конфигуратора. Обычному пользователю доступна только команда «Все функции».
Как выгрузить список всех объектов конфигурации в Excel?
Сформируйте отчёт по конфигурации и сохраните его как табличный документ, либо обойдите Метаданные кодом и выведите имена в таблицу.