Вывести данные регистров по приоритету

1. G_105516534187032043413 13.08.24 23:12 Сейчас в теме
Имеются 4 строки, отсортированные по номенклатуре. Необходимо вывести только АкцЦену.
Запрос:
ВЫБРАТЬ ИндивидуальныеАкционныеТовары.Магазин КАК Магазин,
 ЕСТЬNULL(ИндивидуальныеАкционныеТовары.Цена, 0) КАК ИндЦена, 0 КАК АкцЦена,
 0 КАК ИндРознЦена, 0 КАК РекРознЦена,
 ИндивидуальныеАкционныеТовары.Номенклатура КАК НоменклатураПОМЕСТИТЬ втВсеЦены
ИЗ РегистрСведений.ИндивидуальныеАкционныеТовары КАК ИндивидуальныеАкционныеТовары
ГДЕ ИндивидуальныеАкционныеТовары.Активна
 И ИндивидуальныеАкционныеТовары.Номенклатура = &Номенклатура
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ ЗНАЧЕНИЕ(справочник.магазины.пустаяссылка),
 0, ЕСТЬNULL(АкционныеТовары.Цена, 0),
 0, 0,
 АкционныеТовары.НоменклатураИЗ
 РегистрСведений.АкционныеТовары КАК АкционныеТоварыГДЕ
 АкционныеТовары.Активна И АкционныеТовары.Номенклатура = &Номенклатура
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
 ИндивидуальныеРозничныеЦены.Магазин, 0,
 0, ЕСТЬNULL(ИндивидуальныеРозничныеЦены.Цена, 0),
 0, ИндивидуальныеРозничныеЦены.Номенклатура
ИЗ РегистрСведений.ИндивидуальныеРозничныеЦены КАК ИндивидуальныеРозничныеЦены
ГДЕ ИндивидуальныеРозничныеЦены.Номенклатура = &Номенклатура
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
 ЗНАЧЕНИЕ(справочник.магазины.пустаяссылка), 0,
 0, 0,
 ЕСТЬNULL(РекомендованныеРозничныеЦены.Цена, 0), РекомендованныеРозничныеЦены.Номенклатура
ИЗ РегистрСведений.РекомендованныеРозничныеЦены КАК РекомендованныеРозничныеЦены
ГДЕ РекомендованныеРозничныеЦены.Номенклатура = &Номенклатура
;
////////////////////////////////////////////////////////////­////////////////////ВЫБРАТЬ РАЗЛИЧНЫЕ
 втВсеЦены.Магазин КАК Магазин, втВсеЦены.ИндЦена КАК ИндЦена,
 втВсеЦены.АкцЦена КАК АкцЦена, втВсеЦены.ИндРознЦена КАК ИндРознЦена,
 втВсеЦены.РекРознЦена КАК РекРознЦена, втВсеЦены.Номенклатура КАК Номенклатура
ПОМЕСТИТЬ втХЗИЗ
 втВсеЦены КАК втВсеЦены;
////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ втВсеЦены.Магазин КАК Магазин,
 втВсеЦены.Номенклатура КАК Номенклатура, ВЫБОР
  КОГДА втВсеЦены.ИндЦена > 0
   ТОГДА втВсеЦены.ИндЦена  КОГДА втВсеЦены.АкцЦена > 0
   ТОГДА втВсеЦены.АкцЦена  КОГДА втВсеЦены.ИндРознЦена > 0
   ТОГДА втВсеЦены.ИндРознЦена  КОГДА втВсеЦены.РекРознЦена > 0
   ТОГДА втВсеЦены.РекРознЦена КОНЕЦ КАК ЦенаПродажи
ИЗ втВсеЦены КАК втВсеЦены
УПОРЯДОЧИТЬ ПО
 Магазин, Номенклатура
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. glorry 14.08.24 12:14 Сейчас в теме
Как мало информации в вопросе!
Судя по скриншоту "Номенклатура" во всех строках одинаковая.
Вариант просто не выводить не нужные цены Вас устроит? Или есть еще какие то дополнительные условия?
3. user2033930 14.08.24 12:19 Сейчас в теме
(2)
Как мало информации в вопросе!
Где ты увидел вопрос??? Тоже хочу посмотреть...
Лично я увидел, что человек использует инфостарт как личную записную книжку, хранит тут себе какие-то записи на память...
4. soft_wind 14.08.24 12:45 Сейчас в теме
просто доавить отюбор

...
ИЗ втВсеЦены КАК втВсеЦены
где 
втВсеЦены.АкцЦена <> 0 //просто добавить отбор
УПОРЯДОЧИТЬ ПО
 Магазин, Номенклатура
 
 
Показать
5. glorry 14.08.24 13:29 Сейчас в теме
Мне кажется странным вот эта конструкция:
ВЫБОР
    КОГДА втВсеЦены.ИндЦена > 0         ТОГДА втВсеЦены.ИндЦена  
    КОГДА втВсеЦены.АкцЦена > 0          ТОГДА втВсеЦены.АкцЦена
    КОГДА втВсеЦены.ИндРознЦена > 0  ТОГДА втВсеЦены.ИндРознЦена
    КОГДА втВсеЦены.РекРознЦена > 0   ТОГДА втВсеЦены.РекРознЦена 
КОНЕЦ КАК ЦенаПродажи

Очень похоже на то, что должна выводиться только одна цена, по определенному приоритету. И в принципе приоритет работает. Но ТС сказал что нужно вывести только АкцЦену.
Скорее всего ТС хочет оставить только одну строку, по скриншоту четвертую. И вот тут простое условие не поможет. Чет я подзавис.....
6. glorry 14.08.24 13:45 Сейчас в теме
Туплю: там же простая группировка поможет, нет?
7. glorry 14.08.24 13:52 Сейчас в теме
Для удобства создал тестовый запрос, не привязанный к какой либо конфигурации.
ВЫБРАТЬ
	"ТекМагазин" КАК Магазин,
	20 КАК АкцЦена,
	0 КАК РекРознЦена,
	"ТекНоменклатура" КАК Номенклатура
ПОМЕСТИТЬ втВсеЦены

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"ТекМагазин",
	0,
	10,
	"ТекНоменклатура"
ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"ТекМагазин",
	0,
	11,
	"ТекНоменклатура"
ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"ТекМагазин",
	21,
	0,
	"ТекНоменклатура"

;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
	втВсеЦены.Магазин КАК Магазин,
	втВсеЦены.АкцЦена КАК АкцЦена,
	втВсеЦены.РекРознЦена КАК РекРознЦена,
	втВсеЦены.Номенклатура КАК Номенклатура
ПОМЕСТИТЬ втХЗ
ИЗ
	втВсеЦены КАК втВсеЦены

;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
	втВсеЦены.Магазин КАК Магазин,
	втВсеЦены.Номенклатура КАК Номенклатура,
	ВЫБОР
		КОГДА втВсеЦены.АкцЦена > 0
			ТОГДА втВсеЦены.АкцЦена
		КОГДА втВсеЦены.РекРознЦена > 0
			ТОГДА втВсеЦены.РекРознЦена
	КОНЕЦ КАК ЦенаПродажи
ИЗ
	втВсеЦены КАК втВсеЦены

Показать

Пустяковая задача, которую сходу не решить. Интересно!
8. glorry 14.08.24 14:10 Сейчас в теме
В общем нужен ТС со своими пояснениями что же нужно сделать.
Оставьте свое сообщение

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