Добрый день. Временные таблицы. Если выполнять отдельно, то в результате первого 10 строк, в результате второго 5 строк. В результате целого запроса получается 5 строк, то есть результат первого режется. Подскажите, как сделать, чтобы выводилось 10 строк, пусть 5 из них будут пустыми в полях из второго запроса. Заранее спасибо.

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

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    Сотрудник.Сотрудник КАК Сотрудник,
    СУММА(ХозрасчетныйОстатки.СуммаОстатокДт) КАК Долг,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Сотрудник.Договор) КАК Количество
    ПОМЕСТИТЬ Долги
    ИЗ
    Сотрудник КАК Сотрудник
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(
    ,
    Счет.Код = "58"
    ИЛИ Счет.Код = "76"
    ИЛИ Счет.Код = "01"
    ИЛИ Счет.Код = "02",
    ,
    ВЫРАЗИТЬ(Субконто2 КАК Справочник.ДоговорыКонтрагентов) В
    (ВЫБРАТЬ
    Сотрудник.Договор
    ИЗ
    Сотрудник КАК Сотрудник)) КАК ХозрасчетныйОстатки
    ПО (Сотрудник.Договор = (ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.ДоговорыКонтрагентов)))
    ГДЕ
    Сотрудник.Период МЕЖДУ &НачалоПериода И &КонецПериода
    и ВЫРАЗИТЬ(Субконто2 КАК Справочник.ДоговорыКонтрагентов) в (выбрать Анкета.Договор из Анкета как Анкета)

    СГРУППИРОВАТЬ ПО
    Сотрудник.Сотрудник
    ;

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

    ГДЕ
    ДоходыСотрудниковОбороты.Сотрудник.Родитель.Код = "Вз"
    И ДоходыСотрудниковОбороты.Договор в(выбрать Анкета.Договор из Анкета как Анкета)

    СГРУППИРОВАТЬ ПО
    ДоходыСотрудниковОбороты.Сотрудник,
    Долги.Долг,
    Долги.Количество
```
---
Тогда или Долги выводить слева или делать полное
---
текст запроса мы должны угадать?
---
Добавил.
---
Так там всего 1 запрос выводится в пакете, все остальное во временных таблицах.
---
Да, вт а не пакеты...
---
что да? Текст кода покажите где режется запрос.
---
```1c
    //Вот тут 5 строк

    Выбрать АнкетаКлиента.Договор
    Поместить Анкета
    Из Документ.АнкетаКлиента как АнкетаКлиента
    Где //АнкетаКлиента.Обещание В(&Обещание)
    РАЗНОСТЬДАТ(АнкетаКлиента.Договор.ДатаОкончания, &Сегодня, ДЕНЬ) = 4
    ;

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

    ГДЕ
    ДоходыСотрудниковОбороты.Сотрудник.Родитель.Код = "Вз"
    И ДоходыСотрудниковОбороты.Договор в(выбрать Анкета.Договор из Анкета как Анкета)

    СГРУППИРОВАТЬ ПО
    ДоходыСотрудниковОбороты.Сотрудник

    //Вот тут 10 строк

    Выбрать АнкетаКлиента.Договор
    Поместить Анкета
    Из Документ.АнкетаКлиента как АнкетаКлиента
    Где //АнкетаКлиента.Обещание В(&Обещание)
    РАЗНОСТЬДАТ(АнкетаКлиента.Договор.ДатаОкончания, &Сегодня, ДЕНЬ) = 4
    ;
    ВЫБРАТЬ
    СотрудникПоДоговоруСрезПоследних.СотрудникКАК Сотрудник,
    СотрудникПоДоговоруСрезПоследних.Договор КАК Договор,
    СотрудникПоДоговоруСрезПоследних.Период КАК Период
    ПОМЕСТИТЬ Сотрудник
    ИЗ
    РегистрСведений.СотрудникПоДоговору.СрезПоследних(, ) КАК СотрудникПоДоговоруСрезПоследних
    ГДЕ
    СотрудникПоДоговоруСрезПоследних.Сотрудник.Родитель.Код = "ВЗ"
    И СотрудникПоДоговоруСрезПоследних.Договор в (выбрать Анкета.Договор из Анкета как Анкета)
    ;

    ////////////////////////////////////////////////////////////­­////////////////////
    ВЫБРАТЬ
    Сотрудник.Сотрудник КАК Сотрудник,
    СУММА(ХозрасчетныйОстатки.СуммаОстатокДт) КАК Долг,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Сотрудник.Договор) КАК Количество
    Поместить Рез2
    ИЗ
    Сотрудник КАК Сотрудник
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(
    ,
    Счет.Код = "58"
    ИЛИ Счет.Код = "76"
    ИЛИ Счет.Код = "01"
    ИЛИ Счет.Код = "02",
    ,
    ВЫРАЗИТЬ(Субконто2 КАК Справочник.ДоговорыКонтрагентов) В
    (ВЫБРАТЬ
    Сотрудник.Договор
    ИЗ
    Сотрудник КАК Сотрудник)) КАК ХозрасчетныйОстатки
    ПО (Сотрудник.Договор = (ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.ДоговорыКонтрагентов)))
    ГДЕ
    Сотрудник.Период МЕЖДУ &НачалоПериода И &КонецПериода
    и ВЫРАЗИТЬ(Субконто2 КАК Справочник.ДоговорыКонтрагентов) в (выбрать Анкета.Договор из Анкета как Анкета)

    СГРУППИРОВАТЬ ПО
    Сотрудник.Сотрудник
    ;

    ВЫБРАТЬ
    Рез1.Сотрудник,
    Рез2.Долг,
    Рез2.Количество,
    Рез1.Сумма
    ИЗ
    Рез1 КАК Рез1
    Левое СОЕДИНЕНИЕ Рез2 КАК Рез2
    ПО Рез1.Сотрудник = Рез2.Сотрудник;
