Разработка и Конфигурация · 13 мин
Дерево объектов конфигурации 1С: назначение, структура и работа с ним
Что такое дерево объектов конфигурации в 1С Предприятие: состав ветвей, назначение объектов, работа в конфигураторе, типичные ошибки и практические советы.
Дерево объектов конфигурации — это главный навигационный инструмент конфигуратора 1С:Предприятие, который отображает полную структуру прикладного решения в виде иерархии. Через него разработчик открывает любой объект — справочник, документ, регистр, отчёт — и переходит к его свойствам, модулям, формам и макетам. Фактически дерево является «картой» всей конфигурации: если объекта нет в дереве, его не существует в системе.
Дерево открывается в конфигураторе через меню «Конфигурация → Открыть конфигурацию» или командой «Конфигурация → Окно конфигурации». Верхний уровень дерева образуют ветви-группы: «Общие», «Константы», «Справочники», «Документы», «Регистры сведений» и так далее. Внутри каждой ветви находятся конкретные объекты, а внутри каждого объекта — его составные части: реквизиты, табличные части, формы, команды, макеты.
Понимание устройства дерева критично не только для программистов. Аналитики и внедренцы используют его, чтобы оценить состав типового решения, найти нужный объект для доработки, проверить связи между объектами и оценить последствия изменений. Ошибки при работе с деревом — например, удаление объекта, на который ссылаются другие объекты, — способны нарушить целостность базы данных.
Из каких ветвей состоит дерево конфигурации
Верхний уровень дерева фиксирован платформой — набор ветвей одинаков для любой конфигурации, меняется только их наполнение. Порядок ветвей примерно отражает логику построения прикладного решения: от общих механизмов к конкретным прикладным объектам.
- Общие — подсистемы, параметры сеанса, роли, общие реквизиты, планы обмена, критерии отбора, общие формы, команды, макеты, картинки, пакеты XDTO, web- и HTTP-сервисы, регламентные задания, общие модули.
- Константы — хранят одиночные значения, редко меняющиеся в процессе работы (например, наименование организации).
- Справочники — списки условно-постоянной нормативно-справочной информации: номенклатура, контрагенты, сотрудники.
- Документы — факты хозяйственной деятельности; журналы документов размещаются отдельной ветвью.
- Регистры — сведений, накопления, бухгалтерии и расчёта: структуры для хранения показателей в разрезах измерений.
- Планы — видов характеристик, счетов, видов расчёта: описывают аналитику для регистров.
- Отчёты и обработки — инструменты анализа данных и сервисные операции.
- Задачи и бизнес-процессы — механизмы маршрутизации работ между пользователями.
Набор ветвей в конкретной конфигурации зависит от её назначения. В «Бухгалтерии предприятия» обязательно присутствуют план счетов и регистр бухгалтерии, в решениях для расчёта зарплаты — планы видов расчёта и регистры расчёта. Пустые ветви (без единого объекта) в дереве не отображаются.
Как устроен объект внутри дерева
Каждый объект в дереве раскрывается в собственную подструктуру. Состав вложенных элементов зависит от вида объекта, но типовой набор для большинства объектов включает одни и те же группы.
Для справочника или документа в дереве видны: реквизиты (поля объекта), табличные части (со своими реквизитами), формы (экранные представления), команды, макеты (шаблоны печатных форм). У документа дополнительно видны движения — регистры, по которым документ проводится. У регистра — измерения, ресурсы и реквизиты.
Двойной щелчок по объекту открывает палитру свойств или окно редактирования объекта — в зависимости от настроек конфигуратора. Контекстное меню (правый клик) даёт доступ к ключевым действиям: «Открыть модуль объекта», «Открыть модуль менеджера», «Конструкторы», «Поиск ссылок на объект», «Добавить» подчинённый элемент.
- 1Откройте конфигуратор и выполните «Конфигурация → Открыть конфигурацию», дождитесь загрузки дерева.
- 2Разверните нужную ветвь, например «Документы», или используйте строку поиска в верхней части окна конфигурации.
- 3Найдите объект, дважды щелкните по нему — откроется окно редактирования со вкладками «Основные», «Данные», «Движения» и др.
- 4Через правый клик откройте модуль объекта или найдите ссылки на объект, чтобы оценить связи.
- 5После изменений выполните «Конфигурация → Обновить конфигурацию базы данных» и проверьте работу в режиме Предприятия.
Чем дерево конфигурации отличается от дерева конфигурации базы данных
В конфигураторе существуют два разных описания структуры: основная конфигурация (та, которую редактирует разработчик) и конфигурация базы данных (та, под которой фактически работают пользователи). Окно конфигурации показывает именно основную конфигурацию. Расхождение между ними возникает, когда разработчик изменил объекты, но не выполнил обновление конфигурации базы данных.
Признак расхождения — изменённые объекты помечаются в дереве, а пункт «Обновить конфигурацию базы данных» становится активным. Пользователи в режиме Предприятия продолжают работать со старой структурой до момента обновления. Это позволяет безопасно готовить доработки, не прерывая работу системы.
Обновление конфигурации базы данных может потребовать реструктуризации — физического изменения таблиц СУБД. На больших базах добавление реквизита в массовый документ или регистр занимает заметное время и требует монопольного доступа, то есть завершения сеансов всех пользователей.
Типовые операции с объектами через дерево
Добавление объекта выполняется через контекстное меню ветви — «Добавить» — или кнопкой на панели окна конфигурации. Платформа запускает конструктор, который предлагает задать имя, синоним, а для части объектов — сразу определить ключевые параметры (например, длину наименования справочника или вид регистра накопления).
Имя объекта задаётся по правилам встроенного языка: без пробелов, начиная с буквы, уникально в пределах вида объектов. Именно имя используется при обращении из кода: Справочники.Номенклатура. Синоним — это представление объекта для пользователя в интерфейсе. Переименование объекта безопасно для кода, если включён механизм автоматического обновления ссылок на метаданные, но внешние обработки и расширения, жёстко привязанные к имени, могут перестать работать.
Удаление объекта — операция с последствиями. Платформа проверяет ссылки на объект из других метаданных, но данные, связанные с удаляемым объектом (например, записи регистра по удаляемому документу-регистратору), будут потеряны при реструктуризации. Перед удалением используйте «Поиск ссылок на объект» в контекстном меню — он покажет, где объект задействован.
Копирование объектов
Через буфер обмена (Ctrl+C / Ctrl+V) объект можно скопировать внутри одной ветви — платформа создаст дубликат с новым именем. Это удобно для создания однотипных обработок или отчётов. Копирование между разными видами объектов невозможно: документ нельзя превратить в справочник, такой объект создаётся заново с переносом реквизитов вручную или через обработки.
Как дерево связано с подсистемами, правами и интерфейсом
Ветвь «Общие → Подсистемы» определяет, в каких разделах интерфейса пользователь увидит объект. Один и тот же документ может входить в несколько подсистем. Состав подсистем редактируется через их свойства, а не перетаскиванием в основном дереве — важно понимать, что дерево конфигурации показывает структуру метаданных, а не пользовательское меню.
Роли в ветви «Общие → Роли» задают права на объекты дерева: чтение, добавление, изменение, удаление, проведение и другие. При добавлении нового объекта права на него нужно явно назначить в существующих ролях — иначе пользователи не увидят объект в режиме Предприятия, хотя в дереве конфигурации он присутствует.
Это частая причина ситуации «объект создал, а пользователи его не видят». Проверка выполняется в три шага: объект есть в дереве, объект включён хотя бы в одну подсистему, у роли пользователя есть права на объект. Только совокупность этих условий делает объект доступным в интерфейсе.
Как проверить результат
Объект виден в своей ветви, конфигурация базы данных обновлена без ошибок
Объект есть в дереве, но обновление БД не выполнено или завершилось ошибкой реструктуризации
Объект отображается в нужной подсистеме и открывается под пользователем с целевой ролью
Объект есть в конфигураторе, но отсутствует в интерфейсе — не назначены права или подсистема
«Проверка конфигурации» (Конфигурация → Проверка конфигурации) не выдаёт ошибок по изменённым объектам
Ошибки компиляции модулей или битые ссылки в типах реквизитов
Расширения конфигурации и дерево объектов
Для доработки типовых решений без снятия с поддержки платформа предлагает механизм расширений. Расширение открывается отдельным окном с собственным деревом объектов, куда разработчик заимствует объекты основной конфигурации — формы, модули, роли — и изменяет их поведение. Заимствованные объекты в дереве расширения отображаются со специальной пометкой.
Правило выбора простое: если доработка затрагивает типовую конфигурацию, находящуюся на полной поддержке, и её можно реализовать через расширение — используйте расширение. Прямое изменение типовых объектов в основном дереве оправдано только для механизмов, которые расширения не покрывают (например, добавление нового регистра или существенное изменение структуры данных).
Способы доработки конфигурации
Подходит для изменения форм, модулей, ролей и добавления собственных объектов поверх типовых. Типовая конфигурация остаётся на поддержке, обновления проходят штатно. Ограничение: не все механизмы расширяемы.
Позволяет любые изменения, включая новые регистры и изменение состава типов. Платой является снятие объектов с полной поддержки и усложнение обновлений типовых релизов.
Подходят для сервисных и аналитических задач без изменения метаданных вообще. Не могут менять структуру данных, но и не влияют на поддержку конфигурации.
Практические приёмы навигации по большому дереву
В типовых конфигурациях дерево содержит тысячи объектов, и ручной поиск неэффективен. Используйте строку поиска в верхней части окна конфигурации — она фильтрует дерево по подстроке имени или синонима. Глобальный поиск (Ctrl+Shift+F) по всей конфигурации находит упоминания объекта в модулях и метаданных.
Полезные инструменты: «Поиск ссылок на объект» и «Поиск ссылок в объекте» в контекстном меню показывают входящие и исходящие зависимости — это основной способ оценить последствия изменения. Отчёт «Настройка поддержки» показывает, какие объекты изменены относительно конфигурации поставщика. Сортировка ветви по имени или синониму доступна через контекстное меню ветви.
Перед любой доработкой объекта сделайте скриншот или выгрузите объект в файл (Конфигурация → Сохранить конфигурацию в файл для всей конфигурации либо выгрузка отдельных объектов через сравнение/объединение). Это даст точку отката, если изменение окажется ошибочным, особенно на базах без системы хранения конфигураций.
Часто задаваемые вопросы
Почему в дереве конфигурации нет ветви «Пользователи»?
Пользователи — это не метаданные, а данные информационной базы. Они хранятся в самой базе и администрируются через меню «Администрирование → Пользователи» в конфигураторе или в режиме Предприятия. Дерево конфигурации описывает только структуру решения, а не его наполнение.
Можно ли изменить порядок ветвей верхнего уровня в дереве?
Нет, состав и порядок ветвей верхнего уровня жёстко определены платформой. Менять можно только порядок объектов внутри ветви (сортировка по имени или синониму) и порядок реквизитов внутри объекта — он влияет на отображение в формах по умолчанию.
Что произойдёт, если удалить объект, на который ссылаются другие объекты?
Платформа при обновлении конфигурации базы данных проверит ссылки: типы реквизитов, использующие удалённый объект, будут очищены, а код модулей с обращениями к нему перестанет компилироваться. Данные, связанные с объектом, будут утрачены при реструктуризации. Поэтому перед удалением всегда выполняйте «Поиск ссылок на объект» и проверку конфигурации.
Чем отличаются имя и синоним объекта в дереве?
Имя — идентификатор для обращения из встроенного языка, пишется без пробелов и уникально в пределах вида объектов. Синоним — произвольное представление для пользователя в интерфейсе, на него не завязан код. Менять синоним безопасно всегда, менять имя — только с проверкой внешних обработок, расширений и настроек обмена.
Почему после добавления объекта в дерево пользователи его не видят?
Чаще всего не выполнено одно из трёх условий: не обновлена конфигурация базы данных, объект не включён ни в одну подсистему либо у роли пользователя нет прав на объект. Проверьте все три пункта, а также убедитесь, что у объекта есть формы или разрешено автоматическое создание форм.
Можно ли работать с деревом конфигурации без конфигуратора?
Частично. Поставку и загрузку конфигурации, сравнение и объединение можно автоматизировать через пакетный режим конфигуратора или инструменты вроде EDT, где структура метаданных представлена в виде проекта. Но полноценное визуальное редактирование дерева доступно именно в конфигураторе или в 1C:Enterprise Development Tools.
Что важно запомнить
Дерево объектов конфигурации — это иерархия всех метаданных решения в окне конфигуратора: через него создают, изменяют и удаляют объекты. Изменения вступают в силу только после обновления конфигурации базы данных, которое требует резервной копии и монопольного доступа. Доступность объекта пользователям определяется тремя условиями: объект в дереве, включение в подсистему и права в ролях. Для доработки типовых решений предпочтительны расширения.