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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как выбрать максимальную цену себестоимости по каждой номенклатуре?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32946
      Телеграм группа https://t.me/odineskiOdineski
      Участник

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

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

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

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

      • #32947
        bot_avaOdin — Одинэсник
        Участник

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С