```

При соединении получается 5 строк
---
Вопрос в следующем, как соединить так, чтобы выводились 10 строк.
---
Что и как вы соединяете так и не понятно
---
Регистр накопления сколько строк?
---
5
---
а временная таблица Долги?
---
так если у вас в регистре 5 строк, то 5 и будет, даже с левым соединением, если нужно больше, то следует использовать ПОЛНОЕ соединение
---
У вас долги есть по сотрудникам, у которых нет доходов в заданном периоде?
Вы их тоже хотите вывести?
---
Да именно
---
Тогда или Долги выводить слева или делать полное
---
Все получилось, поменял местами таблицы, которые соединяю. Спасибо!!!
---
уберите это условие, из за него запрос работает как внутреннее соединение, а не левое. Из за этого и "Режется" ваш запрос

 ВЫРАЗИТЬ(Субконто2 КАК Справочник.ДоговорыКонтрагентов) в (выбрать Анкета.Договор из Анкета как Анкета)
---
Подскажите, а почему так происходит?
---
Тут без разницы левое или внутреннее, так как таблица Сотрудники ограничена этим же условием. Тут в регистре бухгалтерии записи по сотрудникам, которых нет в списке, с которым соединяют
---
Посмотрите, пожалуйста. https://forum.infostart.ru/forum9/topic288908/#message2890553
---
Мне кажется вы не понимаете как работают соединения, судя по вашим советам выше, про 5 строк.
"так если у вас в регистре 5 строк, то 5 и будет, даже с левым соединением, если нужно больше, то следует использовать ПОЛНОЕ соединение"

Либо я вас не понимаю просто
---
Во-первых, это не мой совет, хотя в данном случае я считаю его верным.
Во-вторых, для данного конкретного случая разницы не будет левое или внутреннее.
---
Сначала хотел спросить образно, соответственно первый запрос (из формулировки вопроса)- вт Долги, второй запрос - результирующий запрос.
---
и если убрать условия :
```1c
    ГДЕ
    ДоходыСотрудниковОбороты.Сотрудник.Родитель.Код = "Вз"
    И ДоходыСотрудниковОбороты.Договор в(выбрать Анкета.Договор из Анкета как Анкета)
