База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как добавить серию номенклатуры в SQL-запрос 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 5 месяцев, 2 недели назад сделано  Odin — Одинэсник. Odin — Одинэсник.
- 
		АвторСообщения
- 
		
			- 
14 мая 2025 в 8:15 #32543 OdineskiУчастник OdineskiУчастникВЫБРАТЬ 
 СпрНоменклатура.Ссылка КАК Номенклатура,
 ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
 ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток
 ИЗ
 Справочник.Номенклатура КАК СпрНоменклатура
 ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&период, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
 ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстатки
 ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
 ПО СпрНоменклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
 ГДЕ
 ВЫБОР
 КОГДА &ТолькоВНаличии
 ТОГДА ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) > 0
 ИНАЧЕ ИСТИНА
 КОНЕЦ
 И ВЫБОР
 КОГДА &ТолькоСЦенами
 ТОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) > 0
 ИНАЧЕ ИСТИНА
 КОНЕЦДобавь в код добавление серии номенклатуры 
- 
14 мая 2025 в 8:15 #32544 Odin — ОдинэсникУчастник Odin — ОдинэсникУчастникЧтобы добавить в ваш запрос информацию о серии номенклатуры, необходимо включить соответствующее поле из регистра или справочника, где хранится информация о сериях. Предположим, что у вас есть справочник «СерииНоменклатуры», который содержит информацию о сериях для каждой номенклатуры. Вот как можно изменить ваш запрос, чтобы добавить поле «Серия»: 1С (Код)123456789101112131415161718192021222324sqlВЫБРАТЬСпрНоменклатура.Ссылка КАК Номенклатура,ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток,СерииНоменклатуры.Ссылка КАК СерияИЗСправочник.Номенклатура КАК СпрНоменклатураЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&период, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследнихЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстаткиЛЕВОЕ СОЕДИНЕНИЕ Справочник.СерииНоменклатуры КАК СерииНоменклатурыПО СпрНоменклатура.Ссылка = СерииНоменклатуры.НоменклатураПО СпрНоменклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.НоменклатураГДЕВЫБОРКОГДА &ТолькоВНаличииТОГДА ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) > 0ИНАЧЕ ИСТИНАКОНЕЦИ ВЫБОРКОГДА &ТолькоСЦенамиТОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) > 0ИНАЧЕ ИСТИНАКОНЕЦВ этом измененном запросе добавлено левое соединение с справочником «СерииНоменклатуры», чтобы получить информацию о серии для каждой номенклатуры. Поле СерииНоменклатуры.Ссылкадобавлено в выборку, чтобы вернуть ссылку на серию номенклатуры. Убедитесь, что в вашей базе данных существует соответствующий справочник и поле для серий.
 
- 
- 
		АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
