Добрый день.

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

```1c
    ....
    ТабДок.НачатьАвтогруппировкуСтрок();
    Уровень = 0;
    ВывестиСтрокуДерева(табДок, ОбластьРасшифровкиНоменклатуры, ВыборкаНоменклатуры, Уровень);
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ....

    Функция ВывестиСтрокуДерева(табДок, ОбластьРасшифровкиНоменклатуры, СтрокаДереваЗначений, Уровень)

    Для Каждого СтрокаНоменклатуры Из СтрокаДереваЗначений.Строки Цикл

    ОбластьРасшифровкиНоменклатуры.Параметры.Наименование = СтрокаНоменклатуры.Номенклатура;
    ОбластьРасшифровкиНоменклатуры.Параметры.Товарооборот = СтрокаНоменклатуры.Стоимость;

    ТабДок.Вывести(ОбластьРасшифровкиНоменклатуры, Уровень, Ложь);
    ВывестиСтрокуДерева(табДок, ОбластьРасшифровкиНоменклатуры, СтрокаНоменклатуры, Уровень+1);

    КонецЦикла;
    КонецФункции;
```

Вместо дерева выводит что-то странное номенклатура поделеная в две группировки без имен

```1c
    ВЫБРАТЬ
    Продажи.Регистратор КАК Регистратор,
    Продажи.Количество КАК Количество,
    Продажи.Стоимость КАК Стоимость,
    Продажи.Подразделение КАК Подразделение,
    Продажи.Номенклатура КАК Номенклатура,
    Продажи.Регистратор.КодСвязиРазделенныхРеализаций КАК РегистраторКод,
    Продажи.Номенклатура.Наименование КАК НаименованиеНоменклатуры
    ИЗ
    Справочник.Номенклатура КАК Товар
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи
    ПО Товар.Ссылка = Продажи.Номенклатура.Ссылка
    ГДЕ
    Продажи.Подразделение В(&ГруппаПодразделения)
    И НЕ Продажи.Номенклатура В ИЕРАРХИИ (&ГруппаНоменклатура)
    И ВЫБОР
    КОГДА &ФЛАГ = ИСТИНА
    ТОГДА ИСТИНА
    ИНАЧЕ Продажи.Номенклатура.Категория = &АСС
    КОНЕЦ
    И Продажи.Регистратор.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоОтчета, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецОтчета, ДЕНЬ)

    УПОРЯДОЧИТЬ ПО
    Подразделение
    ИТОГИ КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Регистратор), КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РегистраторКод)
    ПО
    Номенклатура ИЕРАРХИЯ
```

Код запроса
---
Так.

```1c
    ВЫБРАТЬ Номенклатура.Родитель КАК Родитель
    ....................................
    |ПО
    | Родитель ИЕРАРХИЯ"
```

в файлике рабочее для ут 11. ничего руками не писал кроме
Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
---
ПКМ - Конструктор запроса с обработкой результата. Настраиваете группировки так как вам лучше. Ок. Дальше допиливаете - каркас есть
---
На табличное поле выбрасывает дерево без проблем. Но табличное поле меня не устраивает так как это только часть отчета, кусочек целого пирога так сказать. И вся заковырка в том чтобы в этом месте вились деревья номенклатуры, а не просто таблица наименований. С самого утра сижу уже мозг не работает наверное.
---
А где я показал табличное поле?
---
Я это писал до того как пришел ваш ответ
---
А рекурсия отрабатывает под отладкой?
---
Должна, почему нет
---
Есть повод проверить
---
не проверял если честно
---
Конструктор запроса с обработкой результата
где взять сие чудо ?
---
тут
---
Ну и выдало оно мне код подправил, вообще без группировок выводит все
---
Это нужно показывать или догадались?
---
Ну и выдало оно мне код подправил, вообще без группировок выводит все
---
код покажи
---
Стоп не все ещё, затупил маленько по ходу.
---
себе ответил
---
```1c
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    Макет = ВнешниеОбработки.ВнешняяОбработка1.ПолучитьМакет("Макет1");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Продажи.Подразделение КАК Подразделение,
    | Продажи.Номенклатура КАК Номенклатура,
    | Продажи.Количество КАК Количество,
    | Продажи.Стоимость КАК Стоимость,
    | Продажи.Регистратор КАК Регистратор,
    | Продажи.Регистратор.КодСвязиРазделенныхРеализаций КАК РегистраторКод,
    | Продажи.Номенклатура.Наименование КАК НоменклатураНаименование
    |ИЗ
    | РегистрНакопления.Продажи КАК Продажи
    |ГДЕ
    | Продажи.Подразделение В(&ГруппаПодразделения)
    | И НЕ Продажи.Номенклатура В ИЕРАРХИИ (&ГруппаНоменклатуры)
    |ИТОГИ
    | СУММА(Стоимость),
    | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Регистратор),
    | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РегистраторКод)
    |ПО
    | Номенклатура ИЕРАРХИЯ";

    Запрос.УстановитьПараметр("ГруппаНоменклатуры", Справочники.Номенклатура.НайтиПоКоду("00000006730"));
    Запрос.УстановитьПараметр("ГруппаПодразделения", Справочники.Подразделения.НайтиПоНаименованию("Торговий зал (Оазис)"));

    РезультатЗапроса = Запрос.Выполнить();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьНоменклатураИерархия = Макет.ПолучитьОбласть("НоменклатураИерархия");
    ОбластьНоменклатура = Макет.ПолучитьОбласть("Номенклатура");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();

    ВыборкаНоменклатура = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Пока ВыборкаНоменклатура.Следующий() Цикл
    Если ВыборкаНоменклатура.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
    Область = ОбластьНоменклатураИерархия;
    Иначе
    Область = ОбластьНоменклатура;
    КонецЕсли;

    Область.Параметры.Заполнить(ВыборкаНоменклатура);
    ТабДок.Вывести(Область, ВыборкаНоменклатура.Уровень());

    ВыборкаДетальныеЗаписи = ВыборкаНоменклатура.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
    ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
    КонецЦикла;
    КонецЦикла;

    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);

    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

    КонецПроцедуры
```
---
Так.

```1c
    ВЫБРАТЬ Номенклатура.Родитель КАК Родитель
    ....................................
    |ПО
    | Родитель ИЕРАРХИЯ"
```

в файлике рабочее для ут 11. ничего руками не писал кроме
Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
---
Ваша в С-ке не открывается, в конфигураторе пробежался. Моя то что скопипастил работает, мне просто домой уже пора по ходу или на пиво, с 8:30 залипаю уже над этим куском сегодня и все никак, оказывается все гениальное просто. Решается банальным встроенным, забытым, полезным (как оказалось) инструментом, а не горами взрытого интернета. Спасибо огромное Дмитрий за помощь и терпение, она конечно сработала не так как требовалось, сейчас будем допиливать.