Всех с днем знаний!
Помогите разобраться в языке запросов.
Написал запрос

```1c
    ВЫБРАТЬ
    РеализацияТоваровУслуг.РасшЛом_ДокКомплектации КАК РасшЛом_ДокКомплектации,
    КомплектацияНоменклатурыКомплектующие.Номенклатура КАК Номенклатура,
    КомплектацияНоменклатурыКомплектующие.Количество КАК Количество,
    ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура1,
    ПоступлениеТоваровУслугТовары.Количество КАК Количество1
    ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.КомплектацияНоменклатуры.Комплектующие КАК КомплектацияНоменклатурыКомплектующие
    ПО (РеализацияТоваровУслуг.РасшЛом_ДокКомплектации = КомплектацияНоменклатурыКомплектующие.Ссылка)
    ПОЛНОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    ПО (КомплектацияНоменклатурыКомплектующие.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура)
    И (РеализацияТоваровУслуг.ДокПост = ПоступлениеТоваровУслугТовары.Ссылка)
    ГДЕ
    РеализацияТоваровУслуг.Проведен = ИСТИНА

    УПОРЯДОЧИТЬ ПО
    РасшЛом_ДокКомплектации,
    Номенклатура
```

Делаю запрос для сравнения двух таблиц, по мануалам подходит полное соединение.
Если в документе есть дубль номенклатуры (а они бывают постоянно, разные характеристики и тех процесс), то получаются дубли в результате, либо перекрестное соединение.
Как от этого избавиться, либо заменить дубли на NULL например?
---
Может, надо сгруппировать сначала комплектующие?

```1c
    ВЫБРАТЬ
    РеализацияТоваровУслуг.РасшЛом_ДокКомплектации КАК РасшЛом_ДокКомплектации,
    РеализацияТоваровУслуг.ДокПост КАК ДокПост,
    КомплектацияНоменклатурыКомплектующие.Номенклатура КАК Номенклатура,
    СУММА(КомплектацияНоменклатурыКомплектующие.Количество) КАК Количество
    ПОМЕСТИТЬ ВтКомплектующие
    ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.КомплектацияНоменклатуры.Комплектующие КАК КомплектацияНоменклатурыКомплектующие
    ПО (РеализацияТоваровУслуг.РасшЛом_ДокКомплектации = КомплектацияНоменклатурыКомплектующие.Ссылка)
    СГУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.РасшЛом_ДокКомплектации,
    РеализацияТоваровУслуг.ДокПост,
    КомплектацияНоменклатурыКомплектующие.Номенклатура
    ГДЕ
    РеализацияТоваровУслуг.Проведен
    ;

    ВЫБРАТЬ
    ВтКомплектующие.РасшЛом_ДокКомплектации КАК РасшЛом_ДокКомплектации,
    ВтКомплектующие.Номенклатура КАК Номенклатура,
    ВтКомплектующие.Количество КАК Количество,
    ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура1,
    ПоступлениеТоваровУслугТовары.Количество КАК Количество1
    ИЗ
    ВтКомплектующие КАК ВтКомплектующие
    ПОЛНОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    ПО (ВтКомплектующие.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура)
    И (ВтКомплектующие.ДокПост = ПоступлениеТоваровУслугТовары.Ссылка)

    УПОРЯДОЧИТЬ ПО
    РасшЛом_ДокКомплектации,
    Номенклатура
```

upd1: (5) А, так понял, что слева должны быть все строки.
upd2: Как вариант, наверно, можно сделать итоги, если уж прям все строки комплектующих нужны:
типа ИТОГИ ПО РеализацияТоваровУслуг.ДокПост, ПоступлениеТоваровУслугТовары.Номенклатура (РеализацияТоваровУслуг.ДокПост вынести в выборку).
Визуально понятней будет, что комплектующие относятся к одному товару поступления.
---
разные характеристики и тех процесс Добавить условие связи по этим реквизитам, очевидно.
---
Помогите разобраться в языке запросов
язык SQL (а в запросах 1с практически он и есть с некоторыми странностями) это штука такая, что про нее пишут учебники на сотни страниц. Как можно "помочь разобраться" в таком непростом предмете в формате форума? Тут нужен хороший курс с хорошим преподом. После прохождения курса, если будут появляться некоторые небольшие вопросы, можно и в форуме спросить...
---
Да, именно так.

(6) И слева, и справа должны быть все строки. Сгруппировать можно по номенклатуре и доп признаку (не критично), пробовал без виртуальной таблицы, но дубли начинают группироваться тоже. Уже задумался о виртуальной таблице.

(7) хороший курс
Нужно начинать с малого, записался на профессионала с 1.10. Самообучение не так эффективно как кажется
---
записался на профессионала
курсы 1с не учат запросам. Парадоксально, но факт. Покажут, где кнопка конструктора запросов, но это же не обучение SQL.Курсы 1с вообще нужны только франчам, для программера это пустая трата ресурсов ой этого я не говорил
---
надо значит надо
По такому принципу и работаю))) я во франче не работаю, а работу программистом (даже калымы) желательно подтверждать чем то, как говориться "без бумажки ты букашка". Вобщем нужно как то развиваться с документальным подтверждением)))

(10) SQL на буржуйском, плохо воспринимаю, с 1с попроще. Как подопрет (как сейчас), буду развиваться.
Главное - выполнение поставленных задач.
---
Если нужно только избавиться от дублей, то просто используйте группировку.

