Имя: Пароль:
1C
1С v8
Обход результата запроса по группировке
,
0 moonlight
 
11.02.15
13:53
Добрый день!

есть фрагмент кода

Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
    Запрос.УстановитьПараметр("НаименованияСвойств", мНаименованияСвойств);
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ЗначенияСвойствОбъектов.Свойство.Наименование КАК НаименованиеСвойства,
    |    ЗначенияСвойствОбъектов.Значение КАК Значение,
    |    ПеремещениеОСОС.ОсновноеСредство КАК ОсновноеСредство
    |ИЗ
    |    Документ.ПеремещениеОС.ОС КАК ПеремещениеОСОС
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    |        ПО ПеремещениеОСОС.ОсновноеСредство.Ссылка = ЗначенияСвойствОбъектов.Объект
    |ГДЕ
    |    ПеремещениеОСОС.Ссылка = &Ссылка
    |    И ЗначенияСвойствОбъектов.Свойство.Наименование В(&НаименованияСвойств)";
    
    РезультатЗапроса = Запрос.Выполнить();

    
    РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ОсновноеСредство");    
    пока РезультатЗапроса.Следующий() цикл
.......

При выполнениии получаю сообщение - Измерение не найдено "ОсновноеСредство".

Где ошибка?
1 Fragster
 
гуру
11.02.15
13:54
итоги
2 moonlight
 
11.02.15
14:06
(1) Я посмотрел примеры и тоже понял что для такого вида обхода результата запроса должны быть ИТОГИ, но как это должно выглядеть в моем случае?
3 Fram
 
11.02.15
14:08
Нафиг группировки. Сортировка и обход с помощью СледующийПоЗначению()
4 Fram
 
11.02.15
14:09
Пардон. СледующийПоЗначениюПоля()
5 mikecool
 
11.02.15
14:28
Итоги По ОсновноеСредство
6 moonlight
 
11.02.15
14:28
(4) Попробую, спасибо. Ну а все таки какие правила построения запроса должны быть чтобы была возможность использовать подобно этому: РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ОсновноеСредство")
7 moonlight
 
11.02.15
14:31
(5) Добавил. Получил ошибку http://clip2net.com/s/3ceWnpE
8 nordbox
 
11.02.15
14:33
Ну дык ты читай сам что пишешь?
ОбходРезультатаЗапроса.ПоГруппировкам
А где они у тебя?
Обходить то чего нет???
9 salvator
 
11.02.15
14:34
(7)
РезультатЗапроса = Запрос.Выполнить();
ВыборкаОС = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ОсновноеСредство");    
Пока ВыборкаОС.Следующий() Цикл
...
10 nordbox
 
11.02.15
14:35
Группировка где??
11 moonlight
 
11.02.15
15:31
(10)
Запрос.Текст =
    "ВЫБРАТЬ
    |    ЗначенияСвойствОбъектов.Свойство.Наименование КАК НаименованиеСвойства,
    |    ЗначенияСвойствОбъектов.Значение КАК Значение,
    |    ПеремещениеОСОС.ОсновноеСредство КАК ОсновноеСредство
    |ИЗ
    |    Документ.ПеремещениеОС.ОС КАК ПеремещениеОСОС
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    |        ПО ПеремещениеОСОС.ОсновноеСредство.Ссылка = ЗначенияСвойствОбъектов.Объект
    |ГДЕ
    |    ПеремещениеОСОС.Ссылка = &Ссылка
    |    И ЗначенияСвойствОбъектов.Свойство.Наименование В(&НаименованияСвойств)
    |
    |СГРУППИРОВАТЬ ПО
    |    ЗначенияСвойствОбъектов.Свойство.Наименование,
    |    ПеремещениеОСОС.ОсновноеСредство,
    |    ЗначенияСвойствОбъектов.Значение
    |ИТОГИ ПО
    |    ОсновноеСредство";
    
    РезультатЗапроса = Запрос.Выполнить();

    
    РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ОсновноеСредство");    
    пока РезультатЗапроса.Следующий() цикл


Ошибка та же: - МЕТОД ОБЪЕКТА НЕ ОБНАРУЖЕН (СЛЛЕДУЮЩИЙ())
12 ShoGUN
 
11.02.15
15:34
(11) Нет у результата запроса такого метода. Есть у выборки из результата запроса.
13 moonlight
 
11.02.15
15:42
Увидел, спасибо!
14 salvator
 
11.02.15
15:42
(11) Автор не читатель, а автор - писатель?
См (9)
15 vhl
 
11.02.15
16:48
(13) короче, когда пишешь код - жмешь ctrl+пробел - там подсказка будет с доступными методами. Если нужного метода не будет, значит ты что-то делаешь не так :)
16 User_Agronom
 
11.02.15
16:53
Выборка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ОсновноеСредство");    
    пока Выборка.Следующий() цикл
17 User_Agronom
 
11.02.15
16:54
pardon, поспешил. Так должно быть
Выборка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);    
    пока Выборка.Следующий() цикл