Имя: Пароль:
1C
1C 7.7
v7: Непонятная работа вложенной группировки запроса
0 mpbakunov
 
01.11.11
16:53
Доброго дня!

код...

ТекстЗапроса="//{{ЗАПРОС(Подбор)
|Период с ДатаДок по ДатаДок;
|ОбрабатыватьДокументы все;
|Обрабатывать НеПомеченныеНаУдаление;
|Фирм = Документ.Т_РасходнаяНакладнаяПрод_MG.Фирма;
|Товар = Документ.Т_РасходнаяНакладнаяПрод_MG.Товар;
|Маршрут=Документ.Т_РасходнаяНакладнаяПрод_MG.Маршрут_MG;
|Группировка Товар Упорядочить по Товар.Наименование без групп;
|Группировка Маршрут без Групп;";

Запрос=СоздатьОбъект("Запрос");
Если Запрос.Выполнить(текстзапроса)=0 Тогда
   Возврат;
КонецЕсли;

Пока Запрос.Группировка("Товар")=1 Цикл
   Пока Запрос.Группировка("Маршрут")=1 Цикл
       Сообщить(Запрос.Товар);
       Если (Запрос.Маршрут=Маршрут_MG) Тогда
           флаг=1;
           //Прервать;
       КонецЕсли;
   КонецЦикла;
КонецЦикла;

.......

РЕЗУЛЬТАТ:

Йогурт 0,5 п/э
Йогурт 0,5 стакан
Кефір 1% 0,45
Кефір 1% 0,95л
Кефір 3,2% 0,45 п/э
Кефір 3,2% 0,45 СТАКАН
Крем сирковий 5% 200 гр
Маса сиркова з бананом 6% 200 гр
Масло вершкове 72,5 % 0,2кг
Молоко 2,6% 0,95л
Молоко 3,2 % 0,95
Молоко 3,2% 0,5л
Ряженка 3,2% 0,45 л
Ряженка 3,2% 0,45 л стакан
Сир 5% 0,25 п/м
Сир 5% ВАГОВИЙ
Сир 9% 0,25 п/м
Сир Сулугуні 45% вак.
Сливки 10%
Сметана 20% 0,25 ст
Сметана 20% 0,38 ст
Сметана 20% ВАГОВА
Сыворотка 1л

если раскомментировать Прервать тогда выводится наименования товара через одного

Йогурт 0,5 п/э
Кефір 1% 0,45
Кефір 3,2% 0,45 п/э
Крем сирковий 5% 200 гр
Масло вершкове 72,5 % 0,2кг
Молоко 3,2 % 0,95
Ряженка 3,2% 0,45 л
Сир 5% 0,25 п/м
Сир 9% 0,25 п/м
Сливки 10%
Сметана 20% 0,38 ст
Сыворотка 1л

, т.е через один элемент выборка по второй группировке не срабатывает. Почему оператор Прервать так действует на выборку? Всегда думал, что когда курсор переходит на новый элемент первой выборки, то и курсор вложенной группировки обновляется.
1 Ёпрст
 
01.11.11
17:11
(0) что не устраивает ?
2 mpbakunov
 
01.11.11
17:16
(1) не устраивает, то что должны быть результаты одинаковы!. Хотя сейчас перегрузился (совершенно по другой причине) и все работает. результаты одинаковы. хотя. причем тут перезагрузка!!! вот и не могу понять что это было! :(
3 Ёпрст
 
01.11.11
17:17
(2) с какой радости?!!
ты сообщить вставил унутрь ВТОРОЙ группировки, а не первой.
4 viktor_vv
 
01.11.11
17:19
(3) Но у него сообщить до Прервать. Это глючит у него че-то.
2 + 2 = 3.9999999999999999999999999999999...