Хлеб
↑ МоёДерево
↑ Дерево (параметр)

Скопировать()

В отличие от Скопировать() ТаблицыЗначений, у дерева параметров нет вообще — либо копия целиком, либо ничего:

Копия = Дерево.Скопировать();

Скопировать только часть дерева (поддерево одной строки, отбор по условию, часть колонок) — только вручную, рекурсивным обходом с созданием строк в новом дереве.

Передача по ссылке

ДеревоЗначений — ссылочный тип, как и остальные коллекции значений. Передано в процедуру/функцию — та же ссылка, не копия: изменение строк видно и снаружи, Знач защищает только от переприсвоения параметра целиком.

Сравнение и проверка типа

Дерево1 = Дерево2;                      // сравнение ссылок, не содержимого
ТипЗнч(Дерево) = Тип("ДеревоЗначений");  // Истина, если Дерево — именно ДеревоЗначений

Чего нет по сравнению с ТаблицейЗначений

Есть у ТаблицыЗначенийУ ДеревоЗначений
Свернуть() — группировка с суммированиемнет такого метода вообще
Индексы — ускорение поисканет, Найти()/НайтиСтроки() — всегда перебор
Скопировать(Строки, Колонки) с параметрамитолько Скопировать() целиком
ЗаполнитьЗначения()нет — только циклом (с рекурсией, если нужны все уровни)

«Свернуть строки дерева» в статьях про формы — это не про этот метод: там речь про визуальное сворачивание узлов дерева в элементе управления формы, а не про группировку данных с суммированием, как у Свернуть() таблицы значений. У самого объекта ДеревоЗначений, в отрыве от формы, такой операции нет.

Когда дерево, а не таблица

Иерархия нужна только тогда, когда данные реально многоуровневые — план счетов, дерево номенклатурных групп, структура подчинённости. Если уровень вложенности всегда один и тот же (например, «группа → элементы» ровно в два уровня) — часто проще смоделировать это двумя обычными таблицами значений или одной таблицей с колонкой-ссылкой на «родителя» и обходом через НайтиСтроки(), не заводя дерево вообще.

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