Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2025, 10:15

запрос с использованием временной таблицы в отборе по остаткам

Автор ольга009, 09 апр 2025, 15:21

0 Пользователей и 1 гость просматривают эту тему.

ольга009

В первом пакете нужно отобрать все номенклатурные позиции, по которым на текущую дату есть установленная цена по виду цены «Оптовая».
Во втором пакете нужно отобрать остатки товаров на текущий момент. Поля: «Номенклатура», «Остаток».
Задайте отбор по номенклатуре во втором пакете таким образом, чтобы остатки выбирались только по номенклатуре из первого пакета.
Добавьте поле «Цена оптовая» в выводимые поля.

ВЫБРАТЬ

ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,

ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены

ПОМЕСТИТЬ

ВТ_ЦенаИЗ      РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних

ГДЕ      ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены;
////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ      ТоварыНаСкладахОстатки.Номенклатура КАК Наименование,

ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток,

ЦеныНоменклатурыСрезПоследних.Цена КАК Цена

ИЗ

РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних

ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(                        &Дата,                        Номенклатура В                              (ВЫБРАТЬ                                    ВТ_Цена.Номенклатура КАК Номенклатура                              ИЗ                                    ВТ_Цена КАК ВТ_Цена)) КАК ТоварыНаСкладахОстатки

ПО

ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура




Помогите разобраться с ошибкой во втором пакете запросов, при выполнении запроса попадается и розничный вид цен

antoneus

Ну если совсем типа правильно делать, то так:

ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
ПОМЕСТИТЬ
ВТ_Цена
ИЗ
      РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток
ПОМЕСТИТЬ
ВТ_Остатки
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, Номенклатура В (Выбрать Номенклатура ИЗ ВТ_Цены)) КАК ТоварыНаСкладахОстатки;
////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ     
ВТ_Цена.Номенклатура КАК Наименование,
ВТ_Цена.Цена КАК Цена,
ВТ_Остатки.Остаток КАК Остаток
ИЗ
ВТ_Цена
ЛЕВОЕ СОЕДИНЕНИЕ
ВТ_Остатки
ПО
ВТ_Цена.Номенклатура = ВТ_Остатки.Номенклатура

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск