Разработка и Конфигурация · 13 мин
Дерево 1С: что это и как с ним работать
Что такое дерево конфигурации в 1С, где его найти, как устроены ветки объектов и как использовать дерево для поиска, настройки и разработки.
Дерево 1С — это иерархическое представление объектов конфигурации в конфигураторе: главное окно, через которое разработчик и администратор видят всю структуру прикладного решения. Справочники, документы, регистры, отчёты, роли, подсистемы — всё это отображается в виде раскрывающихся веток, похожих на проводник Windows. Именно через дерево конфигурации начинается практически любая доработка: от добавления реквизита в справочник до создания нового документа.
Термин «дерево» в контексте 1С используется в двух смыслах. Первый — дерево конфигурации в конфигураторе, о котором пойдёт речь дальше. Второй — «дерево значений», программный объект встроенного языка для хранения иерархических данных. Путать их не стоит: первое — интерфейсный инструмент разработчика, второе — тип данных в коде. В этой статье основное внимание уделено дереву конфигурации, а дерево значений рассмотрено отдельным разделом.
Понимание устройства дерева конфигурации экономит часы работы: опытный специалист по структуре веток сразу определяет, типовое решение перед ним или сильно доработанное, где искать нужный объект и какие механизмы задействованы в учёте. Новичок же, не зная логики дерева, тратит время на беспорядочный поиск по меню.
Что такое дерево конфигурации и где его найти
Дерево конфигурации открывается только в конфигураторе — режиме 1С, предназначенном для разработки и администрирования. В пользовательском режиме «Предприятие» дерева нет. Чтобы увидеть его, запустите конфигуратор, авторизуйтесь и выполните команду меню «Конфигурация → Открыть конфигурацию». Если конфигурация уже открыта, пункт будет называться «Закрыть конфигурацию», а окно дерева отобразится на экране.
Обычно дерево располагается в левой части окна конфигуратора, но его можно перетащить, закрепить или закрыть. Если окно случайно закрыто, вернуть его помогает повторный вызов команды «Конфигурация → Окно конфигурации» или сочетание клавиш, предусмотренное платформой. Если конфигурация закрыта на поддержке или база работает в режиме загруженной конфигурации из файла, часть действий с деревом может быть недоступна.
Верхний уровень дерева — это не сами объекты, а их виды: «Справочники», «Документы», «Регистры сведений», «Отчёты» и так далее. Раскрыв ветку вида, вы увидите конкретные объекты: внутри «Справочники» — «Номенклатура», «Контрагенты», «Склады». У каждого объекта есть собственные подчинённые ветки: реквизиты, табличные части, формы, макеты, команды.
Из каких веток состоит дерево
Состав веток верхнего уровня стандартизирован платформой и не зависит от конкретной конфигурации. Меняется только наполнение веток — какие именно объекты создал разработчик. Основные группы, которые вы увидите в любом дереве:
- Общие — подсистемы, общие модули, параметры сеанса, роли, общие формы, критерии отбора, хранилища настроек. Здесь сосредоточена «инфраструктура» решения.
- Константы — настройки, хранящие единственное значение: валюта учёта, наименование организации, признаки включения функциональности.
- Справочники — условно постоянные списки: номенклатура, контрагенты, сотрудники, договоры.
- Документы — факты хозяйственной деятельности: поступления, реализации, платежи, приказы.
- Журналы документов — объединённые списки документов разных видов для удобства работы пользователя.
- Регистры — сведения, накопления, бухгалтерии, расчёта: именно здесь хранятся остатки, обороты и аналитические данные, на которые опираются отчёты.
- Отчёты и обработки — инструменты анализа данных и сервисные операции.
- Планы — видов характеристик, счетов, видов расчёта, обмена: специализированные объекты для учётных схем и интеграций.
Значки у объектов подсказывают их состояние. Замок означает, что объект на поддержке и недоступен для изменения без снятия замка. Жёлтый кубик или специальная пометка у добавленных объектов показывает, что объект не входит в поставку поставщика — это доработка. Такие визуальные маркеры помогают быстро отличить типовую функциональность от самостоятельно добавленной.
Как найти нужный объект в дереве
В типовых конфигурациях сотни объектов, и раскрывать ветки вручную нерационально. Платформа предлагает несколько способов быстрого поиска. Самый простой — начните вводить имя объекта, когда фокус находится на дереве: курсор переместится к первому совпадению. Это работает, если вы знаете точное имя объекта, например «РеализацияТоваровУслуг».
Для поиска по подстроке используйте поле поиска в верхней части окна конфигурации: введённый фрагмент отфильтрует дерево и покажет только подходящие объекты. Если нужно найти, где объект используется, выделите его и вызовите контекстное меню «Поиск ссылок на объект» — платформа покажет все места в конфигурации, где есть обращения к этому объекту: в модулях, формах, подписках на события.
- 1Откройте конфигуратор и выполните «Конфигурация → Открыть конфигурацию»
- 2Установите курсор на дерево и начните вводить имя объекта или используйте поле поиска
- 3Раскройте найденный объект и перейдите к нужной подчинённой ветке: реквизиты, формы, макеты
- 4Для поиска мест использования вызовите «Поиск ссылок на объект» из контекстного меню
- 5Проверьте результат: объект открыт в палитре свойств или в редакторе — можно вносить изменения
Отдельный приём — поиск через «Правка → Глобальный поиск» по текстам модулей. Он нужен, когда вы ищете не сам объект, а фрагмент кода: например, все места, где формируется конкретное движение по регистру. Глобальный поиск работает медленнее, но охватывает модули целиком.
Как добавить или изменить объект через дерево
Новый объект создаётся из контекстного меню ветки: щёлкните правой кнопкой по «Справочники» и выберите «Добавить». Откроется конструктор или палитра свойств, где задаются имя, синоним, длина кода и наименования, иерархичность, подчинённость другому справочнику. После сохранения объект появится в дереве, и его можно будет развивать: добавлять реквизиты, табличные части, формы.
Изменение существующего объекта начинается с двойного щелчка или клавиши F2 — откроется палитра свойств. Для редактирования структуры удобнее контекстное меню: «Реквизиты → Добавить», «Табличные части → Добавить». Каждое изменение фиксируется только после обновления конфигурации базы данных (клавиша F7): до этого момента правки существуют лишь в конфигурации разработчика, но не в рабочей базе.
Если конфигурация типовая и стоит на поддержке, перед изменением объекта потребуется включить возможность изменения: «Конфигурация → Поддержка → Настройка поддержки → Включить возможность изменения». Делайте это осознанно: снятые с замка объекты усложняют будущие обновления, так как платформа перестанет автоматически замещать их новыми версиями поставщика.
Что такое дерево значений и чем оно отличается
Дерево значений — это объект встроенного языка 1С для хранения иерархических данных в памяти: строки с подчинёнными строками неограниченной вложенности и набором колонок. Типичное применение — отображение иерархии на форме, например дерева групп номенклатуры или структуры подразделений, а также обход многоуровневых данных при обработке.
В отличие от таблицы значений, где все строки равноправны, у дерева есть коллекция «Строки», и у каждой строки — своя вложенная коллекция «Строки». Обход дерева выполняется рекурсивно: процедура обрабатывает строку и вызывает саму себя для её подчинённых строк. На форме дерево значений связывается с элементом «Дерево» и отображается с треугольниками раскрытия, как проводник.
Дерево = Новый ДеревоЗначений;
Дерево.Колонки.Добавить("Наименование");
Группа = Дерево.Строки.Добавить();
Группа.Наименование = "Товары";
Элемент = Группа.Строки.Добавить();
Элемент.Наименование = "Подгруппа";Частая ошибка новичков — пытаться найти дерево значений в дереве конфигурации. Его там нет: это не объект метаданных, а временная структура данных, создаваемая кодом. В конфигурации существуют только реквизиты формы типа «ДеревоЗначений», если разработчик их добавил.
Типичные ошибки при работе с деревом конфигурации
Первая ошибка — изменение объекта без проверки, где он используется. Удалённый или переименованный реквизит ломает модули, запросы и формы, которые к нему обращались. Перед правкой всегда выполняйте «Поиск ссылок на объект», а после — проверку конфигурации («Конфигурация → Проверка конфигурации»), чтобы выявить битые ссылки.
Вторая ошибка — забытое обновление конфигурации базы данных. Разработчик добавил реквизит, видит его в дереве, а пользователи — нет, потому что F7 не нажата, и структура базы не изменилась. Признак проблемы: в конфигураторе поле есть, в режиме «Предприятие» его нет или возникает ошибка обращения к реквизиту.
Как проверить результат работы
После любых изменений в дереве логика проверки одинакова: обновить конфигурацию базы данных, запустить режим «Предприятие» и убедиться, что объект ведёт себя как задумано. Новый справочник должен открываться списком, новый реквизит — отображаться в форме и сохраняться, новый отчёт — формироваться без ошибок.
Как проверить результат
Объект виден в дереве и доступен в режиме «Предприятие»
Объект есть в конфигураторе, но отсутствует у пользователей — конфигурация базы данных не обновлена
Проверка конфигурации не выдаёт ошибок о ненайденных объектах
Ошибки вида «Объект не обнаружен» — где-то остались ссылки на удалённый элемент
Значения реквизитов сохранились, отчёты формируются корректно
Данные в изменённых полях пусты или обрезаны — тип или длина были изменены с потерей
Дополнительно полезно проверить интерфейс: если объект не появился в панелях разделов, причина обычно не в дереве, а в настройках подсистем и командного интерфейса — объект нужно включить в состав подсистемы в ветке «Общие → Подсистемы».
Когда обращаться к специалисту
Самостоятельная работа с деревом безопасна в учебных целях на копии базы и при мелких правках: добавление примечания, изменение синонима, создание нового отчёта без изменения существующих объектов. Рискованные зоны — реструктуризация данных, изменение типовых объектов, настройка ролей и прав, правка общих модулей, от которых зависит проведение документов.
Как выбрать действие
Хорошая альтернатива прямой доработке типовой конфигурации — механизм расширений. Расширение не меняет объекты в основном дереве, а добавляет свои поверх, что сохраняет простоту обновлений. Если задача укладывается в возможности расширений (добавить реквизит, форму, отчёт, обработчик), предпочтите этот путь.
Что важно запомнить
Дерево конфигурации — главная точка входа в структуру любого решения 1С: оно открывается в конфигураторе и показывает все объекты по видам. Перед изменениями ищите ссылки на объект, после — обновляйте конфигурацию базы данных и проверяйте результат. Дерево значений — отдельный программный объект, не связанный с деревом конфигурации.
Частые вопросы
Почему в конфигураторе не открывается дерево конфигурации?
Чаще всего конфигурация просто не открыта: выполните «Конфигурация → Открыть конфигурацию». Если база работает в режиме конфигурации, загруженной из файла, или у пользователя нет прав администратора, пункт может быть недоступен. Также проверьте, не закрыто ли само окно — его можно вернуть через меню «Конфигурация».
Можно ли изменить порядок объектов в дереве?
Объекты внутри ветки сортируются по имени автоматически, и произвольный порядок в самом дереве задать нельзя. Порядок, который видят пользователи в меню, настраивается отдельно — через командный интерфейс подсистем, а не через дерево конфигурации.
Что означает замок на значке объекта в дереве?
Замок показывает, что объект находится на поддержке поставщика и заблокирован для изменений. Чтобы править такой объект, нужно включить возможность изменения в настройках поддержки. Учтите: это усложнит автоматическое обновление конфигурации в будущем.
Чем дерево значений отличается от таблицы значений?
Таблица значений — плоский список одинаковых строк, дерево значений — иерархия, где у каждой строки могут быть подчинённые строки любой вложенности. Таблицу удобно сортировать и фильтровать, дерево — отображать на форме с раскрытием узлов и обходить рекурсивно.
Почему новый объект есть в дереве, но не виден пользователям?
Две типовые причины: не выполнено обновление конфигурации базы данных (F7) или объект не включён ни в одну подсистему, поэтому не попадает в командный интерфейс. Проверьте обе: сначала обновите базу, затем откройте ветку «Общие → Подсистемы» и добавьте объект в нужный раздел.
Опасно ли просто просматривать дерево конфигурации?
Нет, просмотр полностью безопасен: раскрытие веток, поиск и открытие палитры свойств ничего не меняют. Изменения начинаются только с редактирования свойств или добавления объектов, а фиксируются в рабочей базе лишь после обновления конфигурации базы данных.