Цены на дату документа продажи

akim 7 1

Получить цены номенклатуры на дату документа продажи

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

Рекомендации

См. также

Плановая себестоимость продаж (цена на Дату документа)

Срез на даты за период. Шаблон запроса

ПроверитьНомерДокументаПоДате (БСП)

ПроверитьНомерДокументаПоДатеИОрганизации (БСП)

ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента (БСП)

Как получить дату и время создания элемента справочника, документа по ссылке

Движения периодического регистра сведений без повторов

Определение плановых остатков товара с учетом предшествующих фактических и будущих плановых продаж

TurboConf - расширение Конфигуратора 1С

Комментарии

FastCode
#1, 19 ноября 2021 12:59

Roman Klochkov предложил в группе Telegram вариант через временную таблицу:

ВЫБРАТЬ
    Цены.Период,
    Цены.Номенклатура,
    Цены.Цена
ПОМЕСТИТЬ ВТЦены
ИЗ РегистрСведений.ЦеныНоменклатуры КАК Цены
ГДЕ Цены.ТипЦен = &ТипЦен И Цены.Период > &НачалоПериода И Цены.Период <= &КонецПериода

ОБЪЕДИНИТЬ ВСЕ

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

;

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


Модератору