Добрый день, просьба помочь .

В( теоретически) есть документ Установка цен. Есть номенклатура "Хлеб" и "Сыр" например.

Есть 2 документа "Установка цен" для "Хлеба". (10.10.2018 - 50р) и (20.10.2018 -100р)

И для "Сыра" к примеру так же: (10.10.2020 - 100р) и (20.10.2020 -150р)

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

"Выбрать первую ссылку где дата < текущей"

Если выбирать "Первые 1" то выбираются только первые строки :
- "Хлеб". (20.10.2018 -100р)

А нужно еще и сыр:
- "Хлеб". (20.10.2018 -100р)
- "Сыр" (20.10.2020 -150р)

 Можете подсказать ?) или скинуть похожий запрос к примеру
---
```1c
    ВЫБРАТЬ
    Т.Номенклатура КАК Номенклатура,
    Т.Ссылка КАК Ссылка,
    Т.Ссылка.Дата КАК Дата,
    Т.Ссылка.Проведен КАК Проведен
    ПОМЕСТИТЬ ДокументыУстановкиЦен
    ИЗ
    Документ.УстановкаЦенНоменклатуры.Товары КАК Т
    ГДЕ
    Т.Номенклатура В (&МассивНоменклатуры)
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ДокументыУстановкиЦен.Номенклатура КАК Номенклатура,
    МАКСИМУМ(ДокументыУстановкиЦен.Дата) КАК Дата
    ПОМЕСТИТЬ МаксимальныеДаты
    ИЗ
    ДокументыУстановкиЦен КАК ДокументыУстановкиЦен

    СГРУППИРОВАТЬ ПО
    ДокументыУстановкиЦен.Номенклатура
    ;

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

1. Отбираем из документов Номенклатура, Дата Цена в ВТ_Номенклатура.
2. Отбираем из ВТ_Номенклатура - МАКСИМУМ(Дата), Номенклатура в ВТ_ПоследниеДаты
3. Связываем ВТ_ПоследниеДаты с ВТ_Номенклатура левым соединением по Номенклатура, Дата.
---
Если конфа УТ, или им подобная, то лучше использовать регистр сведений "Цены номенклатур" (Срез последних). Если нужно принципиально вытащить из документа, то нужно определится с ключевыми полями, по которым можно найти последний документ (в простом варианте это номер и дата).

```1c
    ВЫБРАТЬ
    УстановкаЦенНоменклатурыТовары.Номенклатура КАК Номенклатура,
    МАКСИМУМ(УстановкаЦенНоменклатурыТовары.Ссылка.Дата) КАК Дата
    ПОМЕСТИТЬ втМаксДата
    ИЗ
    Документ.УстановкаЦенНоменклатуры.Товары КАК УстановкаЦенНоменклатурыТовары
    ГДЕ
    УстановкаЦенНоменклатурыТовары.Номенклатура В(&СписокНоменклатур)

    СГРУППИРОВАТЬ ПО
    УстановкаЦенНоменклатурыТовары.Номенклатура
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    втМаксДата.Дата КАК Дата,
    втМаксДата.Номенклатура КАК Номенклатура,
    МАКСИМУМ(УстановкаЦенНоменклатурыТовары.Ссылка.Номер) КАК Номер
    ПОМЕСТИТЬ втМаксДатаНомер
    ИЗ
    втМаксДата КАК втМаксДата
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.УстановкаЦенНоменклатуры.Товары КАК УстановкаЦенНоменклатурыТовары
    ПО втМаксДата.Номенклатура = УстановкаЦенНоменклатурыТовары.Номенклатура
    И втМаксДата.Дата = УстановкаЦенНоменклатурыТовары.Ссылка.Дата

    СГРУППИРОВАТЬ ПО
    втМаксДата.Номенклатура,
    втМаксДата.Дата
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    втМаксДатаНомер.Дата КАК Дата,
    втМаксДатаНомер.Номенклатура КАК Номенклатура,
    втМаксДатаНомер.Номер КАК Номер,
    УстановкаЦенНоменклатуры.Ссылка КАК УстановкаЦен
    ИЗ
    втМаксДатаНомер КАК втМаксДатаНомер
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.УстановкаЦенНоменклатуры КАК УстановкаЦенНоменклатуры
    ПО втМаксДатаНомер.Дата = УстановкаЦенНоменклатуры.Дата
    И втМаксДатаНомер.Номер = УстановкаЦенНоменклатуры.Номер
```
---
УТ, да, с регистром понятно, я мне именно с документами надо разобраться, есть не проведенные
---
УТ, да, с регистром понятно, я мне именно с документами надо разобраться, есть не проведенные

(6) Без регистра )
---
Тогда как с курсами валют - выбрать максимальные даты по каждой номенклатуре в отдельную временную таблицу, и связать с получившейся таблицей по Номенклатуре и по Дате.

1. Отбираем из документов Номенклатура, Дата Цена в ВТ_Номенклатура.
2. Отбираем из ВТ_Номенклатура - МАКСИМУМ(Дата), Номенклатура в ВТ_ПоследниеДаты
3. Связываем ВТ_ПоследниеДаты с ВТ_Номенклатура левым соединением по Номенклатура, Дата.
---
Как вариант !)
а где это можно посмотреть на примере ?
---
Нигде. В типовых решениях нет задачи анализировать цены в непроведенных документах. Это чисто ваша частная задача, только у вас и можно будет посмотреть пример, когда решите.
---
(10) Спасибо за помощь )
---
В (10) вам уже и текст подогнали примерный. Ровно то, о чем я и написал.
---
Выборку надо делать по регистру цен, а не по документу.
Если регистра нет, то выбирать надо по табличным частям документа с отбором по номенклатуре безо всяких "Первые".
---
Ну так отбор и выдает :
- "Хлеб". (10.10.2018 - 50р)
- "Хлеб". (20.10.2018 -100р)
-"Сыр" (10.10.2020 - 100р)
-"Сыр" (20.10.2020 -150р)

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

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ДокументыУстановкиЦен.Номенклатура КАК Номенклатура,
    МАКСИМУМ(ДокументыУстановкиЦен.Дата) КАК Дата
    ПОМЕСТИТЬ МаксимальныеДаты
    ИЗ
    ДокументыУстановкиЦен КАК ДокументыУстановкиЦен

    СГРУППИРОВАТЬ ПО
    ДокументыУстановкиЦен.Номенклатура
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    МаксимальныеДаты.Номенклатура КАК Номенклатура,
    ДокументыУстановкиЦен.Ссылка КАК Ссылка,
    ДокументыУстановкиЦен.Дата КАК Дата,
    ДокументыУстановкиЦен.Проведен КАК Проведен
    ИЗ
    МаксимальныеДаты КАК МаксимальныеДаты
    ЛЕВОЕ СОЕДИНЕНИЕ ДокументыУстановкиЦен КАК ДокументыУстановкиЦен
    ПО (МаксимальныеДаты.Номенклатура = ДокументыУстановкиЦен.Номенклатура)
    И (МаксимальныеДаты.Дата = ДокументыУстановкиЦен.Дата)
```
---
ЛЕВОЕ СОЕДИНЕНИЕ
Можно и ВНУТРЕННЕЕ