Имя: Пароль:
1C
1C 7.7
v7: Обход по вложенным папкам в запросе
0 moonlight
 
26.01.14
15:16
В запросе одна группировка по Товар. Что указать в запросе чтобы обход по группировке Товар проходил вначале по 1ой папке 1го уровня, всех ее подпапок или  элементом и только затем обход переходил к следущей папке 1го уровня?
1 DGorgoN
 
26.01.14
15:18
"Без Групп" в группировке убрать помогает?
2 moonlight
 
26.01.14
15:23
Да, но мне нужно выводить и строки групп!
3 DGorgoN
 
26.01.14
15:27
(2) еще раз внимательно почитай (1).
|Группировка Номенклатура;"; //БезГрупп
4 moonlight
 
26.01.14
15:32
(3) Так и было изначально
5 viktor_vv
 
26.01.14
15:33
(4) Ну так оно так и работает, как ты в (0) написал.
6 viktor_vv
 
26.01.14
15:34
Показывай текст, и обход тоже.
7 moonlight
 
26.01.14
15:36
ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Номенклатура = Регистр.ОборотыНоменклатура.Номенклатура;
    //|Док = Регистр.ОборотыНоменклатура.ТекущийДокумент;
    |Кво = Регистр.ОборотыНоменклатура.Кво;
    |Сумма = Регистр.ОборотыНоменклатура.Сумма;
    |СуммаСебестоимость = Регистр.ОборотыНоменклатура.СуммаСебестоимость;
    |Группировка Номенклатура;
    |Функция КвоСумма = Сумма(Кво);
    |Функция СуммаСумма = Сумма(Сумма);
    |Функция СуммаСебестоимостьСумма = Сумма(СуммаСебестоимость);
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка() = 1 Цикл
        // Заполнение полей Сформировать
        Если Запрос.Номенклатура.ЭтоГруппа()=1 Тогда
            Таб.ВывестиСекцию("ДанныеГруппа");
        Иначе
            Таб.ВывестиСекцию("Данные");
        КонецЕсли;
        
    КонецЦикла;
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
8 viktor_vv
 
26.01.14
15:38
Пока Запрос.Группировка("Номенклатура") = 1 Цикл

А то детальные записи похоже обходишь.
9 moonlight
 
26.01.14
15:40
(8) ты прав. Спасибо!