Как соединить результат моей выборки со справояником?(смотри картинку)
---
потому что у вас сначала большая таблица получается, а потом её отбираете. Если указать в условиях связи, то таблица будет меньше, соответственно и отработает быстрее.
---
```1c
    ВЫБРАТЬ ПЕРВЫЕ 10
    .....
    ПОМЕСТИТЬ ХарактеритикиАвто
    ИЗ ....
    ;
    ////////////////
    ВЫБРАТЬ
    Спр.Автомобиль,
    ХарактеритикиАвто.Владелец
    .....
    ИЗ
    Справочник.Автомобили КАК Спр
    ЛЕВОЕ СОЕДИНЕНИЕ ХарактеритикиАвто КАК ХарактеритикиАвто
    ПО Спр.Автомобиль = ХарактеритикиАвто.Автомобиль
```

Либо всё в одном пакете делать, к справочнику присоединять Регистр с условием по автомобилю и виду значения (также 3 раза). Второй вариант предпочтительнее на мой взгляд.
---
Тогда так:

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

а ещё лучше сначала получить нужные автомобили, а потом получать срез последних, это уже от задачи зависит:

```1c
    ВЫБРАТЬ ПЕРВЫЕ 1000
    НужноеАВТО.Ссылка КАК Автомобиль
    ПОМЕСТИТЬ НужноеАВТО
    ИЗ
    Справочник.Автомобили КАК НужноеАВТО
    ;

    /////////////////////////////////////////////
    ВЫБРАТЬ
    НужноеАВТО.Автомобиль КАК Автомобиль,
    Автомобили1.Значение КАК ХОЗЯИН,
    Автомобили2.Значение КАК ГОСНОМЕР,
    Автомобили3.Значение КАК ПРОБЕГ
    ИЗ
    НужноеАВТО КАК НужноеАВТО
    ЛЕВОЕ Соединение РегистрСведений.Автомобили.СрезПоследних(, Автомобиль В (ВЫБРАТЬ НужноеАВТО.Автомобиль ИЗ НужноеАВТО) И ВидЗначения = Значение(Перечисление.ДополнительнаяИнформацияАвтомобилей.Хозяин)) КАК Автомобили1
    ПО НужноеАВТО.Автомобиль = Автомобили1.Автомобиль
    ЛЕВОЕ Соединение РегистрСведений.Автомобили.СрезПоследних(, Автомобиль В (ВЫБРАТЬ НужноеАВТО.Автомобиль ИЗ НужноеАВТО) И ВидЗначения = Значение(перечисление.ДополнительнаяИнформацияавтомобилей.ГосНомер)) КАК Автомобили2
    ПО НужноеАВТО.Автомобиль = Автомобили2.Автомобиль
    ЛЕВОЕ Соединение РегистрСведений.Автомобили.СрезПоследних(, Автомобиль В (ВЫБРАТЬ НужноеАВТО.Автомобиль ИЗ НужноеАВТО) И ВидЗначения = Значение(перечисление.ДополнительнаяИнформацияавтомобилей.Пробег)) КАК Автомобили3
    ПО НужноеАВТО.Автомобиль = Автомобили3.Автомобиль
```
---
Лучи благодарности вам.Я просто ограничила первую 1000,чтобы не подвесить базу
---
с каким справочником?
Добавьте в условие соединения отбор по Виду значений:

```1c
    ПО Автомобили.Автомобиль = Автомобили1.Автомобиль
    И Автомобили1.ВидЗначения = Значение(Перечисление.ДополнительнаяИнформацияАвтомобилей.ГосНомер)
```
---
хорошо.спс
---
Справочник Автомобили(это измерение этого регистра ,если что)
---
```1c
    ВЫБРАТЬ ПЕРВЫЕ 10
    .....
    ПОМЕСТИТЬ ХарактеритикиАвто
    ИЗ ....
    ;
    ////////////////
    ВЫБРАТЬ
    Спр.Автомобиль,
    ХарактеритикиАвто.Владелец
    .....
    ИЗ
    Справочник.Автомобили КАК Спр
    ЛЕВОЕ СОЕДИНЕНИЕ ХарактеритикиАвто КАК ХарактеритикиАвто
    ПО Спр.Автомобиль = ХарактеритикиАвто.Автомобиль
```

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

 ЛЕВОЕ Соединение РегистрСведений.Автомобили КАК Автомобили2
 ПО Автомобили.Автомобиль = Автомобили2.Автомобиль
 И АВтомобили2.ВидЗначения = Значение(перечисление.ДополнительнаяИнформацияавтомобилей.ГосНомер)

