Имя: Пароль:
1C
1С v8
Как вывести в макете номенклатуру в виде дерева??
0 avz07
 
21.06.13
20:00
надо вывести в макете номенклатуру в виде дерева, чтобы можно разворачивать по группам. ранее с такой задачей не сталкивался.
поэтому прошу подскажите как реализовать такую ​​задачу.
вот мой код:

Процедура КнопкаВыполнитьНажатие(Кнопка)
   Команда=Справочники.КомандыТА.НайтиПоКоду(5); //Коду=5;

   ТабДок=Новый ТабличныйДокумент;
   Макет=ЭтотОбъект.ПолучитьМакет("КомандаСЛАВУТИЧ");
   ОблШапка=Макет.ПолучитьОбласть("ОблШапка");
   ОблНоменклатура=Макет.ПолучитьОбласть("ОблНоменклатура");
   ТабДок.Очистить();
   ОблШапка.Параметры.Команда=Команда;
   ТабДок.Вывести(ОблШапка);
   
   Запрос=Новый Запрос;
   Запрос.Текст="ВЫБРАТЬ
                |    Номенклатура.Ссылка КАК Ссылка
                |ИЗ
                |    (ВЫБРАТЬ
                |        АсортиментТАСрезПоследних.Товар.Ссылка КАК ТоварСсылка
                |    ИЗ
                |        РегистрСведений.АсортиментТА.СрезПоследних(&ТекущаяДата, ) КАК АсортиментТАСрезПоследних
                |    ГДЕ
                |        АсортиментТАСрезПоследних.Команда.Код = ""5""
                |    
                |    СГРУППИРОВАТЬ ПО
                |        АсортиментТАСрезПоследних.Товар.Ссылка) КАК ВложенныйЗапрос
                |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
                |        ПО (Номенклатура.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель = ВложенныйЗапрос.ТоварСсылка.Ссылка
                |                ИЛИ Номенклатура.Ссылка.Родитель.Родитель.Родитель.Родитель = ВложенныйЗапрос.ТоварСсылка.Ссылка
                |                ИЛИ Номенклатура.Ссылка.Родитель.Родитель.Родитель = ВложенныйЗапрос.ТоварСсылка.Ссылка
                |                ИЛИ Номенклатура.Ссылка.Родитель.Родитель = ВложенныйЗапрос.ТоварСсылка.Ссылка
                |                ИЛИ Номенклатура.Ссылка.Родитель = ВложенныйЗапрос.ТоварСсылка.Ссылка
                |                ИЛИ Номенклатура.Ссылка = ВложенныйЗапрос.ТоварСсылка.Ссылка)
                |
                |СГРУППИРОВАТЬ ПО
                |    Номенклатура.Ссылка
                |ИТОГИ ПО
                |    Ссылка ТОЛЬКО ИЕРАРХИЯ
                |АВТОУПОРЯДОЧИВАНИЕ";
                                                                         
   Запрос.УстановитьПараметр("Код","5");
   Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата());
   
   Выборка=Запрос.Выполнить().Выбрать();
   Пока Выборка.Следующий()Цикл
       //Для Каждого СтрДререва ИЗ ВыводимаяСтрока Цикл
           
       ОблНоменклатура.Параметры.Наименование=Выборка.Ссылка;//СокрЛП(СтрДерева.Выборка.Ссылка);
       ТабДок.Вывести(ОблНоменклатура);
       //ВывестиДеревоД(ТабДок,СтрДерева);
         //КонецЦикла;
       КонецЦикла;    
   ТабДок.Показать();
КонецПроцедуры
1 AlexNew
 
21.06.13
20:05
А СКД отменили?
2 YHVVH
 
21.06.13
20:15
группировка
3 alexhtn
 
21.06.13
21:10
Что-то типа такого

ТабДок.НачатьАвтогруппировкуСтрок();

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