Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Цены на дату в документах в запросе

Цены на дату в документах в запросе
Я
   igel1969
 
05.02.21 - 15:58
Здравствуйте!
Пожалуйста, помогите с запросом!
1С 8.3 УТ 10.3

Мне надо отобрать документы за период и еще добавить к результату цены, но не за какую-то конкретную дату (это получается), а за дату документа.
т.е. если в результате запроса документ на 01.10.2020, то по этим строкам цена нужна на эту дату, а для тех строк, где документ от 07.10.2020 нужны цены на 07.10.2020.
В том запросе, что я делаю цены возвращаются нулевые, хотя они на тот момент точно не нулевые.

Вот запрос:

ВЫБРАТЬ
    ПеремещениеТоваровТовары.Номенклатура,
    ПеремещениеТоваровТовары.ЕдиницаИзмерения,
    ПеремещениеТоваровТовары.ХарактеристикаНоменклатуры,
    ПеремещениеТоваровТовары.Количество,
    ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
        ПО ПеремещениеТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
            И ПеремещениеТоваровТовары.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
            И ПеремещениеТоваровТовары.ЕдиницаИзмерения = ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
            И (ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен)
            И (ЦеныНоменклатурыСрезПоследних.Период = ПеремещениеТоваровТовары.Ссылка.Дата)
ГДЕ
    ПеремещениеТоваровТовары.Ссылка.Проведен
    И ПеремещениеТоваровТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2

А если сделать запрос:
ВЫБРАТЬ
    ПеремещениеТоваровТовары.Номенклатура,
    ПеремещениеТоваровТовары.ЕдиницаИзмерения,
    ПеремещениеТоваровТовары.ХарактеристикаНоменклатуры,
    ПеремещениеТоваровТовары.Количество,
    ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ТекущаяДата, ) КАК ЦеныНоменклатурыСрезПоследних
        ПО ПеремещениеТоваровТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
            И ПеремещениеТоваровТовары.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
            И ПеремещениеТоваровТовары.ЕдиницаИзмерения = ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
            И (ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен)
ГДЕ
    ПеремещениеТоваровТовары.Ссылка.Проведен
    И ПеремещениеТоваровТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2

то возвращает цены, но только на ту дату, какую укажешь в параметре &ТекущаяДата
   fisher
 
1 - 05.02.21 - 16:02
"Срез последних на каждую дату в запросе"
В гугле. Очень частый вопрос.
   программистище
 
2 - 05.02.21 - 16:03
   igel1969
 
3 - 05.02.21 - 16:05
(1) (2) Спасибо.
   ДядяМитяй
 
4 - 05.02.21 - 17:34
ЦеныНоменклатурыСрезПоследних.Период = ПеремещениеТоваровТовары.Ссылка.Дата

а это-то зачем? во-первых равенства там никогда не будет, во-вторых - срез последних на дату уже что-то подобное реализует.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.