Есть цель проанализировать конечные цены продажи покупателям
Завели новый прайс-лист (ПЛ), цены обновляются часто.
Нужно на заказы вывести цену продажи и цену на момент создания заказа с нового ПЛ.
Как получить цены на даты заказов? В примере написала ВЫБРАТЬ ПЕРВЫЕ 10, на самом деле заказов больше.
Пробовала вместо &ДатаЗаказаКлиентаТовары подставить ЗаказКлиентаТовары.Ссылка.Дата - пишет в построителе запроса "поле не найдено".

```1c
    ВЫБРАТЬ ПЕРВЫЕ 10
    ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаНовыйПрайс,
    ЗаказКлиентаТовары.СуммаСНДС / ЗаказКлиентаТовары.Количество КАК ФактическаяЦенаПродажи
    ИЗ
    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЗаказаКлиентаТовары, ) КАК ЦеныНоменклатурыСрезПоследних
    ПО ЗаказКлиентаТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    И ЗаказКлиентаТовары.Ссылка = ЦеныНоменклатурыСрезПоследних.ВидЦены
```

то есть так не работает, хоть и хотелось бы...

```1c
    ВЫБРАТЬ ПЕРВЫЕ 10
    ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаНовыйПрайс,
    ЗаказКлиентаТовары.СуммаСНДС / ЗаказКлиентаТовары.Количество КАК ФактическаяЦенаПродажи
    ИЗ
    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(ЗаказКлиентаТовары.Ссылка.Дата, ) КАК ЦеныНоменклатурыСрезПоследних
    ПО ЗаказКлиентаТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    И ЗаказКлиентаТовары.Ссылка = ЦеныНоменклатурыСрезПоследних.ВидЦены
```
---
http://www.gilev.ru/%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8-%D0%BD%D0%B0-%D0%BA%D0%B0%D0%B6%D0%B4%D1%8B%D0%B9-%D0%B4%D0%B5%D0%BD%D1%8C/
где вместо регистра с курсами валют использовать даты заказов
---
форум не даёт редактировать, в предыдущем сообщении есть ошибка - не указан параметр "ДЕНЬ" в функции НачалоПериода

но я сделал готовый конечный запрос:
```1c
    ВЫБРАТЬ
    Товары.Ссылка,
    Товары.Номенклатура,
    Товары.ВидЦены,
    Товары.Цена КАК ФактическаяЦена,
    Цены.Цена КАК ПравильнаяЦена
    ИЗ
    (ВЫБРАТЬ
    Товары.Номенклатура,
    Товары.ВидЦены,
    НачалоПериода(Товары.Ссылка.Дата, ДЕНЬ) КАК Дата,
    МАКСИМУМ(Цены.Период) КАК Период
    ИЗ
    Документ.ЗаказКлиента.Товары КАК Товары
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    РегистрСведений.ЦеныНоменклатуры КАК Цены
    ПО Цены.Номенклатура = Товары.Номенклатура
    И Цены.ВидЦены = Товары.ВидЦены
    И Цены.Период <= Товары.Ссылка.Дата
    СГРУППИРОВАТЬ ПО
    Товары.Номенклатура,
    Товары.ВидЦены,
    НачалоПериода(Товары.Ссылка.Дата, ДЕНЬ)) КАК Периоды
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    РегистрСведений.ЦеныНоменклатуры КАК Цены
    ПО Цены.Номенклатура = Периоды.Номенклатура
    И Цены.ВидЦены = Периоды.ВидЦены
    И Цены.Период = Периоды.Период
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    Документ.ЗаказКлиента.Товары КАК Товары
    ПО Товары.Номенклатура = Периоды.Номенклатура
    И Товары.ВидЦены = Периоды.ВидЦены
    И НачалоПериода(Товары.Ссылка.Дата, ДЕНЬ) = Периоды.Дата
    ГДЕ
    НЕ Товары.Цена=Цены.Цена
    УПОРЯДОЧИТЬ ПО
    Товары.Ссылка.Дата УБЫВ
```
---
http://www.gilev.ru/%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8-%D0%BD%D0%B0-%D0%BA%D0%B0%D0%B6%D0%B4%D1%8B%D0%B9-%D0%B4%D0%B5%D0%BD%D1%8C/
где вместо регистра с курсами валют использовать даты заказов
---
Спасибо, вариант.
Но застрелиться можно на больших объемах...
---
почему? Все тоже самое выходит, только даты заказов нужно поместить во временную таблицу. В любом случае делать придется примерно так, потому что в параметр виртуальной таблицы можно поместить только константу...
---
https://xn----1-bedvffifm4g.xn--p1ai/%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D0%BE%­D0%B5/2020-11-25-poluchit-tsenu-tovara/
https://infostart.ru/1c/articles/77568/
---
https://youtu.be/1U4AajO_vHk

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

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