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

Как добавить серию ...
 

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


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

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

Добавь в код добавление серии номенклатуры



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

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

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

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

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



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