|
Группировка в запросе | ☑ | ||
---|---|---|---|---|
0
prtx
11.06.15
✎
15:22
|
Опять у меня проблемы(((
Люди есть регистр сведений ПрайсыПоставшиков. В нем хранятся данные о ценах товаров. Я делаю "диво-дивное" для формирования заказа. Т.Е. мне нужно достать из этого регистра данные в иерархии. Что бы в дальнейшем я делаю перебор записей и создавал для каждого поставщика отдельный документ заказа. Вот мой запрос: ВЫБРАТЬ Потребность.Номенклатура КАК Номенклатура, Потребность.КоличествоЦелое, ПоставляемаяНоменклатура.Поставщик КАК Поставщик, ПоставляемаяНоменклатура.Код ИЗ РегистрСведений.Потребность КАК Потребность ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПоставляемаяНоменклатура КАК ПоставляемаяНоменклатура ПО Потребность.Номенклатура = ПоставляемаяНоменклатура.Номенклатура, РегистрСведений.ПрайсыПоставщиков.СрезПоследних КАК ПрайсыПоставщиковСрезПоследних ГДЕ Потребность.Организация = &Организация И Потребность.Склад = &Склад СГРУППИРОВАТЬ ПО ПоставляемаяНоменклатура.Поставщик, Потребность.Номенклатура, Потребность.КоличествоЦелое, ПоставляемаяНоменклатура.Код ИТОГИ ПО Номенклатура ТОЛЬКО ИЕРАРХИЯ Сейчас у меня идет одна выборка, а мне нужно я две выборки. т.е. я делаю выборку по поставщикам и создаю документ, дальше делаю выборку записей номенклатуры и записываю их в этот документ, потом следующий поставщик и т.д. Нужно получить что типа этого: Пока Выборка.Следующий() Цикл ВыборкаТоварыПоставщика = Выборка.ТоварыНаСкладах.Выбрать(); Пока ВыборкаТоварыПоставщика.Следующий() Цикл КонецЦикла; КонецЦикла; |
|||
1
Napalmmm
11.06.15
✎
15:41
|
Так может "ИТОГИ ПО Номенклатура" заменить на "ИТОГИ ПО Поставщик"?
|
|||
2
Aprobator
11.06.15
✎
16:33
|
Потребность в регистре сведений - уже интересно.
|
|||
3
TeMochkiN
11.06.15
✎
16:36
|
а зачем в запросе
РегистрСведений.ПрайсыПоставщиков.СрезПоследних КАК ПрайсыПоставщиковСрезПоследних если никакие поля из него не используются? |
|||
4
hhhh
11.06.15
✎
16:55
|
(3) ВНУТРЕННЕЕ СОЕДИНЕНИЕ
|
|||
5
Aprobator
11.06.15
✎
17:00
|
Сгруппировать здесь точно нафиг не нужно. РАЗЛИЧНЫЕ в помощь.
|
|||
6
prtx
11.06.15
✎
17:00
|
(3) это для дальнейшего использования
|
|||
7
vicof
11.06.15
✎
17:00
|
(6) Для какого дальнейшего?)))
|
|||
8
Aprobator
11.06.15
✎
17:02
|
Что за использование таблицы без выборки из неё полей?
|
|||
9
TeMochkiN
11.06.15
✎
17:03
|
(4) и что? внутреннее соединение двух таблиц, а третья просто так висит, или я чего-то не знаю?
|
|||
10
prtx
11.06.15
✎
17:25
|
(9) (8) (7) (4) (1)
С горем по полам решил задачу. Вот что у меня получилось. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Потребность.Номенклатура, | Потребность.КоличествоЦелое, | ПоставляемаяНоменклатура.Поставщик КАК Поставщик, | ПоставляемаяНоменклатура.Код |ИЗ | РегистрСведений.Потребность КАК Потребность | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПоставляемаяНоменклатура КАК ПоставляемаяНоменклатура | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПрайсыПоставщиков.СрезПоследних КАК ПрайсыПоставщиковСрезПоследних | ПО ПоставляемаяНоменклатура.Код = ПрайсыПоставщиковСрезПоследних.Код | ПО Потребность.Номенклатура = ПоставляемаяНоменклатура.Номенклатура |ГДЕ | Потребность.Организация = &Организация | И Потребность.Склад = &Склад | И ПрайсыПоставщиковСрезПоследних.Период >= &НачалоПериода | |СГРУППИРОВАТЬ ПО | ПоставляемаяНоменклатура.Поставщик, | Потребность.Номенклатура, | Потребность.КоличествоЦелое, | ПоставляемаяНоменклатура.Код |ИТОГИ ПО | Поставщик"; Запрос.УстановитьПараметр("Организация", ПараметрыСеанса.ТекущийСотрудник.Организация); Запрос.УстановитьПараметр("Склад", ПараметрыСеанса.ТекущийСотрудник.Склад); Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода); Результат = Запрос.Выполнить(); ВыборкаПоПоставщикам = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Поставщик"); Пока ВыборкаПоПоставщикам.Следующий() Цикл ВыборкаПоНоменклатуре = ВыборкаПоПоставщикам.Выбрать(); Сообщить("поставщик-"+ВыборкаПоПоставщикам.Поставщик); Пока ВыборкаПоНоменклатуре.Следующий() Цикл Сообщить("номенклатура-"+ВыборкаПоНоменклатуре.Номенклатура); КонецЦикла; КонецЦикла; |
|||
11
bootini
11.06.15
✎
17:26
|
Через НайтиСтроки() делай и не заморачивайся
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |