RE: Как добавить серию номенклатуры в SQL-запрос 1С?

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

    Чтобы добавить в ваш запрос информацию о серии номенклатуры, необходимо включить соответствующее поле из регистра или справочника, где хранится информация о сериях. Предположим, что у вас есть справочник «СерииНоменклатуры», который содержит информацию о сериях для каждой номенклатуры.

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

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

    В этом измененном запросе добавлено левое соединение с справочником «СерииНоменклатуры», чтобы получить информацию о серии для каждой номенклатуры. Поле `СерииНоменклатуры.Ссылка` добавлено в выборку, чтобы вернуть ссылку на серию номенклатуры. Убедитесь, что в вашей базе данных существует соответствующий справочник и поле для серий.

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