В КА2.5 есть непериодический, независимый регистр сведений "Дополнительные сведения"
Измерения:
"Объект" БизнесПроцессСсылка, ДокументСсылка, ПланВидовРасчетаСсылка, ЗадачаСсылка, ПланВидовХарактеристикСсылка, ПланСчетовСсылка, СправочникСсылка
"Свойство" ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения
Ресурс: "Значение" Характеристика.ДополнительныеРеквизитыИСведения

В Объекте хранятся ДокументыРеализации, в Значении - ФизЛицо(Водитель)
В запросе нужно отобрать Реализации с Водителями за определенный период.
Но при попытке отфильтровать по дате Реализации запрос жутко тормозит. Также как и при использовании любого реквизита Реализации. Я так понимаю что это связано со скрытыми вложенными запросами.

Есть решение как получить список Реализаций и Водителей за период?

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ДополнительныеСведения.Значение КАК Водитель
    |ИЗ
    | РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
    |ГДЕ
    | ДополнительныеСведения.Свойство = &Свойство
    | И ДополнительныеСведения.Объект.Дата >= &ДатаНач
    | И ДополнительныеСведения.Объект.Дата <= &ДатаКон
    |
    |УПОРЯДОЧИТЬ ПО
    | Водитель";

    ПарамВодительДоставки = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВодительДоставки",ИСТИНА);
    Запрос.УстановитьПараметр("Свойство", ПарамВодительДоставки);
    Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ДатаНач));
    Запрос.УстановитьПараметр("ДатаКон", КонецДня(ДатаКон));

    РезультатЗапроса = Запрос.Выполнить();
```
---
Отбират документы в ВТ, потом этой ВТ соединяться с регистром "Доп. сведения"
---
Точно! Отбирать надо Документы, а Водителей вытаскивать соединением, тогда все норм.
Причем что через ВТ, что без нее по скорости вроде одинаково.
Благодарю.

На всяк случай решение оставлю.
Либо так:

```1c
    ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка КАК Реализация,
    РеализацияТоваровУслуг.Дата КАК Дата
    ПОМЕСТИТЬ ВТ_Реализации
    ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    ГДЕ
    РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТ_Реализации.Реализация КАК Реализация,
    ВТ_Реализации.Дата КАК Дата,
    ДополнительныеСведения.Значение КАК Значение
    ИЗ
    ВТ_Реализации КАК ВТ_Реализации
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
    ПО (ВТ_Реализации.Реализация = ДополнительныеСведения.Объект)
    ГДЕ
    ДополнительныеСведения.Свойство = &Свойство
```

Либо так:

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

На всяк случай решение оставлю.
Либо так:

```1c
    ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка КАК Реализация,
    РеализацияТоваровУслуг.Дата КАК Дата
    ПОМЕСТИТЬ ВТ_Реализации
    ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    ГДЕ
    РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВТ_Реализации.Реализация КАК Реализация,
    ВТ_Реализации.Дата КАК Дата,
    ДополнительныеСведения.Значение КАК Значение
    ИЗ
    ВТ_Реализации КАК ВТ_Реализации
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
    ПО (ВТ_Реализации.Реализация = ДополнительныеСведения.Объект)
    ГДЕ
    ДополнительныеСведения.Свойство = &Свойство
```

Либо так:

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