К статье
Практический материал

Разработка и Конфигурация · 13 мин

Дерево 1С: что это и как с ним работать

Что такое дерево конфигурации в 1С, где его найти, как устроены ветки объектов и как использовать дерево для поиска, настройки и разработки.

Дерево 1С — это иерархическое представление объектов конфигурации в конфигураторе: главное окно, через которое разработчик и администратор видят всю структуру прикладного решения. Справочники, документы, регистры, отчёты, роли, подсистемы — всё это отображается в виде раскрывающихся веток, похожих на проводник Windows. Именно через дерево конфигурации начинается практически любая доработка: от добавления реквизита в справочник до создания нового документа.

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

Понимание устройства дерева конфигурации экономит часы работы: опытный специалист по структуре веток сразу определяет, типовое решение перед ним или сильно доработанное, где искать нужный объект и какие механизмы задействованы в учёте. Новичок же, не зная логики дерева, тратит время на беспорядочный поиск по меню.

Что такое дерево конфигурации и где его найти

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

Обычно дерево располагается в левой части окна конфигуратора, но его можно перетащить, закрепить или закрыть. Если окно случайно закрыто, вернуть его помогает повторный вызов команды «Конфигурация → Окно конфигурации» или сочетание клавиш, предусмотренное платформой. Если конфигурация закрыта на поддержке или база работает в режиме загруженной конфигурации из файла, часть действий с деревом может быть недоступна.

Верхний уровень дерева — это не сами объекты, а их виды: «Справочники», «Документы», «Регистры сведений», «Отчёты» и так далее. Раскрыв ветку вида, вы увидите конкретные объекты: внутри «Справочники» — «Номенклатура», «Контрагенты», «Склады». У каждого объекта есть собственные подчинённые ветки: реквизиты, табличные части, формы, макеты, команды.

Из каких веток состоит дерево

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

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

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

Как найти нужный объект в дереве

В типовых конфигурациях сотни объектов, и раскрывать ветки вручную нерационально. Платформа предлагает несколько способов быстрого поиска. Самый простой — начните вводить имя объекта, когда фокус находится на дереве: курсор переместится к первому совпадению. Это работает, если вы знаете точное имя объекта, например «РеализацияТоваровУслуг».

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

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

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

Как добавить или изменить объект через дерево

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

Изменение существующего объекта начинается с двойного щелчка или клавиши F2 — откроется палитра свойств. Для редактирования структуры удобнее контекстное меню: «Реквизиты → Добавить», «Табличные части → Добавить». Каждое изменение фиксируется только после обновления конфигурации базы данных (клавиша F7): до этого момента правки существуют лишь в конфигурации разработчика, но не в рабочей базе.

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

Что такое дерево значений и чем оно отличается

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

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

bsl
Дерево = Новый ДеревоЗначений;
Дерево.Колонки.Добавить("Наименование");
Группа = Дерево.Строки.Добавить();
Группа.Наименование = "Товары";
Элемент = Группа.Строки.Добавить();
Элемент.Наименование = "Подгруппа";

Частая ошибка новичков — пытаться найти дерево значений в дереве конфигурации. Его там нет: это не объект метаданных, а временная структура данных, создаваемая кодом. В конфигурации существуют только реквизиты формы типа «ДеревоЗначений», если разработчик их добавил.

Типичные ошибки при работе с деревом конфигурации

Первая ошибка — изменение объекта без проверки, где он используется. Удалённый или переименованный реквизит ломает модули, запросы и формы, которые к нему обращались. Перед правкой всегда выполняйте «Поиск ссылок на объект», а после — проверку конфигурации («Конфигурация → Проверка конфигурации»), чтобы выявить битые ссылки.

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

Типичные ошибки
01
Правка типовой конфигурации без включения возможности изменения — изменения не сохранятся или поддержка будет нарушена без необходимости
02
Удаление реквизита без поиска ссылок — ошибки в модулях и потеря данных при реструктуризации
03
Отсутствие резервной копии перед обновлением конфигурации базы данных — при сбое реструктуризации данные могут быть повреждены
04
Путаница между деревом конфигурации и деревом значений — поиск программного объекта среди метаданных

Как проверить результат работы

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

Контрольные точки

Как проверить результат

Объект в дереве после обновления
Норма

Объект виден в дереве и доступен в режиме «Предприятие»

Тревожный признак

Объект есть в конфигураторе, но отсутствует у пользователей — конфигурация базы данных не обновлена

Ссылки на изменённый объект
Норма

Проверка конфигурации не выдаёт ошибок о ненайденных объектах

Тревожный признак

Ошибки вида «Объект не обнаружен» — где-то остались ссылки на удалённый элемент

Данные после реструктуризации
Норма

Значения реквизитов сохранились, отчёты формируются корректно

Тревожный признак

Данные в изменённых полях пусты или обрезаны — тип или длина были изменены с потерей

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

Когда обращаться к специалисту

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

Маршрут решения

Как выбрать действие

Нужно посмотреть структуру или найти объект без измененийРаботайте в дереве свободно — просмотр безопасен
Нужно добавить новый объект, не затрагивая существующиеДелайте копию базы и добавляйте объект через контекстное меню ветки
Нужно изменить типовой объект на поддержкеОцените альтернативы: расширение конфигурации часто безопаснее прямой правки
Ошибка уже произошла: конфигурация не обновляется или данные поврежденыПрекратите действия и восстановите базу из резервной копии либо привлеките специалиста

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

Итог

Что важно запомнить

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

Частые вопросы

Почему в конфигураторе не открывается дерево конфигурации?

Чаще всего конфигурация просто не открыта: выполните «Конфигурация → Открыть конфигурацию». Если база работает в режиме конфигурации, загруженной из файла, или у пользователя нет прав администратора, пункт может быть недоступен. Также проверьте, не закрыто ли само окно — его можно вернуть через меню «Конфигурация».

Можно ли изменить порядок объектов в дереве?

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

Что означает замок на значке объекта в дереве?

Замок показывает, что объект находится на поддержке поставщика и заблокирован для изменений. Чтобы править такой объект, нужно включить возможность изменения в настройках поддержки. Учтите: это усложнит автоматическое обновление конфигурации в будущем.

Чем дерево значений отличается от таблицы значений?

Таблица значений — плоский список одинаковых строк, дерево значений — иерархия, где у каждой строки могут быть подчинённые строки любой вложенности. Таблицу удобно сортировать и фильтровать, дерево — отображать на форме с раскрытием узлов и обходить рекурсивно.

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

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

Опасно ли просто просматривать дерево конфигурации?

Нет, просмотр полностью безопасен: раскрытие веток, поиск и открытие палитры свойств ничего не меняют. Изменения начинаются только с редактирования свойств или добавления объектов, а фиксируются в рабочей базе лишь после обновления конфигурации базы данных.