Разбираться будем на упрощенном примере. Исходные таблицы и нужный результат на рисунке
Для начала создадим в СКД 3 таблицы:
1) Контрагенты+Номер. В этой таблице будет дополнительная колонка "Номер", по которой будет в дальнейшем объединение всех таблиц. В моем примере я создам эту таблицу вручную, в реальной жизни можно использовать создание нумерации запросом, с нужной глубиной.
2) Контрагенты+Договоры. Здесь и в следующей таблице нумерация также сделана упрощенно. В реальных запросах нумерацию справочников можно выполнить во временной таблице. Например, как описано в этой статье Нумерация строк в запросе.
3) Контрагенты+Адреса
Текст запроса
ВЫБРАТЬ
"Контрагент 1" КАК Контрагент,
1 КАК Номер
ПОМЕСТИТЬ КонтрагентыНомера
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 1",
2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 1",
3
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 1",
4
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 1",
5
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 2",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 2",
2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 2",
3
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 2",
4
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 2",
5
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
"Контрагент 1" КАК Контрагент,
1 КАК Номер,
"Договор 1" КАК Договор
ПОМЕСТИТЬ КонтрагентыДоговоры
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 1",
2,
"Договор 2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 2",
1,
"Договор 1"
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
"Контрагент 1" КАК Контрагент,
1 КАК Номер,
"Адрес 1" КАК Адрес
ПОМЕСТИТЬ КонтрагентыАдреса
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 1",
2,
"Адрес 2"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Контрагент 1",
3,
"Адрес 3"
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КонтрагентыНомера.Контрагент КАК Контрагент,
КонтрагентыДоговоры.Договор КАК Договор,
КонтрагентыАдреса.Адрес КАК Адрес
ИЗ
КонтрагентыНомера КАК КонтрагентыНомера
ЛЕВОЕ СОЕДИНЕНИЕ КонтрагентыДоговоры КАК КонтрагентыДоговоры
ПО КонтрагентыНомера.Контрагент = КонтрагентыДоговоры.Контрагент
И КонтрагентыНомера.Номер = КонтрагентыДоговоры.Номер
ЛЕВОЕ СОЕДИНЕНИЕ КонтрагентыАдреса КАК КонтрагентыАдреса
ПО КонтрагентыНомера.Контрагент = КонтрагентыАдреса.Контрагент
И КонтрагентыНомера.Номер = КонтрагентыАдреса.Номер
ГДЕ
(НЕ КонтрагентыДоговоры.Договор ЕСТЬ NULL
ИЛИ НЕ КонтрагентыАдреса.Адрес ЕСТЬ NULL)
Настраиваем схему вывода с помощью детальных записей. В вашем запросе это могут быть любые нужные группировки.
И получаем результат
Вложил пример отчета с описанной выше схемой СКД.