Как в запросе сделать количество колонок равным количеству уникальных значений по ценам

1. user1979322 24.01.25 13:34 Сейчас в теме
Всем привет. Написал запрос который выгружает остатки товаров со складов, с различными ценами(оптовая, розничная и т.д) Задачу изменили и нужно сделать добавить количество столбцов равным уникальным значениям различных цен
ВЫБРАТЬ
	ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
	ТоварыНаСкладахОстатки.Склад КАК Склад,
	ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ВНаличииОстаток,
	СУММА(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена,
	ТоварыНаСкладахОстатки.Номенклатура.Код КАК НоменклатураКод,
	ТоварыНаСкладахОстатки.Номенклатура.ЕдиницаИзмерения КАК НоменклатураЕдиницаИзмерения,
	ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены
ИЗ
	РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ) КАК ЦеныНоменклатурыСрезПоследних
		ПО (ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура)
			И (ТоварыНаСкладахОстатки.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика)
ГДЕ
	ТоварыНаСкладахОстатки.Склад.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
	ТоварыНаСкладахОстатки.Номенклатура,
	ТоварыНаСкладахОстатки.Склад,
	ЦеныНоменклатурыСрезПоследних.ВидЦены,
	ТоварыНаСкладахОстатки.ВНаличииОстаток,
	ТоварыНаСкладахОстатки.Номенклатура.Код,
	ТоварыНаСкладахОстатки.Номенклатура.ЕдиницаИзмерения
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 80 24.01.25 13:40 Сейчас в теме
(1) зачем именно запросом это делать?
Если это принципиально, то
1. делать количество соединений таблиц по количеству колонок + параметрами передавать в запрос все нужные виды цен
2. через конструкцию ВЫБОР КОГДА ТОГДА + параметрами передавать в запрос все нужные виды цен
3. user1979322 24.01.25 13:42 Сейчас в теме
(2) В том то и прикол, что я заранее не знаю сколько у меня уникальных значений цен. Пишу обработку на другой базе данных
4. nomad_irk 80 24.01.25 13:44 Сейчас в теме
(3) в таком случае можно динамически собрать текст запроса
Но самый простой вариант: не делать отдельные колонки для вида цены, использовать одну колонку для этого
10. Vinzor 111 24.01.25 19:44 Сейчас в теме
(1) Я советую в СКД сделать 2 запроса.
Вкладка "Наборы данных" 2 запроса
1 - основная со всеми нужными вам данными по фактическим значениям попавших в выборку видов цен
2 - отдельный запрос на получение всех нужных видов цен
Вкладка "Связи наборов данных" - соединяете основную таблицу выборки с таблицей всех видов цен по виду цены
далее как надо, параметры, ресурсы, структура отчета

Должно взлететь, у меня подобное в ЗУПе работает
5. user1979322 24.01.25 13:52 Сейчас в теме
Мне хотя бы вариант выгрузки хотя бы по 3 различным видам цен
6. nomad_irk 80 24.01.25 13:54 Сейчас в теме
(5) Оставьте одну колонку для вида цены и выгружайте хоть все стопицот, в чем сложности?
7. user1979322 24.01.25 13:55 Сейчас в теме
(6) Это не моя прихоть, такую задачу поставили
8. nomad_irk 80 24.01.25 13:56 Сейчас в теме
(7) ответ в (2), даже 2 разных способа
9. VmvLer 24.01.25 13:58 Сейчас в теме
запрос в СКД и создать настройку "Таблица"
Строки Номенклатура, Склад
Колонки ВидЦены

зачем делать сложным?
Оставьте свое сообщение

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