```
 и выполнить, то сколько будет?
---
Подскажите, как можно оптимизировать запрос?

```1c
    ВЫБРАТЬ
    АнкетаКлиента.Договор КАК Договор
    ПОМЕСТИТЬ Анкета
    {ВЫБРАТЬ
    Договор.*}
    ИЗ
    Документ.АнкетаКлиента КАК АнкетаКлиента
    Где АнкетаКлиента.Дата > ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    И АнкетаКлиента.Обещание В(&Обещание)
    И РАЗНОСТЬДАТ(АнкетаКлиента.Договор.ДатаОкончания, &Сегодня, ДЕНЬ) = &ДниПросрочки
    ;

    ////////////////////////////////////////////////////////////­­////////////////////
    ВЫБРАТЬ
    СотрудникПоДоговоруСрезПоследних.Сотрудник КАК Сотрудник,
    СотрудникПоДоговоруСрезПоследних.Договор КАК Договор,
    СотрудникПоДоговоруСрезПоследних.Период КАК Период
    ПОМЕСТИТЬ Сотрудник
    {ВЫБРАТЬ
    Сотрудник,
    Договор,
    Период}
    ИЗ
    РегистрСведений.СотрудникПоДоговору.СрезПоследних(, ) КАК СотрудникПоДоговоруСрезПоследних
    ГДЕ
    СотрудникПоДоговоруСрезПоследних.Сотрудник.Родитель.Код = "Вз"
    И СотрудникПоДоговоруСрезПоследних.Договор В
    (ВЫБРАТЬ
    Анкета.Договор
    ИЗ
    Анкета КАК Анкета)
    ;

    ////////////////////////////////////////////////////////////­­////////////////////
    ВЫБРАТЬ
    Сотрудник.Сотрудник КАК Сотрудник,
    СУММА(ХозрасчетныйОстатки.СуммаОстатокДт) КАК Долг,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Сотрудник.Договор) КАК Количество
    ПОМЕСТИТЬ ГотовыйДолг
    {ВЫБРАТЬ
    Сотрудник,
    Долг,
    Количество}
    ИЗ
    Сотрудник КАК Сотрудник
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(
    ,
    Счет.Код = "58"
    ИЛИ Счет.Код = "76"
    ИЛИ Счет.Код = "01"
    ИЛИ Счет.Код = "02",
    ,
    ВЫРАЗИТЬ(Субконто2 КАК Справочник.ДоговорыКонтрагентов) В
    (ВЫБРАТЬ
    Сотрудник.Договор
    ИЗ
    Сотрудник КАК Сотрудник)) КАК ХозрасчетныйОстатки
    ПО (Сотрудник.Договор = (ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.ДоговорыКонтрагентов)))
    ГДЕ
    Сотрудник.Период МЕЖДУ &НачалоПериода И &КонецПериода
    И ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.ДоговорыКонтрагентов) В
    (ВЫБРАТЬ
    Анкета.Договор
    ИЗ
    Анкета КАК Анкета)

    СГРУППИРОВАТЬ ПО
    Сотрудник.Сотрудник
    ;

    ////////////////////////////////////////////////////////////­­////////////////////
    ВЫБРАТЬ
    ДоходыСотрудниковОбороты.Сотрудник КАК Сотрудник,
    СУММА(ДоходыСотрудниковОбороты.СуммаОборот) КАК Сумма
    ПОМЕСТИТЬ ГотовыйСумма
    {ВЫБРАТЬ
    Сотрудник.*,
    Сумма}
    ИЗ
    РегистрНакопления.ДоходыСотрудников.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ДоходыСотрудниковОбороты
    ГДЕ
    ДоходыСотрудниковОбороты.Сотрудник.Родитель.Код = "Вз"
    И ДоходыСотрудниковОбороты.Договор В
    (ВЫБРАТЬ
    Анкета.Договор
    ИЗ
    Анкета КАК Анкета)

    СГРУППИРОВАТЬ ПО
    ДоходыСотрудниковОбороты.Сотрудник
    ;

    ////////////////////////////////////////////////////////////­­////////////////////
    ВЫБРАТЬ
    ГотовыйДолг.Сотрудник КАК Взыскатель,
    ГотовыйДолг.Долг КАК Долг,
    ГотовыйДолг.Количество КАК Количество,
    ГотовыйСумма.Сумма КАК Сумма
    {ВЫБРАТЬ
    Сотрудник.*,
    Долг,
    Количество,
    Сумма}
    ИЗ
    ГотовыйДолг КАК ГотовыйДолг
    ЛЕВОЕ СОЕДИНЕНИЕ ГотовыйСумма КАК ГотовыйСумма
    ПО (ГотовыйСумма.Сотрудник = ГотовыйДолг.Сотрудник)
```
---
Прошу прощения, да ошибся с адресатом. Наверное уже нет смысла обсуждать этот косячный запрос)
---
Сообщение было скрыто модератором.