Пните в правильную сторону построения запроса

1. molodoi1sneg 17 23.10.13 18:55 Сейчас в теме
Добрый день инфостартцы!

Прошу навести меня на путь истинный.

Хочу получить запросом остатки по регистру ТоварыОрганизации по каждой организации. Список организаций получаю запросом:
ВЫБРАТЬ
	ДоговорыКонтрагентов.Организация,	
ИЗ
	Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ГДЕ
	ДоговорыКонтрагентов.Владелец = &Контрагент
	И ДоговорыКонтрагентов.ВидДоговора В(&Вид)
	И ДоговорыКонтрагентов.СрокДействия < &Дата
Показать


Необходимо прикрутить к этому запросу запрос по остаткам по массиву номенклатур

Чтобы результирующая таблица выглядела примерно так:
____________________________________________________________­_________________________
Номенклатура1 | ОстатокОрганизация1 | ОстатокОрганизация2| ОстатокОрганизация3...
Номенклатура2 | ОстатокОрганизация1 | ОстатокОрганизация2| ОстатокОрганизация3...
Номенклатура3 | ОстатокОрганизация1 | ОстатокОрганизация2| ОстатокОрганизация3...

Соотвественно строки - это номенклатура, которая передается параметром в запрос, а столбцы - это количество организаций из первого запроса.

В интернетах рылся в поисках примера, ничего путного не нашел.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. peterxx 22 23.10.13 19:14 Сейчас в теме
Текст запроса:
Запрос.Текст =
"ВЫБРАТЬ
| ТоварыОрганизацийОстатки.Организация КАК Организация,
| ТоварыОрганизацийОстатки.Номенклатура КАК Номенклатура,
| СУММА(ТоварыОрганизацийОстатки.КоличествоОстаток) КАК КоличествоОстаток
|ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки(
| &Дата,
| Организация В
| (ВЫБРАТЬ
| ДоговорыКонтрагентов.Организация
| ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
| ГДЕ
| ДоговорыКонтрагентов.Владелец = &Контрагент
| И ДоговорыКонтрагентов.ВидДоговора = &ВидДоговора
| И ДоговорыКонтрагентов.СрокДействия <= &СрокДействия)) КАК ТоварыОрганизацийОстатки
|
|СГРУППИРОВАТЬ ПО
| ТоварыОрганизацийОстатки.Организация,
| ТоварыОрганизацийОстатки.Номенклатура
|ИТОГИ
| СУММА(КоличествоОстаток)
|ПО
| Номенклатура,
| Организация"


Далее твоя таблица получается обходом группировки "Организация" в выборке с ключевым словом "ВСЕ"
3. molodoi1sneg 17 23.10.13 19:35 Сейчас в теме
(2) peterxx, в данный момент так и реализовано.
Но хочется получить таблицу сразу запросом... Не реально?
4. peterxx 22 23.10.13 19:43 Сейчас в теме
Вменяемо нет, разве только пойти на принцип и сделать какого-нибудь уродца. Если заранее количество организаций неизвестно, то в один запрос все не запихать. Можно по результатам первого запроса сотворить динамически запрос по остаткам (это я имел в виду, когда упоминал уродца), где результат получится объединением запросов по каждой организации из первого запроса.
5. molodoi1sneg 17 23.10.13 20:00 Сейчас в теме
(4) peterxx, о да) я тоже о таких извращениях думал...
6. ipoloskov 163 23.10.13 20:27 Сейчас в теме
(5) molodoi1sneg, так и делай. Только в первом запросе (где организации получаешь) ВЫБРАТЬ РАЗЛИЧНЫЕ сделай, а то у тебя сколько договоров, столько и строчек в выборке
7. M.Shalimov 200 23.10.13 20:41 Сейчас в теме
(5) Лучше обойдите итоги по организации и сформируйте ТЗ, а дальше хоть запрос, хоть код...

1) Есть вероятность. что после Вас кто-то будет читать текст процедуры, и разобраться в формировании динамических запросов сложнее чем в выгрузке в ТЗ.
2) При большом количестве организации у Вас, соответственно, будет большое количество соединений, что может быть не оптимально.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот