Запрос - динамический список

1. rougudz 02.11.17 15:45 Сейчас в теме
Возможно ли сделать запрос с уникальным ключем номенклатура с отображением остатков из регистра по двум и более складам?
есть запрос.
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	Товары.Наименование КАК Наименование,
	ЦеныНоменклатурыЗакупСрезПоследних.Цена КАК Закуп,
	ЦеныНоменклатурыПродажаСрезПоследних.Цена КАК Продажа,
	ВЫБОР
		КОГДА ОстаткиТовараОстатки.Склад = &Склад1
			ТОГДА ОстаткиТовараОстатки.ОстатокОстаток
		ИНАЧЕ ""
	КОНЕЦ КАК Остаток1,
	ВЫБОР
		КОГДА ОстаткиТовараОстатки.Склад = &Склад2
			ТОГДА ОстаткиТовараОстатки.ОстатокОстаток
		ИНАЧЕ ""
	КОНЕЦ КАК Остаток2
ИЗ
	Справочник.Номенклатура КАК Товары
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТовара.Остатки КАК ОстаткиТовараОстатки
		ПО (ОстаткиТовараОстатки.Номенклатура = Товары.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыЗакуп.СрезПоследних КАК ЦеныНоменклатурыЗакупСрезПоследних
		ПО (ЦеныНоменклатурыЗакупСрезПоследних.Номенклатура = Товары.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыПродажа.СрезПоследних КАК ЦеныНоменклатурыПродажаСрезПоследних
		ПО (ЦеныНоменклатурыПродажаСрезПоследних.Номенклатура = Товары.Ссылка)
Показать

проблема в том что если по одному товару остаток есть на обейх складах, запрос выдает две строки с одной ссылкой на номенклатуру и динамический список валится...
получается примерно так как на сложенном файле.

сломал всю голову.
нужно сделать у справочника товаров несколько колонок с остатками на разных складах...
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
11. user633533_encantado 11 02.11.17 16:07 Сейчас в теме
(10) Это еще почему ? НЕ будет повторяющихся записей, не будет и ошибки.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user633533_encantado 11 02.11.17 15:52 Сейчас в теме
3. rougudz 02.11.17 15:53 Сейчас в теме
(2)
Группировка

по ссылке?
пробовал. тоже самое.
5. user633533_encantado 11 02.11.17 15:55 Сейчас в теме
(3) А остаток сложить ?
Вместо Иначе = "", должно быть иначе = 0

И Сумма(ОстатокОстаток)
7. rougudz 02.11.17 15:58 Сейчас в теме
(5)
(ОстатокОстаток)

это конечно да, но сути не изменит всеравно
9. user633533_encantado 11 02.11.17 16:04 Сейчас в теме
10. rougudz 02.11.17 16:06 Сейчас в теме
(9)
Еще как изменит.

суммирование остатка это понятно, я имел ввиду что сам запрос в динамическом списке в том варианте что у меня с этими изменениями все равно работать не будет.
11. user633533_encantado 11 02.11.17 16:07 Сейчас в теме
(10) Это еще почему ? НЕ будет повторяющихся записей, не будет и ошибки.
12. rougudz 02.11.17 16:14 Сейчас в теме
походу победил. все работает. СПАСИБО!!!
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
		|	Товары.Наименование КАК Наименование,
		|	ЦеныНоменклатурыЗакупСрезПоследних.Цена КАК Закуп,
		|	ЦеныНоменклатурыПродажаСрезПоследних.Цена КАК Продажа,
		|	СУММА(ВЫБОР
		|			КОГДА ОстаткиТовараОстатки.Склад = &Склад1
		|				ТОГДА ОстаткиТовараОстатки.ОстатокОстаток
		|			ИНАЧЕ 0
		|		КОНЕЦ) КАК Остаток1,
		|	СУММА(ВЫБОР
		|			КОГДА ОстаткиТовараОстатки.Склад = &Склад2
		|				ТОГДА ОстаткиТовараОстатки.ОстатокОстаток
		|			ИНАЧЕ 0
		|		КОНЕЦ) КАК Остаток2
		|ИЗ
		|	Справочник.Номенклатура КАК Товары
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТовара.Остатки КАК ОстаткиТовараОстатки
		|		ПО (ОстаткиТовараОстатки.Номенклатура = Товары.Ссылка)
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыЗакуп.СрезПоследних КАК ЦеныНоменклатурыЗакупСрезПоследних
		|		ПО (ЦеныНоменклатурыЗакупСрезПоследних.Номенклатура = Товары.Ссылка)
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыПродажа.СрезПоследних КАК ЦеныНоменклатурыПродажаСрезПоследних
		|		ПО (ЦеныНоменклатурыПродажаСрезПоследних.Номенклатура = Товары.Ссылка)
		|
		|СГРУППИРОВАТЬ ПО
		|	Товары.Наименование,
		|	ЦеныНоменклатурыЗакупСрезПоследних.Цена,
		|	ЦеныНоменклатурыПродажаСрезПоследних.Цена"
Показать
4. antz 02.11.17 15:55 Сейчас в теме
Сделать подзапрос по остаткам и в подзапросе сгруппировать. И не кавычки в выборе, а 0!

примерно так

ВЫБРАТЬ
	ВложенныйЗапрос.Номенклатура,
	СУММА(ВложенныйЗапрос.Остаток1) КАК Остаток1,
	СУММА(ВложенныйЗапрос.Остаток2) КАК Остаток2
ИЗ
	(ВЫБРАТЬ
		ОстаткиТовараОстатки.Номенклатура КАК Номенклатура,
		ОстаткиТовараОстатки.ОстатокОстаток КАК Остаток1,
		0 КАК Остаток2
	ИЗ
		РегистрНакопления.ОстаткиТовара.Остатки(, Склад = &Склад1) КАК ОстаткиТовараОстатки
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		ОстаткиТовараОстатки.Номенклатура,
		0,
		ОстаткиТовараОстатки.ОстатокОстаток
	ИЗ
		РегистрНакопления.ОстаткиТовара.Остатки(, Склад = &Склад2) КАК ОстаткиТовараОстатки) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
	ВложенныйЗапрос.Номенклатура
Показать
6. rougudz 02.11.17 15:57 Сейчас в теме
(4)похоже вложенный запрос единственный вариант. спасибо. не перевариваю их. тяжко потом разбираться в них.
8. rougudz 02.11.17 16:01 Сейчас в теме
(4)
примерно так

а если надо 10 складов, получается 10 вложенных запросов... чтото жесть какаято получается....
Оставьте свое сообщение

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