ЛЕВОЕ Соединение РегистрСведений.Автомобили КАК Автомобили3
 ПО Автомобили.Автомобиль = Автомобили2.Автомобиль
 И АВтомобили3.ВидЗначения = Значение(перечисление.ДополнительнаяИнформацияавтомобилей.Пробег);
 ///////////////////////////////////////
 ВЫбрать первые 1000
 НужноеАВТО.Ссылка,
 ХарактеристикиАВТО.Хозяин,
 ХарактеристикиАВТО.ГосНомер,
    ХарактеристикиАВТО.Пробег
 ИЗ
 Справочник.Автомобили КАК НужноеАВТО
 Левое соединение ХарактеристикиАВТО КАК ХарактеристикиАВТО
 ПО НужноеАВТО.Ссылка = ХарактеристикиАВТО.Автомобиль
// ГДЕ
// ХарактеристикиАВТО.Хозяин <> ""
---
так у вас Регистр периодический что ли?
---
да
---
мне нужно срез последних получить
---
В общем так нужно:
---
у меня в результате моего запрса выходят пустые значения в Пробег,ГосНомер,хозяин
---
у вас запрос выбирает первую 1000 записей, проверьте для выведенных автомобилей есть значения в регистре.
---
Тогда так:

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

а ещё лучше сначала получить нужные автомобили, а потом получать срез последних, это уже от задачи зависит:

```1c
    ВЫБРАТЬ ПЕРВЫЕ 1000
    НужноеАВТО.Ссылка КАК Автомобиль
    ПОМЕСТИТЬ НужноеАВТО
    ИЗ
    Справочник.Автомобили КАК НужноеАВТО
    ;

    /////////////////////////////////////////////
    ВЫБРАТЬ
    НужноеАВТО.Автомобиль КАК Автомобиль,
    Автомобили1.Значение КАК ХОЗЯИН,
    Автомобили2.Значение КАК ГОСНОМЕР,
    Автомобили3.Значение КАК ПРОБЕГ
    ИЗ
    НужноеАВТО КАК НужноеАВТО
    ЛЕВОЕ Соединение РегистрСведений.Автомобили.СрезПоследних(, Автомобиль В (ВЫБРАТЬ НужноеАВТО.Автомобиль ИЗ НужноеАВТО) И ВидЗначения = Значение(Перечисление.ДополнительнаяИнформацияАвтомобилей.Хозяин)) КАК Автомобили1
    ПО НужноеАВТО.Автомобиль = Автомобили1.Автомобиль
    ЛЕВОЕ Соединение РегистрСведений.Автомобили.СрезПоследних(, Автомобиль В (ВЫБРАТЬ НужноеАВТО.Автомобиль ИЗ НужноеАВТО) И ВидЗначения = Значение(перечисление.ДополнительнаяИнформацияавтомобилей.ГосНомер)) КАК Автомобили2
    ПО НужноеАВТО.Автомобиль = Автомобили2.Автомобиль
    ЛЕВОЕ Соединение РегистрСведений.Автомобили.СрезПоследних(, Автомобиль В (ВЫБРАТЬ НужноеАВТО.Автомобиль ИЗ НужноеАВТО) И ВидЗначения = Значение(перечисление.ДополнительнаяИнформацияавтомобилей.Пробег)) КАК Автомобили3
    ПО НужноеАВТО.Автомобиль = Автомобили3.Автомобиль
```
---
Лучи благодарности вам.Я просто ограничила первую 1000,чтобы не подвесить базу