Имя: Пароль:
1C
 
Как отловить итоговую строку запроса?
0 Паланик
 
11.06.09
12:39
Чтобы во время перебора выборки рез-та запроса увидеть итоговые строки (общие итоги), делаем так:
Если Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ОбщийИтог

а каким образом увидеть не общие итоги, а обычные, по группировкам номенклатуры например...

и еще, как в самом запросе итоговые строки переносить в конец группировки? |УПОРЯДОЧИТЬ ПО Приход.Номенклатура ВОЗР, Количество ВОЗР
не помогает.
1 ZDenis
 
11.06.09
12:41
(0) Пока нет выборки по группировкам - итоги общие. После Пока Запрос.Группировка(этото) - итоги по группировке. После цикла итоги - опять общие
2 ZDenis
 
11.06.09
12:42
+1 или это не в 77?
3 Паланик
 
11.06.09
12:42
пардон, тема V8((
4 Паланик
 
11.06.09
12:44
выборка формируется так, что итог получается перед группировкой, мне так не удобно, чтобы выводить в таблицу обычным способом: подытоживание снизу.
5 Паланик
 
11.06.09
12:48
блин, все в пятничных ветках засели((
6 Crusher
 
11.06.09
12:56
(4) А кто мешает вывести в таблицу итоги после вывода группировок?
7 Паланик
 
11.06.09
13:14
(6) Имеешь в виду во время обхода строк получать первую строку с итогом, запоминать ее, а по завершении группировки выводить её? было бы проще, когда она сразу уже в конце, сразу вывести и всё. или я не так понимаю?
8 Mitriy
 
11.06.09
13:20
(7) заполняешь область итогов, а потом выводишь ее в любое удобное время в любом удобном месте...
9 Паланик
 
11.06.09
13:22
(8) Точно, не сообразил, спасибо!
А как с этим:

"Чтобы во время перебора выборки рез-та запроса увидеть итоговые строки (общие итоги), делаем так:
Если Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ОбщийИтог

а каким образом увидеть не общие итоги, а обычные, по группировкам номенклатуры например..."
10 Jaap Vduul
 
11.06.09
13:22
Обычно работают не с общей выборкой, а получают выборку для каждой группировки:
ВыборкаОбщиеИтоги = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
...
Выборка1 = ВыборкаОбщиеИтоги.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
...
и т.д.
11 Паланик
 
11.06.09
13:50
Спасибо, но это, я так понял, для СГРУППИРОВАТЬ. А я пользуюсь ИТОГИ, т.к. мне нужны все строки.
хочу в обходе строк видеть/знать, что это строка с итогом, а эта обычная. Как-то можно?
12 Jaap Vduul
 
11.06.09
13:53
(11)Нет, ты неправильно понял
13 Mitriy
 
11.06.09
13:53
(11) это (10) как раз про итоги...
14 Mitriy
 
11.06.09
13:54
(11) покажи кусок запроса с итогами...
15 Паланик
 
11.06.09
13:55
ЗапросПлюс = " ГДЕ Приход.Номенклатура.НоменклатурнаяГруппа = &НоменклатурнаяГруппа И Приход.Склад = &Склад
       |И Приход.Номенклатура.Родитель.Код <> ""Ц00000006  "" И Приход.Номенклатура.Родитель.Код <> ""Ц0000004   "" И Приход.Номенклатура.Родитель.Код <> ""АО06443    "" И Приход.Номенклатура.Родитель.Код <> ""бО05213    ""
       |И Приход.Регистратор.Дата >=&НачДата И Приход.Регистратор.Дата <= &НаДату
   //    |СГРУППИРОВАТЬ ПО Приход.Номенклатура    
       |УПОРЯДОЧИТЬ ПО Приход.Номенклатура ВОЗР
       |ИТОГИ СУММА(Количество) ПО ОБЩИЕ, Приход.Номенклатура";
16 Паланик
 
11.06.09
14:00
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка.Следующий() Цикл
   Сообщить(""+Выборка.Номенклатура+" - "+Выборка.Количество);
КонецЦикла;

Выводит Общий итог, без строк. А если выбираю уже из Выборка, то вообще пустота.
17 Jaap Vduul
 
11.06.09
14:03
(16)Иди книжку почитай желтенькую...
18 Mitriy
 
11.06.09
14:03
ВыборкаОбщиеИтоги = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаОбщиеИтоги.Следующий() Цикл
ОбластьОбщихИтогов.Парметры.Заполнить(ВыборкаОбщиеИтоги);
ВыборкаИтогиНоменклатура = ВыборкаОбщиеИтоги.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаИтогиНоменклатура.Следующий() Цикл
ОбластьИтогиНоменклатура.Параметры.Заполнить(ВыборкаИтогиНоменклатура);
ВыборкаДетали = ВыборкаИтогиНоменклатура.Выбрать();
Пока ВыборкаДатали.Следующий() Цикл
...


где-то так...
19 Mitriy
 
11.06.09
14:05
(18) ну за орфографию пардон...
20 Паланик
 
11.06.09
14:15
Всё, спасибо всем!))
Закон Брукера: Даже маленькая практика стоит большой теории.