А какая картина должна получиться?
---
А какая картина должна получиться?
То, что на скрине: АКБ не слит - слева должно быть 2 позиции с разным количеством, справа 1 позиция с количеством. Ровно так, как в документах (с дублями, если они есть)
---
По описанию должно выглядеть так...
---
Может, надо сгруппировать сначала комплектующие?

```1c
    ВЫБРАТЬ
    РеализацияТоваровУслуг.РасшЛом_ДокКомплектации КАК РасшЛом_ДокКомплектации,
    РеализацияТоваровУслуг.ДокПост КАК ДокПост,
    КомплектацияНоменклатурыКомплектующие.Номенклатура КАК Номенклатура,
    СУММА(КомплектацияНоменклатурыКомплектующие.Количество) КАК Количество
    ПОМЕСТИТЬ ВтКомплектующие
    ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.КомплектацияНоменклатуры.Комплектующие КАК КомплектацияНоменклатурыКомплектующие
    ПО (РеализацияТоваровУслуг.РасшЛом_ДокКомплектации = КомплектацияНоменклатурыКомплектующие.Ссылка)
    СГУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.РасшЛом_ДокКомплектации,
    РеализацияТоваровУслуг.ДокПост,
    КомплектацияНоменклатурыКомплектующие.Номенклатура
    ГДЕ
    РеализацияТоваровУслуг.Проведен
    ;

    ВЫБРАТЬ
    ВтКомплектующие.РасшЛом_ДокКомплектации КАК РасшЛом_ДокКомплектации,
    ВтКомплектующие.Номенклатура КАК Номенклатура,
    ВтКомплектующие.Количество КАК Количество,
    ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура1,
    ПоступлениеТоваровУслугТовары.Количество КАК Количество1
    ИЗ
    ВтКомплектующие КАК ВтКомплектующие
    ПОЛНОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    ПО (ВтКомплектующие.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура)
    И (ВтКомплектующие.ДокПост = ПоступлениеТоваровУслугТовары.Ссылка)

    УПОРЯДОЧИТЬ ПО
    РасшЛом_ДокКомплектации,
    Номенклатура
```

upd1: (5) А, так понял, что слева должны быть все строки.
upd2: Как вариант, наверно, можно сделать итоги, если уж прям все строки комплектующих нужны:
типа ИТОГИ ПО РеализацияТоваровУслуг.ДокПост, ПоступлениеТоваровУслугТовары.Номенклатура (РеализацияТоваровУслуг.ДокПост вынести в выборку).
Визуально понятней будет, что комплектующие относятся к одному товару поступления.
---
Вектор направления с виртуальными таблицами принят. Попробовал твой код, немного подкорректировав он работает. В конкретном примере, что на скрине, с АКБ все красиво, а вот с алюминием дубль слева появляется, но тут необходимо вводить вторую виртуальную таблицу. Спасибо!
---
В качестве лирики
Я вообще не помню, чтобы в моё время какие-то курсы были. Пришёл во франч — через 2 недели проф. Потом через разумное время — специалист. Помогали, разумеется с подготовкой. К клиентам поначалу ездить тот ещё квест был: знаешь не знаешь — не волнует, надо значит надо.
---
Еще раз спасибо lone_mayson!

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

    СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.ДокПост,
    ПоступлениеТоваровУслугТовары.Ссылка,
    ПоступлениеТоваровУслугТовары.Номенклатура
    ;
    ////////////////////////////////////////////////////////////­/////////////

    ВЫБРАТЬ
    РеализацияТоваровУслуг.РасшЛом_ДокКомплектации КАК РасшЛом_ДокКомплектации,
    РеализацияТоваровУслуг.ДокПост КАК ДокПост,
    КомплектацияНоменклатурыКомплектующие.Номенклатура КАК Номенклатура,
    СУММА(КомплектацияНоменклатурыКомплектующие.Количество) КАК Количество
    ПОМЕСТИТЬ ВтКомплектующие
    ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.КомплектацияНоменклатуры.Комплектующие КАК КомплектацияНоменклатурыКомплектующие
    ПО (РеализацияТоваровУслуг.РасшЛом_ДокКомплектации = КомплектацияНоменклатурыКомплектующие.Ссылка)

    ГДЕ
    РеализацияТоваровУслуг.Проведен

    СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслуг.РасшЛом_ДокКомплектации,
    РеализацияТоваровУслуг.ДокПост,
    КомплектацияНоменклатурыКомплектующие.Номенклатура
    ;
    ////////////////////////////////////////////////////////////­/////////////////////////////////////

    ВЫБРАТЬ
    ВтКомплектующие.РасшЛом_ДокКомплектации КАК РасшЛом_ДокКомплектации,
    ВтКомплектующие.Номенклатура КАК Номенклатура,
    ВтКомплектующие.Количество КАК Количество,
    ВтПоступления.Номенклатура1 КАК Номенклатура1,
    ВтПоступления.Количество1 КАК Количество1
    ИЗ
    ВтКомплектующие КАК ВтКомплектующие
    ПОЛНОЕ СОЕДИНЕНИЕ ВтПоступления КАК ВтПоступления
    ПО (ВтКомплектующие.Номенклатура = ВтПоступления.Номенклатура1)
    И (ВтКомплектующие.ДокПост = ВтПоступления.Ссылка)

    УПОРЯДОЧИТЬ ПО
    РасшЛом_ДокКомплектации,
    Номенклатура
```

Доделал, все работает как нужно, механика понятна, осталось навести марафет