Добрый день.
Просьба сообществу помочь с запросом.

Имеем регистр сведений, не периодический.
Измерение - Измерение1_СсылкаНаДокумент
Ресурсы - Ресурс1_СсылкаНаСправочник
               - Ресурс2_ПримитивныйТип

Нужно запросом получить последние введенные документы измерения регистра, с группировкой по ресурсам. При этом с условием отбора документов, введенных не позднее указанного в параметре &УказанныйДокумент.

Запрос типа такого:

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

    СГРУППИРОВАТЬ ПО
    Регистр.Ресурс1_СсылкаНаСправочник,
    Регистр.Ресурс2_ПримитивныйТип
```

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

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

Затем выборка РАЗЛИЧНЫЕ и внутреннее соединение вт с регистром по условию:
Дата = ДатаДокумента И все остальные связи.
Если регистр большой, то будет лишняя выборка, но результат должен получиться.
Если есть документы в пределах одной секунда, то тоже будет всех их выборка.
Но тут скорее ошибка структуры регистра для данного отчеты.
---
```1c
    ВЫБРАТЬ
    Регистр.Измерение1_СсылкаНаДокумент КАК Документ,
    Регистр.Ресурс1_СсылкаНаСправочник,
    Регистр.Ресурс2_ПримитивныйТип
    ИЗ
    РегистрСведений.Регистр КАК Регистр ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Регистр КАК Регистр1
    ПО (Регистр.Ресурс1_СсылкаНаСправочник = Регистр1.Ресурс1_СсылкаНаСправочник
    И Регистр.Ресурс2_ПримитивныйТип = Регистр1.Ресурс2_ПримитивныйТип
    И Регистр.Измерение1_СсылкаНаДокумент.МоментВремени < Регистр1.Измерение1_СсылкаНаДокумент.МоментВремени )
    ГДЕ
    Регистр.Измерение1_СсылкаНаДокумент.МоментВремени <= &УказанныйДокументМоментВремени
    И Регистр1.Измерение1_СсылкаНаДокумент ЕСТЬ NULL
```
---
Я думаю есть смысл привязаться к дате документа
---
Смысл есть. Но не к дате а к моменту времени.
Но как это сделать красиво? В том и вопрос.
---
Хм... За один этап вычислений?
Разве что через коррелирующий подзапрос.
Я вот только не помню - можно в ГДЕ коррелирующие подзапросы использовать или только в ВЫБРАТЬ и условиях соединения?
---
Короче, попробовать какой-нить ужас типа такого:

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