Если Вы не знаете, что такое "Дерево+Таблица" и с чем его едят, познакомиться можно тут: //infostart.ru/public/74192/
Если уже знаете, то продолжим. Скачайте внешнюю компоненту Yoksel с сайта http://yoksel.net.ru. Последнюю стабильную сборку можно взять тут: http://yoksel.net.ru/Hotfixes. Из скачанного архива нужно распаковать файл «SpreadSheet.dll» в папку конфигурации или в папку «Bin» платформы 1С 7.7. После чего, эту внешнюю обработку «ПечатьДерева.ert» положите в подпапку «ExtForms» папки конфигурации.
Теперь в коде любой обработки, отчета, справочника и т.д. Вашей кофигурации, где есть объект Дерево+Таблица, создайте кнопку «Печать», в формуле этой кнопки укажите процедуру «Печать()» и в процедуре «Печать()» в модуле формы обработки, отчета, справочника и т.д. напишите такой код (исключая комментарии, конечно):
Процедура Печать()
// Список параметров печати
СпПарам = СоздатьОбъект("СписокЗначений");
// ТЗ - "ТаблицаЗначений", которая является объектом "Дерево+Таблица"
СпПарам.ДобавитьЗначение(ТЗ, "Дерево");
// "Йоксель: Дерево+Таблица" - необязательный параметр, можно задать
// строку заголовка печатной формы
СпПарам.ДобавитьЗначение("Йоксель: Дерево+Таблица", "Заголовок");
// "ИдКолонки,ИдКолонки,ИдКолонки" - необязательный параметр, список
// идентификаторов колонок "ТаблицыЗначений" через запятую, которые
// нужно вывести, кроме служебных. Служебные - "Ветка","Значек","ИмяВетки".
// Если не задан или пустая строка - то выводит все колонки, кроме
// служебных, но "ИмяВетки" выводится всегда.
СпПарам.ДобавитьЗначение("ИдКолонки,ИдКолонки,ИдКолонки", "Колонки");
// Флаг выводить узлы свернутыми или нет. Если =1, то все развернуты.
// Если =0, то все свернуты. Необязательный параметр, по умолчанию =0.
СпПарам.ДобавитьЗначение(1, "Развернуть");
// Собственно вывод на печать
ОткрытьФорму("Отчет", СпПарам, КаталогИБ()+"ExtForms\ПечатьДерева.ert");
КонецПроцедуры // Печать
И теперь при нажатии на нашу кнопку «Печать» - откроется печатная форма с нашим деревом. Щелкая мышкой по плюсикам/минусикам (слева), можно разворачивать и сворачивать узлы, наслаждаясь полученным эффектом.