Как устроено дерево метаданных в Конфигураторе 1С:Предприятие 8.3
Содержание
Дерево объектов конфигурации 1С — это окно «Конфигурация» в Конфигураторе, где всё прикладное решение разложено по веткам: справочники, документы, регистры, отчёты, общие модули и так далее. Открывается оно командой Конфигурация → Открыть конфигурацию. Каждый узел дерева — объект метаданных, из которого платформа 1С:Предприятие строит таблицы базы, формы и команды интерфейса.
Разработчик в этом дереве создаёт и меняет объекты. Администратор — смотрит, что лежит в базе, что на поддержке, что изменено, и ищет, где используется нужный регистр. Пользователю дерево напрямую не видно, но его копия есть в режиме «Все функции».
Что такое дерево объектов конфигурации и откуда оно берётся
Конфигурация 1С — это описание приложения: какие данные хранить, как их показывать и обрабатывать. Описание состоит из объектов метаданных. Дерево — просто способ показать их упорядоченно, по типам.
Корень дерева — сама конфигурация. В её свойствах задаются:
- 🏷️ имя, синоним и версия конфигурации;
- ⚙️ основной режим запуска (управляемое приложение для современных решений);
- 🔒 режим управления блокировкой данных (автоматический, управляемый или смешанный);
- 🧩 режим совместимости — с какой версией платформы ведёт себя конфигурация.
Из контекстного меню корня открываются модули уровня приложения: модуль управляемого приложения, модуль сеанса, модуль внешнего соединения.
В Конфигураторе есть два дерева. Основная конфигурация — та, которую вы редактируете. Конфигурация базы данных — та, по которой сейчас реально работает база: Конфигурация → Конфигурация базы данных → Открыть конфигурацию БД. Второе дерево только для чтения. Изменения из первого переходят во второе после команды «Обновить конфигурацию базы данных» (F7).
Ветки дерева и виды объектов конфигурации
Порядок веток фиксирован платформой, менять его нельзя. Внутри ветки объекты по умолчанию идут в порядке добавления.
Ветка «Общие»
Здесь лежат объекты, которые не хранят прикладные данные сами по себе, а обслуживают всю конфигурацию:
- 📂 Подсистемы — разделы командного интерфейса и логическая группировка объектов;
- 📜 Общие модули — процедуры, доступные из разных мест;
- 🔑 Роли — права доступа ;
- 🧷 Параметры сеанса, Общие реквизиты, Функциональные опции;
- 🔄 Планы обмена, Подписки на события, Регламентные задания;
- 🖼️ Общие формы, Общие команды, Общие макеты, Общие картинки, Стили;
- 🌐 Web-сервисы, HTTP-сервисы, XDTO-пакеты;
- 🧱 Определяемые типы, Языки, Хранилища настроек.
Прикладные объекты
Под «Общими» идут объекты, из которых платформа создаёт таблицы в базе данных.
| Ветка | Что хранит | Пример в типовой конфигурации |
|---|---|---|
| Константы | одно значение на всю базу | учётная политика по умолчанию |
| Справочники | списки однотипных элементов | номенклатура, контрагенты |
| Документы | события с датой и номером | реализация, поступление |
| Журналы документов | общий список разных документов | журнал кассовых документов |
| Перечисления | фиксированный набор значений | виды операций, ставки НДС |
| Отчёты, Обработки | алгоритмы без своих таблиц | оборотно-сальдовая ведомость |
| Планы видов характеристик | виды дополнительных свойств | виды субконто |
| Планы счетов | структура счетов | хозрасчётный план счетов |
| Планы видов расчёта | начисления и удержания | оклад, премия |
| Регистры сведений | значения в разрезе измерений | курсы валют, цены |
| Регистры накопления | остатки и обороты | товары на складах |
| Регистры бухгалтерии | проводки | журнал проводок |
| Регистры расчёта | периодические расчёты | начисления зарплаты |
| Бизнес-процессы, Задачи | маршруты согласования | согласование договора |
| Внешние источники данных | таблицы сторонней СУБД | данные складской системы |
У документов внутри ветки есть ещё Нумераторы и Последовательности — они общие для нескольких видов документов.
Как открыть дерево и работать с ним в Конфигураторе
Базовая последовательность для любой правки:
- Запустите базу в режиме «Конфигуратор» из окна запуска 1С.
- Выберите
Конфигурация → Открыть конфигурацию. Слева появится окно с деревом. - Раскройте нужную ветку, дважды щёлкните объект — откроется окно редактирования с вкладками (основные, данные, формы, команды, макеты и другие, набор зависит от вида объекта).
- Отдельные свойства удобнее менять в палитре свойств: контекстное меню объекта → «Свойства».
- После изменений нажмите
F7, чтобы обновить конфигурацию базы данных.
Перед обновлением конфигурации базы данных на рабочей базе сделайте выгрузку Администрирование → Выгрузить информационную базу в файл .dt. Если изменение затрагивает структуру таблиц, платформе понадобится монопольный доступ — пользователей придётся попросить выйти.
Полезные команды дерева
- 🔍 Поиск по имени. Встаньте в дерево и начните набирать имя объекта — курсор перейдёт к совпадению.
- 🧭 Отбор по подсистемам. Кнопка в командной панели окна конфигурации. Оставляет в дереве только объекты выбранных подсистем — спасает в БП или ЗУП, где объектов тысячи.
- 🔗 Поиск ссылок на объект. Контекстное меню объекта. Показывает, в каких реквизитах, формах, ролях и подсистемах он упомянут.
- 📊 Отчёт по конфигурации.
Конфигурация → Отчет по конфигурации. Выводит структуру дерева в текст или таблицу — удобно для документации. - 🗂️ Выгрузка в файлы.
Конфигурация → Выгрузить конфигурацию в файлыраскладывает объекты в XML по каталогам, повторяющим ветки дерева. Так конфигурацию кладут в Git.
Значки рядом с объектами
У типовых конфигураций на поддержке слева от объектов стоят значки-замки. Закрытый замок — объект поставщика не редактируется. Замок с карандашом — изменения разрешены с сохранением поддержки. Отсутствие значка — объект снят с поддержки или создан вами.
Если база подключена к хранилищу конфигурации, рядом появляются отметки захвата: какие объекты захвачены вами, какие — другими разработчиками.
Иерархия и связи между объектами метаданных
Дерево показывает только одну иерархию — «тип → объект → его части». Остальные связи в нём не видны, их надо знать.
Подчинённые элементы объекта
Раскройте любой справочник — под ним будут:
- реквизиты и табличные части с их реквизитами;
- формы, команды, макеты.
У регистров вместо реквизитов главные — измерения и ресурсы. Измерения — разрезы учёта (склад, номенклатура), ресурсы — числа (количество, сумма). Плюс обычные реквизиты для справочной информации.
Связи, которых в дереве не видно
| Связь | Где задаётся | Как проверить |
|---|---|---|
| Ссылка через тип реквизита | тип реквизита, например СправочникСсылка.Контрагенты | поиск ссылок на объект |
| Подчинение справочников | свойство «Владельцы» подчинённого справочника | вкладка «Владельцы» в окне справочника |
| Движения документа | вкладка «Движения» у документа | список регистров на вкладке |
| Регистратор регистра | обратная сторона движений | поиск ссылок на регистр |
| Состав подсистемы | свойство «Состав» подсистемы | отбор по подсистемам |
| Права | роли в ветке «Общие» | окно роли, фильтр по объекту |
Подчинённый справочник в дереве стоит на том же уровне, что и владелец. Это частая путаница: «Договоры контрагентов» не вложены под «Контрагентов», связь видна только в свойствах.
Один объект может входить в несколько подсистем сразу. Подсистема — это не папка, а метка.
Практические сценарии работы с деревом
Добавить реквизит в справочник
- Найдите справочник в ветке «Справочники», откройте двойным щелчком.
- На вкладке «Данные» нажмите «Добавить» в списке реквизитов.
- Задайте имя латиницей или кириллицей без пробелов, синоним и тип.
- Перетащите реквизит на форму элемента в редакторе формы, иначе пользователь его не увидит.
- Обновите конфигурацию БД (
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?
Метаданные кодом и выведите имена в таблицу.