Подскажите пожалуйста , как правильно выбрать ?

Есть две табличные части в обработке , в одной ТЗ менеджеры - ID
вторая ТЗ операции , автор операции - CREATED_BY_ID

```1c
    ТЗ = ЭтотОбъект.ТЧстатистика;
    ТЗМ = ЭтотОбъект.ТЧменеджеры;
    Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
    | ТаблицаЗначений.Источник КАК Источник,
    | ТаблицаЗначений.ID КАК ID,
    | ТаблицаЗначений.DATE_CREATE КАК DATE_CREATE,
    | ТаблицаЗначений.LEAD_ID как LEAD_ID,
    | ТаблицаЗначений.CREATED_BY_ID как CREATED_BY_ID,
    | ТаблицаЗначенийМенеджеры.NAME как NAME,
    | ТаблицаЗначенийМенеджеры.LAST_NAME как LAST_NAME,
    | ТаблицаЗначенийМенеджеры.SECOND_NAME как SECOND_NAME
    |Поместить ВТ
    |ИЗ
    | &ТаблицаЗначений КАК ТаблицаЗначений
    | ЛЕВОЕ СОЕДИНЕНИЕ &ТаблицаЗначенийМенеджеры КАК ТаблицаЗначенийМенеджеры
    | ПО ТаблицаЗначенийМенеджеры.ID = ТаблицаЗначений.CREATED_BY_ID
    |;
    |Выбрать
    | ВремТаб.Источник,
    | ВремТаб.ID,
    | ВремТаб.DATE_CREATE,
    | ВремТаб.LEAD_ID,
    | ВремТаб.CREATED_BY_ID,
    | ВремТаб.NAME,
    | ВремТаб.LAST_NAME,
    | ВремТаб.SECOND_NAME
    | ИЗ ВТ Как ВремТаб";
    Запрос.УстановитьПараметр("ТаблицаЗначений", ТЗ);
    Запрос.УстановитьПараметр("ТаблицаЗначенийМенеджеры", ТЗМ);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Всего = Выборка.Количество();
    Сообщить("Всего : "+Всего);
    Пока Выборка.Следующий() Цикл
    Источник = Выборка.Источник;
    ID = Выборка.ID;
    DATE_CREATE = Выборка.DATE_CREATE;
    LEAD_ID = Выборка.LEAD_ID;
    CREATED_BY_ID = Выборка.CREATED_BY_ID;
    NAME = Выборка.NAME;
    LAST_NAME = Выборка.LAST_NAME;
    SECOND_NAME = Выборка.SECOND_NAME;
    ФИО = СокрЛП(LAST_NAME)+" "+СокрЛП(NAME)+" "+СокрЛП(SECOND_NAME);
    КонецЦикла;
```

Выдает вот такую ошибку

{ВнешняяОбработка.Статистика.МодульОбъекта(177)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить();
по причине:
{(13, 24)}: Ожидается имя таблицы
ЛЕВОЕ СОЕДИНЕНИЕ <<?>>&ТаблицаЗначенийМенеджеры КАК ТаблицаЗначенийМенеджеры
---
Запрос.УстановитьПараметр("ТаблицаЗначений", ТЗ); сделай ТЗ.Выгрузить(), и вообще по хорошему обе ТЗ сначала во временны таблицы закидываешь, а потом уже соединяешь.
---
Запрос.УстановитьПараметр("ТаблицаЗначений", ТЗ); сделай ТЗ.Выгрузить(), и вообще по хорошему обе ТЗ сначала во временны таблицы закидываешь, а потом уже соединяешь.
---
спасибо!
получилось

У меня обе таблицы не пустые на момент запроса. команды Выгрузить не нужна.

```1c
    ТЗ = ЭтотОбъект.ТЧстатистика;
    ТЗМ = ЭтотОбъект.ТЧменеджеры;
    Запрос = Новый Запрос;
    Запрос.Текст ="
    | ВЫБРАТЬ ТаблицаМенеджеры.* ПОМЕСТИТЬ Менеджеры ИЗ &ТЗМ КАК ТаблицаМенеджеры;
    | ВЫБРАТЬ ТаблицаОпераций.* ПОМЕСТИТЬ Операции ИЗ &ТЗО КАК ТаблицаОпераций;
    | ВЫБРАТЬ ОП.*,МЖ.* Поместить ВТ
    |ИЗ
    | Операции КАК ОП
    | ЛЕВОЕ СОЕДИНЕНИЕ Менеджеры КАК МЖ
    | ПО МЖ.ID = ОП.CREATED_BY_ID
    |;
    |Выбрать
    | ВремТаб.Источник,
    | ВремТаб.ID,
    | ВремТаб.DATE_CREATE,
    | ВремТаб.LEAD_ID,
    | ВремТаб.CREATED_BY_ID,
    | ВремТаб.NAME,
    | ВремТаб.LAST_NAME,
    | ВремТаб.SECOND_NAME
    | ИЗ ВТ Как ВремТаб";
    Запрос.УстановитьПараметр("ТЗО", ТЗ);
    Запрос.УстановитьПараметр("ТЗМ", ТЗМ);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
```

Как то так, но похоже можно оптимизировать.
чувствую сделала лишний запрос - третий

наверно так будет оптимальней ?

```1c
    ТЗ = ЭтотОбъект.ТЧстатистика;
    ТЗМ = ЭтотОбъект.ТЧменеджеры;
    Запрос = Новый Запрос;
    Запрос.Текст ="
    | ВЫБРАТЬ ТаблицаМенеджеры.* ПОМЕСТИТЬ Менеджеры ИЗ &ТЗМ КАК ТаблицаМенеджеры;
    | ВЫБРАТЬ ТаблицаОпераций.* ПОМЕСТИТЬ Операции ИЗ &ТЗО КАК ТаблицаОпераций;
    | ВЫБРАТЬ ОП.*,МЖ.*
    |ИЗ
    | Операции КАК ОП
    | ЛЕВОЕ СОЕДИНЕНИЕ Менеджеры КАК МЖ
    | ПО МЖ.ID = ОП.CREATED_BY_ID";

    Запрос.УстановитьПараметр("ТЗО", ТЗ);
    Запрос.УстановитьПараметр("ТЗМ", ТЗМ);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
```
---
Во втором случаи оптимальнее))
---
Спасибо,

Выгружать сначала во временные таблицы как то некрасиво по скорости.
Если данных не много , то не тормозит, а если большой объем - сначала временные таблицы потом еще выборка будет не быстро?.
      Вот что подумала, я собираю данные во временные ТЗ в обработке,
а что если собирать данные не во временные таблицы внутри обработки , а например в регистры, наверно запрос будет по скорости идти еще быстрей.

тогда запрос будет короче и по скорости быстрее на больших объемах , верно думаю ?

```1c
    | ВЫБРАТЬ ОП.*,М.*
    |ИЗ
    | РегистрыСведений.МоиДанныеОперации КАК ОП
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрыСведений.МоиДанныеМенеджеры КАК М
    | ПО М.ID = ОП.CREATED_BY_ID
```
---
я всегда стараюсь работать с временными таблицами, и не наблюдалось тормозов, ведь в запросе уже отработанные ВТ можно убить)