Имя: Пароль:
1C
1С v8
Результат запроса
,
0 BarakuzA
 
18.10.11
15:15
сразу извиняюсь, если некоректно задам вопрос-подскажите как сделать так,чтобы результаты запроса были выведены в ввиде дерева (аналогично как в типовых отчета когда сворачивается и разворачивается группа).
текст запроса, если нужен:
   Запрос.Текст=
   "ВЫБРАТЬ
   |    СписаниеТоваров.Ссылка.Склад              КАК Склад,
   |    СписаниеТоваров.Номенклатура              КАК Номенклатура,
   |    СписаниеТоваров.Номенклатура.Родитель     КАК Группа,
   |    СписаниеТоваров.Количество                КАК Количество,
   |    СписаниеТоваров.Сумма                     КАК Сумма
   |ИЗ
   |    Документ.СписаниеТоваров.Товары КАК СписаниеТоваров
   |ГДЕ
   |    СписаниеТоваров.Ссылка.Проведен=Истина
   |    И СписаниеТоваров.ссылка.ИнвентаризацияТоваровНаСкладе<>ЗНАЧЕНИЕ(Документ.ИнвентаризацияТоваровНаСкладе.ПустаяСсылка) " +
   ?(СписокСкладов.Количество()=0," "," И СписаниеТоваров.Ссылка.Склад В (&ПарСклад)") +
   ?(СписокРодитель.Количество()=0," "," И СписаниеТоваров.Номенклатура.Родитель В (&ПарРодитель)") + "
   |УПОРЯДОЧИТЬ ПО
   |    Группа ВОЗР, Количество УБЫВ
   |ИТОГИ СУММА(Количество), Сумма(Сумма) ПО
   |    ОБЩИЕ,
   |    Склад ИЕРАРХИЯ";
   
   
   Результат=Запрос.Выполнить();
   ОбластьЗаголовок=Макет.ПолучитьОбласть("Заголовок");
   ОбластьОбщийИтог=Макет.ПолучитьОбласть("Итоги");
   ОбластьНоменклатура=Макет.ПолучитьОбласть("Номенклатура");
   ОбластьНоменклатура1=Макет.ПолучитьОбласть("Номенклатура1");
   ТабДок.Вывести(ОбластьЗаголовок);
   
   ВыборкаОбщийИтог=Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
   ВыборкаОбщийИтог.Следующий();
   ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
   
   
   ВыборкаНоменклатура=ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
   Пока ВыборкаНоменклатура.Следующий() Цикл
       ОбластьНоменклатура.Параметры.Заполнить(ВыборкаНоменклатура);
       ТабДок.Вывести(ОбластьНоменклатура);
       
       ВыборкаНоменклатура1=ВыборкаНоменклатура.Выбрать();
       Пока ВыборкаНоменклатура1.Следующий() Цикл
           ОбластьНоменклатура1.Параметры.Заполнить(ВыборкаНоменклатура1);
           ТабДок.Вывести(ОбластьНоменклатура1);
       КонецЦикла;
       
   КонецЦикла;
   
   ТабДок.Вывести(ОбластьОбщийИтог);
1 mikecool
 
18.10.11
15:17
если хочешь руками - юзай НачатьГруппировкуСтрок
2 Maxus43
 
18.10.11
15:18
если делать конструктором печ форм - то он сам напишет код, где-то видимо косячёк
3 catena
 
18.10.11
15:20
Почитай про Вывести в СП.
4 BarakuzA
 
18.10.11
15:23
(3)-можно расшифровать СП???
5 НЕА123
 
18.10.11
15:26
(4)
мужик в шапке квадратной.
6 BarakuzA
 
18.10.11
15:41
(3)-Вывести в СП???
7 Axel2009
 
18.10.11
15:45
по группировкам с иерархией - нужно рекурсию бацать вообщето для выборки по иерархии
8 catena
 
18.10.11
15:52
(6)Синтаксис-помошник. кнтрл+шифт+ф1
9 BarakuzA
 
18.10.11
16:18
а если через метод НачатьАвтогруппировкуСтрок()???
10 НЕА123
 
18.10.11
16:23
(9)
ну, ты хозяин - тебе и решать.
11 BarakuzA
 
18.10.11
16:27
(10) - тогда закроем тему,данную проблему решил данным методом.