Имя: Пароль:
1C
1С v8
ОбходРезультатаЗапроса.ПоГруппировкамСИерархией
0 nunzio
 
03.10.11
20:34
Друзья, столкнулся с проблемой понимания обхода результата запроса. Поиском пользовался, не помог).
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
              |    РеализацияТоваров.Контрагент КАК Контрагент,
              |    РеализацияТоваров.Договор КАК Договор,
              |    РеализацияТоваров.Ссылка КАК Документ,
              |    РеализацияТоваров.СуммаДокумента КАК СуммаДокумента
              |ИЗ
              |    Документ.РеализацияТоваров КАК РеализацияТоваров
              |ИТОГИ
              |    СУММА(СуммаДокумента)
              |ПО
              |    Контрагент ИЕРАРХИЯ";
Результат = Запрос.Выполнить();
ВыборкаГруппа = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
Пока ВыборкаГруппа.Следующий() Цикл
   Сообщить("Группа: " + ВыборкаГруппа.Контрагент + " " + ВыборкаГруппа.СуммаДокумента);
   ВыборкаДетали = ВыборкаГруппа.Выбрать();
   Пока ВыборкаДетали.Следующий() Цикл
       Сообщить("Детали: " + ВыборкаДетали.Контрагент + " " + ВыборкаДетали.Документ + " " + ВыборкаДетали.СуммаДокумента);
       КонецЦикла;
КонецЦикла;

Почему в данном случае выводятся только итоги по иерархии, а итоги по группировки и детальные записи отсутствуют ? Если заменить обход на "ПоГруппировкам" все выводиться нормально. В справке по иерархическому обходу написано "у выборки можно получать вложенные выборки любого типа. Так, если бы мы запросили у Выборки2, спозиционированной на записи 1, линейную выборку, то с ее помощью мы бы получили записи с номерами записей со 2-го по 10-й." Чяднт ?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан