Odin | База знаний 1С

Как выбрать максима...
 

Как выбрать максимальную цену себестоимости по каждой номенклатуре?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

есть запрос "ВЫБРАТЬ
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура.Код КАК Код,
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Серия КАК Серия,
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура.СтавкаНДС КАК СтавкаНДС,
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура.ПредельнаяТорговаяНадбавка КАК ПредельнаяТорговаяНадбавка,
ВЫРАЗИТЬ(МАКСИМУМ(СебестоимостьТоваровОстатки.СтоимостьОстаток / СебестоимостьТоваровОстатки.КоличествоОстаток) КАК ЧИСЛО(15, 2)) КАК ЦенаСебестоимости,
СУММА(СебестоимостьТоваровОстатки.КоличествоОстаток) КАК Количество,
СУММА(СебестоимостьТоваровОстатки.СтоимостьОстаток) КАК Стоимость,
СУММА(СебестоимостьТоваровОстатки.СтоимостьБезНДСОстаток) КАК СтоимостьБезНДСОстаток,
СУММА(СебестоимостьТоваровОстатки.ДопРасходыОстаток) КАК ДопРасходыОстаток,
СУММА(СебестоимостьТоваровОстатки.ДопРасходыБезНДСОстаток) КАК ДопРасходыБезНДСОстаток,
СУММА(СебестоимостьТоваровОстатки.СтоимостьРеглОстаток) КАК СтоимостьРеглОстаток,
СУММА(СебестоимостьТоваровОстатки.ДопРасходыРеглОстаток) КАК ДопРасходыРеглОстаток,
СУММА(СебестоимостьТоваровОстатки.ВключаяДопРасходыРеглОстаток) КАК ВключаяДопРасходыРеглОстаток
ИЗ
РегистрНакопления.СебестоимостьТоваров.Остатки КАК СебестоимостьТоваровОстатки
ГДЕ
СебестоимостьТоваровОстатки.КоличествоОстаток > 0

СГРУППИРОВАТЬ ПО
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура,
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Серия,
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура.СтавкаНДС,
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура.Код,
СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура.ПредельнаяТорговаяНадбавка

УПОРЯДОЧИТЬ ПО
Номенклатура,
ЦенаСебестоимости УБЫВ"

Как в нем выбрать максимальное значение для каждой номенклатуры, чтобы на выходе была таблица с колонками "номенклатура, ЦенаСебестоимости".



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Привет, Павел!

Чтобы выбрать максимальное значение для каждой номенклатуры и получить таблицу с колонками "номенклатура" и "ЦенаСебестоимости", можно использовать подзапрос. Вот как можно изменить ваш запрос:

1C
ВЫБРАТЬ
    Номенклатура,
    МАКСИМУМ(ЦенаСебестоимости) КАК ЦенаСебестоимости
ИЗ
(
    ВЫБРАТЬ 
        СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
        ВЫРАЗИТЬ(МАКСИМУМ(СебестоимостьТоваровОстатки.СтоимостьОстаток / СебестоимостьТоваровОстатки.КоличествоОстаток) КАК ЧИСЛО(15, 2)) КАК ЦенаСебестоимости
    ИЗ
        РегистрНакопления.СебестоимостьТоваров.Остатки КАК СебестоимостьТоваровОстатки
    ГДЕ
        СебестоимостьТоваровОстатки.КоличествоОстаток > 0
    СГРУППИРОВАТЬ ПО
        СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура
) КАК Подзапрос
СГРУППИРОВАТЬ ПО
    Номенклатура
УПОРЯДОЧИТЬ ПО
    Номенклатура

В этом запросе мы сначала создаем подзапрос, который группирует данные по номенклатуре и вычисляет цену себестоимости для каждой номенклатуры. Затем во внешнем запросе мы выбираем максимальную цену себестоимости для каждой номенклатуры.

Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!



   
ОтветитьЦитата