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