Имя: Пароль:
1C
1С v8
Проблема с выборкой из выборки.
0 SoulPower
 
21.02.12
12:55
Запрос.Текст =
       "ВЫБРАТЬ
       |    Остатки.Владелец КАК Владелец,
       |    Остатки.Склад КАК Склад,
       |    Остатки.Адрес,
       |    Остатки.ЕдиницаИзмерения,
       |    Остатки.ЕдиницаИзмерения.Коэффициент КАК Коэффициент,
       |    Остатки.ХарактеристикаНоменклатуры КАК Характеристика,
       |    Остатки.СерияНоменклатуры КАК Серия,
       |    Остатки.ПартияНоменклатуры,
       |    Остатки.Паллета,
       |    Остатки.Качество,
       |    СУММА(Остатки.КоличествоОстаток) КАК Доступно,
       |    СУММА(Остатки.КоличествоЕдиницИзмеренияОстаток) КАК ДоступноЕдиниц
       |ИЗ
       |    РегистрНакопления.ОстаткиТоваровСобственные.Остатки(
       |            &ДатаЗапроса,
       |            Организация = &Организация
       |                И ВЫБОР
       |                    КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
       |                        ТОГДА &Склад = &Склад
       |                    ИНАЧЕ Склад = &Склад
       |                КОНЕЦ
       |                И Номенклатура = &Номенклатура
       |                И ВЫБОР
       |                    КОГДА &Владелец = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
       |                        ТОГДА &Владелец = &Владелец
       |                    ИНАЧЕ Владелец = &Владелец
       |                КОНЕЦ) КАК Остатки
       |
       |СГРУППИРОВАТЬ ПО
       |    Остатки.Качество,
       |    Остатки.СерияНоменклатуры,
       |    Остатки.Адрес,
       |    Остатки.ХарактеристикаНоменклатуры,
       |    Остатки.ЕдиницаИзмерения,
       |    Остатки.Склад,
       |    Остатки.Паллета,
       |    Остатки.ПартияНоменклатуры,
       |    Остатки.ЕдиницаИзмерения.Коэффициент,
       |    Остатки.Владелец
       |ИТОГИ ПО
       |    Владелец,
       |    Склад";

   Запрос.УстановитьПараметр("ДатаЗапроса"    ,Новый Граница( КонецДня(ДатаЗапроса), ВидГраницы.Включая)      );
   Запрос.УстановитьПараметр("Организация"    ,Организация                                                    );
   Запрос.УстановитьПараметр("Склад"        ,?(Склад = Неопределено,Справочники.Склады.ПустаяСсылка(),Склад));
   Запрос.УстановитьПараметр("Номенклатура",Номенклатура                                                    );
   Запрос.УстановитьПараметр("Владелец"    ,Владелец                                                        );

//Далее обхожу дерево:

ВыборкаВладелец = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   
   ТекущиеОстатки = Новый  Массив();
   
   Пока ВыборкаВладелец.Следующий() цикл
       
       ДанныеПоВладельцам = Новый Структура("Владелец, Склады");
       ДанныеПоВладельцам.Владелец = ВыборкаВладелец.Владелец;
       ДанныеПоВладельцам.Склады    = Новый Массив;
       
       ВыборкаСклад = ВыборкаВладелец.Выбрать();
       
       Пока ВыборкаСклад.Следующий() Цикл
           
           ДанныеПоСкладам = Новый Структура("Склад, ОстаткиПоСкладу");
           
           ДанныеПоСкладам.Склад            = ВыборкаСклад.Склад;
           ДанныеПоСкладам.ОстаткиПоСкладу = Новый  Массив();
           
           ВыборкаАдреса = ВыборкаСклад.Выбрать();
           
           Пока ВыборкаАдреса.Следующий() Цикл
               
               НоваяСтрока = Новый Структура("ЕдиницаИзмерения, ДоступноЕдиниц, Коэффициент, Доступно, Характеристика, Серия, ПартияНоменклатуры, Адрес, Паллета, Качество");
               
               ЗаполнитьЗначенияСвойств(НоваяСтрока,ВыборкаАдреса);
               
               ДанныеПоСкладам.ОстаткиПоСкладу.Добавить(НоваяСтрока);
                   
           КонецЦикла;
           
           ДанныеПоВладельцам.Склады.Добавить(ДанныеПоСкладам);
           
       КонецЦикла;
   
   ТекущиеОстатки.Добавить(ДанныеПоВладельцам);
   
   КонецЦикла;



Проблема в том, что после ВыборкаАдреса = ВыборкаСклад.Выбрать()
ВыборкаАдреса - Пустая.
Не удаётся обойти детальные записи.
В консоле запросов смотрел, всё ок.

Прошу без лишних понтов указать, что я делаю не так.
1 Wobland
 
21.02.12
12:56
ВыборкаСклад = ВыборкаВладелец.Выбрать(тут не хотим по группам идти?);

в следующий раз смотри в консоли
2 FoxFox
 
21.02.12
12:57
В нижних выборках Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам)
3 SoulPower
 
21.02.12
12:59
Сенк, Добрые Люди)
Тока учусь.
4 SoulPower
 
21.02.12
13:03
Чрт, я потратил на это полдня!
Какого хрена всё так просто...  ))
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан