HelpF.pro

Как в запросе получить значение регистра сведений на разные даты?

Вопрос:
Есть возможность в запросе получить значение переодического регистра сведений если меняется дата в строке запроса. Например: Выбираю таблицу товаров из документа поступления за переод и хочу получить значение цены из регистра цены номенклатуры на дату документа?

Ответ:
Нужно получить результат, в котором каждой дате будет сопоставлена соответствующая (меньшая или равная ей дата) из регистра сведений и значение ресурса регистра, соответствующее этой дате. Вот, например, как я получаю курс доллара на день продажи:

Код 1C v 8.х
 ВЫБРАТЬ
ДатаПродажиДатаКурса.ДатаПродажи КАК ДатаПродажи,
ДатаПродажиДатаКурса.ДатаКурса КАК ДатаКурса,
КурсыВалют.Курс КАК Курс,
КурсыВалют.Кратность КАК Кратность
ИЗ
(ВЫБРАТЬ
ДатыПродаж.ДатаПродажи КАК ДатаПродажи,
МАКСИМУМ(КурсыВалют.Период) КАК ДатаКурса
ИЗ
РегистрСведений.КурсыВалют КАК КурсыВалют
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
Продажи.Период КАК ДатаПродажи
ИЗ
РегистрНакопления.Продажи КАК Продажи
ГДЕ
Продажи.ДоговорКонтрагента.Владелец = &Клиент) КАК ДатыПродаж
ПО КурсыВалют.Период <= ДатыПродаж.ДатаПродажи

СГРУППИРОВАТЬ ПО
ДатыПродаж.ДатаПродажи) КАК ДатаПродажиДатаКурса
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют
ПО ДатаПродажиДатаКурса.ДатаКурса = КурсыВалют.Период
ГДЕ
КурсыВалют.Валюта = &Доллар

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/627.html