Добрый день! Имеются 2 табличные части - Продукция и Запасы. Табличные части связаны реквизитами: в Продукции реквизит НомерСтроки, в Запасах реквизит НомерСтрокиПродукция.

Например,
Таблица Продукция имеет следующий вид:
1; Продукция1
2; Продукция2

Таблица Запасы:
1; Запас1Продукции1
1; Запас2Продукции1
2; Запас1Продукции2
2; Запас2Продукции2

Можно ли запросом получить строки следующего вида из двух таблиц?
1; Продукция1; (Запас1Продукции1, Запас2Продукции1)
2; Продукция2; (Запас1Продукции2, Запас2Продукции2)

Что-то похожее на выборку из таблицы с табличной частью
---
Получилось вот так сделать:
---
Итоги по продукции.
---
да это выход, соединить 2 таблицы и вывести итоги. Но у меня дальше в дерево по итогам неправильно выводится, если есть одинаковый корень, но разная спецификация. В общем, там все сложнее, чем в описанном в вопросе примере)
Мне нужно, чтобы именно в одну строку все было, как в примере
---
В общем случае - нельзя.
Если запасов по продукции какое-то фиксированное небольшое количество, то левыми соединениями по количеству уникальных запасов можно сделать.
---
Получилось вот так сделать:
---
это так выводит консоль, если вы получите выборку или ТЗ из запроса, то вас ждет сюрприз :)
---
Да вроде бы все норм) Или я что-то не понимаю?
---
Ваш вопрос:
Можно ли запросом получить строки следующего вида из двух таблиц?
1; Продукция1; (Запас1Продукции1, Запас2Продукции1)
2; Продукция2; (Запас1Продукции2, Запас2Продукции2)

В итоге вы получите

1; Продукция1; Запас1Продукция1
1; Продукция1; Запас2Продукция1
................
1; Продукция1; ЗапасNПродукция1
2; Продукция2; Запас1Продукция2
2; Продукция2; Запас2Продукция2
......
2; Продукция2; ЗапасМПродукция2

Если это для вас одно и то же, то ок.
---
Я сразу соглашусь, что я что-то не понимаю, но я вроде бы вижу, что я получил такой результат, как и предполагал (это левый результат в скриншоте). То, что вы описываете, это больше похоже на правый результат на скриншоте
---
Это по-сути один и тот же результат, разница - в его постобработке.
---
Согласен. Но Итоги я не могу сделать, потому что у меня все ломается в дальнейшем выводе в дерево, если есть один корень, но дальше "внутренности" по спецификациям разные. Если только оставлять детальные записи и ставить заглушку, что-то типо если значение номенклатуры по предыдущей строке равно значение по номенклатуре по текущей строке выборки, тогда не создавать новую строку дерева. Но как-то читабельнее, мне кажется, описать это таким полем запроса и вложенной выборкой обойти результат этого поля
---
дерево можно и "вручную" построить:

```1c
    ТЗ.Индексы.Добавить("Продукция");

    СписокПродукции = ТЗ.Скопировать(, "Продукция");
    СписокПродукции.Свернуть("Продукция");
    СписокПродукции = СписокПродукции.ВыгрузитьКолонку("Продукция");

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

Если уровней много, то цикл в процедуру завернуть и вызывать ее рекурсивно.
---
Дерево на форме приблизительно аналогичным образом у меня строится. Из запроса улетает в механизм планирования по еще не выполненным заказам
---
вообще строить связь по НомеруСтроки не рекомендуется!
(замучаетесь потом ошибки исправлять и код переделывать)
---
Там в типовой конфе был КлючСвязи, который уникальный и не меняется после удаления строк. Номер строки просто для примера написал
---
Много раз уже обсуждалось как это можно сделать. Один из последних тут:
https://forum.infostart.ru/forum9/topic307512/

И да, левые соединения там не нужны. Разве что для нумерации по группам, но это подготовка данных и это один раз.
---
С табличными частями получилось сделать вот так