Дерево значений

Темы платформы

Синтаксис и применение Дерево значений в платформе 1С:Предприятие. Описание и примеры кода.

Полное описание, параметры и ограничения

Дерево значений

Дерево значений
Дерево значений представляет собой динамически формируемый набор значений любого типа, сходный с объектом ТаблицаЗначений. В отличие от таблицы значений, строки дерева значений могут образовывать иерархические структуры: каждая строка дерева может иметь набор (коллекцию) подчиненных строк, каждая из подчиненных строк в свою очередь также может иметь набор подчиненных строк и так далее. При этом поиск значений, сортировка, получение итогов могут осуществляться либо по текущему уровню иерархии, либо включая все подчиненные. Дерево значений может иметь визуальное представление, если с ним связать элемент управления ТабличноеПоле. Внешний вид такого элемента будет похож на дерево групп справочника.
Необходимо отметить, что дерево значений, связанное с элементом управления ТабличноеПоле, будет иметь все колонки, имеющиеся в табличном поле, с соответствующими именами. Кроме того, дерево значений может иметь также и собственные колонки, не отображаемые в табличном поле, при этом их имена должны отличаться от имен колонок табличного поля.
Методическая информация

Практические примеры

Применить НачальноеОтображениеДерева.РаскрыватьВсеУровни в подготовленной собственной форме

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

Где и как запускать

Собственная управляемая форма, ПриСозданииНаСервере. Используйте обработчик, созданный редактором формы.

Подготовка

  1. В управляемой форме своей обработки создайте реквизит ДеревоКниг типа ДеревоЗначений с колонкой Наименование Строка 100 и связанную таблицу ДеревоКниг.

  2. Назначьте обработчик ПриСозданииНаСервере. Для каждого начального режима полностью закройте и заново откройте форму.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Дерево = Новый ДеревоЗначений;
    Дерево.Колонки.Добавить("Наименование");
    Полка = Дерево.Строки.Добавить();
    Полка.Наименование = "Книги";
    Книга = Полка.Строки.Добавить();
    Книга.Наименование = "Учебная книга";
    ЗначениеВРеквизитФормы(Дерево, "ДеревоКниг");
    Элементы.ДеревоКниг.Отображение = ОтображениеТаблицы.Дерево;
    Элементы.ДеревоКниг.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
    Сообщить("Настроен собственный элемент: РаскрыватьВсеУровни");
КонецПроцедуры

Разбор по шагам

  1. Создайте описанную собственную форму и её реквизиты / элементы.

  2. Поместите код в указанный обработчик, не в произвольный общий модуль.

  3. Сравните выбранный режим на тех же учебных данных в подходящем клиенте.

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

  1. НеРаскрывать оставляет ветви закрытыми, РаскрыватьВерхнийУровень раскрывает верхний уровень, РаскрыватьВсеУровни — все уровни собственного дерева.

  2. Это начальное представление при открытии, не команда сворачивания уже просмотренной пользователем ветви.

Ожидаемый результат

Подготовлен небольшой воспроизводимый опыт с собственным элементом и ручной проверкой результата.

На что обратить внимание

  1. Настройка оформления не заменяет серверную проверку данных и не создаёт отсутствующие метаданные.

  2. Мобильные / обычные / управляемые элементы не взаимозаменяемы. Условия интерфейса — пояснение, а не проверки версии в коде.

  3. BSL при сборке справочника не исполнялся; runtime-проверка отсутствует.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.