Добрый день. В базе есть документ Заказ на перемещение, на его основание создан заказ на производство, на основание заказа на производство создан этап производства, на основание этапа создана передача готовой продукции. Необходимо получить Тч из документа передача готовой продукции. Как правильно написать такой запрос, какие приемы использовать что бы избежать кучи запросов в циклах?
```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ЗаказНаПроизводство2_2.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ЗаказНаПроизводство2_2 КАК ЗаказНаПроизводство2_2
    |ГДЕ
    | ЗаказНаПроизводство2_2.ДокументОснование = &ДокументОснование
    | И НЕ ЗаказНаПроизводство2_2.ПометкаУдаления
    | И ЗаказНаПроизводство2_2.Проведен";

    Запрос.УстановитьПараметр("ДокументОснование", Объект.ЗаказНаПеремещение);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаЗаказов = РезультатЗапроса.Выбрать();

    Пока ВыборкаЗаказов.Следующий() Цикл

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ЭтапПроизводства2_2.Ссылка КАК Ссылка
    |ИЗ
    | Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
    |ГДЕ
    | ЭтапПроизводства2_2.Распоряжение = &Распоряжение
    | И НЕ ЭтапПроизводства2_2.ПометкаУдаления
    | И ЭтапПроизводства2_2.Проведен";

    Запрос.УстановитьПараметр("Распоряжение", ВыборкаЗаказов.Ссылка);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаЭтапов = РезультатЗапроса.Выбрать();

    Пока ВыборкаЭтапов.Следующий() Цикл

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ДвижениеПродукцииИМатериаловТовары.Номенклатура КАК Номенклатура,
    | ДвижениеПродукцииИМатериаловТовары.Характеристика КАК Характеристика,
    | ДвижениеПродукцииИМатериаловТовары.КоличествоУпаковок КАК КоличествоУпаковок
    |ИЗ
    | Документ.ДвижениеПродукцииИМатериалов.Товары КАК ДвижениеПродукцииИМатериаловТовары
    |ГДЕ
    | ДвижениеПродукцииИМатериаловТовары.Распоряжение = &Распоряжение
    | И НЕ ДвижениеПродукцииИМатериаловТовары.Ссылка.ПометкаУдаления
    | И ДвижениеПродукцииИМатериаловТовары.Ссылка.Проведен
    | И ДвижениеПродукцииИМатериаловТовары.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаПродукцииИзПроизводства)";

    Запрос.УстановитьПараметр("Распоряжение", ВыборкаЭтапов.Ссылка);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДвижениеПродукцииИМатериалов = РезультатЗапроса.Выбрать();

    Пока ВыборкаДвижениеПродукцииИМатериалов.Следующий() Цикл

    Если ВыборкаДвижениеПродукцииИМатериалов.Номенклатура = СтрокаТч.Номенклатура И ВыборкаДвижениеПродукцииИМатериалов.Характеристика = СтрокаТч.Характеристика Тогда
    НоваяСтрокаТЗДвижениеПродукцииИМатериалов = ТЗДвижениеПродукцииИМатериалов.Добавить();
    ЗаполнитьЗначенияСвойств(НоваяСтрокаТЗДвижениеПродукцииИМатериалов, ВыборкаДвижениеПродукцииИМатериалов);
    ТЗДвижениеПродукцииИМатериалов.Свернуть("Номенклатура, Характеристика", "КоличествоУпаковок");
    КонецЕсли;
    КонецЦикла;

    КонецЦикла;
```
---
Написать запрос с тремя левыми соединениями
---
Используйте пакетные запросы. И отбирайте не по одной ссылке с сразу по всем. На первый взгляд это делается одним запросом с 2-3 временными таблицами
---
Скопировать код из отчета связанных документов
---
Написать запрос с тремя левыми соединениями
---
Используйте пакетные запросы. И отбирайте не по одной ссылке с сразу по всем. На первый взгляд это делается одним запросом с 2-3 временными таблицами
---
```1c
    ВЫБРАТЬ
    ЗаказНаПроизводство2_2.Ссылка КАК Ссылка
    ПОМЕСТИТЬ ВТЗаказыНаПроизводство
    ИЗ
    Документ.ЗаказНаПроизводство2_2 КАК ЗаказНаПроизводство2_2
    ГДЕ
    ЗаказНаПроизводство2_2.ДокументОснование = &ДокументОснование
    И НЕ ЗаказНаПроизводство2_2.ПометкаУдаления
    И ЗаказНаПроизводство2_2.Проведен
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ЭтапПроизводства2_2.Ссылка КАК Ссылка
    ПОМЕСТИТЬ ВтЭтапы
    ИЗ
    ВТЗаказыНаПроизводство КАК ВТЗаказыНаПроизводство
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
    ПО (ЭтапПроизводства2_2.Распоряжение = ВТЗаказыНаПроизводство.Ссылка)
    ГДЕ
    НЕ ЭтапПроизводства2_2.ПометкаУдаления
    И ЭтапПроизводства2_2.Проведен
    ;

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

Так?
---
Похоже на то