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