Запрос Номенклатуры с остатком и ценой

1. user2128756 21.02.25 09:52 Сейчас в теме
Подскажите, как правильно получить всю номенклатуру по остатку с указание количества и цены на выбранный день

ВЫБРАТЬ
	ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
	ТоварыНаСкладахОстатки.Склад КАК Склад,
	ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ВНаличииОстаток
ПОМЕСТИТЬ ВТ_остаток
ИЗ
	РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &Склад) КАК ТоварыНаСкладахОстатки
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_остаток.Номенклатура КАК Номенклатура,
	ВТ_остаток.Склад КАК Склад,
	ВТ_остаток.ВНаличииОстаток КАК ВНаличииОстаток,
	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
ИЗ
	ВТ_остаток КАК ВТ_остаток
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
		ПО ВТ_остаток.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
Показать


Пытался таким запросом реализовать, но в результате выходит намного больше строк, чем должно быть
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 21.02.25 10:10 Сейчас в теме
(1) В запросе все правильно. Смотрите в данных, всё ли нормально.
3. user2107191 21.02.25 10:11 Сейчас в теме
Потому что срез последних выдает результат по всем комбинациям значений измерений.
В твоем случае - по характеристикам идет размножение.

Добавь в запрос поле ЦеныНоменклатурыСрезПоследних.Цена и сам все увидишь.
user2128756; +1 Ответить
4. user2128756 21.02.25 10:29 Сейчас в теме
(3) а как это лучше можно решить?

ПС Добавил условие при соединение на характеристику, вроде все верно
5. user2107191 21.02.25 10:37 Сейчас в теме
(4) Пока никак. Ты сам должен определить то, какую цену ты хочешь видеть в результате по номенклатуре без характеристик - минимальную, максимальную, среднюю, средневзвешенную и т.д.
А уже потом браться за техническое решение.
6. user2128756 21.02.25 10:43 Сейчас в теме
(5) У меня характеристика не влияет на цену
7. user2107191 21.02.25 10:52 Сейчас в теме
(6) Это никак не влияет на стратегию решения.
8. skeptik2105 21.02.25 14:27 Сейчас в теме
Проблема не в запросе, а в анализе результата:

в результате выходит намного больше строк, чем должно быть

Берем любую задублированную номенклатуру.
Берем консоль запросов.
Добавляем отбор по номенклатуре (в параметрах виртуальной таблицы).
Выполняем запрос с временными таблицами.
Анализируем, в каком запросе из пакета появляются лишние строки.

Вероятно, как выше написали, в регистре ЦеныНоменклатуры записи в разрезе характеристик.
9. user2107191 21.02.25 15:42 Сейчас в теме
(8)
Вероятно, как выше написали, в регистре ЦеныНоменклатуры записи в разрезе характеристик.
Не "вероятно", а точно! Потому что это регистр сведений с тремя измерениями - Номенклатура, Характеристика и ВидЦены.
Добавляем отбор по номенклатуре (в параметрах виртуальной таблицы).
Выполняем запрос с временными таблицами.
Анализируем, в каком запросе из пакета появляются лишние строки.
Вот это все сложные телодвижения - они нахрена? Если в (3) уже дан быстрый способ анализа, автор его произвел, и все понял уже давно.
10. skeptik2105 21.02.25 16:23 Сейчас в теме
(9)
они нахрена

Ни нахрена, а для чего. Для самостоятельного решения подобных проблем.
Оставьте свое сообщение

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