Дерево значений в 1С 8.3

Курс

Дерево значений — это универсальная коллекция 1С, которая позволяет хранить данные в иерархическом виде. Данная коллекция похожа на таблицу значений, но в дереве каждая строка может иметь подчиненные строки.

Поиск, сортировка и получение итогов могут выполняться как только по одному уровню иерархии, так и включая подчиненные строки.

В толстом клиенте нельзя передавать дерево значений с клиента на сервер. На тонком клиенте дерево значений не доступно.

Создание дерева значений

Создать новое дерево значений можно с помощью конструктора:

У дерева значений есть свойства Колонки и Строки. Для добавления новых строк сначала нужно добавить колонки дерева:

Теперь через свойство Строки можно добавлять строки дерева:

Новые строки будут добавлены на первый уровень иерархии. Чтобы добавить к существующей строке подчиненные строки нужно обратиться к свойству Строки существующей строки дерева значений:

В результате у строки с номенклатурой «Системный блок» будет 2 подчиненных строки с процессором и оперативной памятью.

Рассмотрим другие операции с деревом значений:

Колонки дерева значений

Вся работа с колонками дерева значений осуществляется через свойство Колонки дерева. Колонки одинаковые для всех строк, включая подчиненные строки.

Итоги по дереву значений

Для получения итога по числовой колонке дерева значений можно использовать метод Итог:

Поиск по дереву значений

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

Удаление строк из дерева значений

Для удаления строк из дерева значений используются методы Удалить и Очистить. Метод Удалить удаляет строку, включая все подчиненные ей строки. Метод Очистить удаляет все строки из дерева значений.

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

Сортировка дерева значений

Для сортировки строк в дереве значений используется метод Сортировать. В зависимости от второго параметра сортировка будет выполняться только по одному уровню иерархии или включая подчиненные строки.

Создание копии дерева значений

Для создания полной копии дерева значений можно воспользоваться методом Скопировать.

Важно понимать, что в памяти будет создано новое дерево значений и в переменной КопияДерева будет ссылка на него. Если в копии дерева менять значения, то в первоначальном дереве не будет этих изменений.

Рекурсивный обход дерева значений

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


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok