Этот вопрос проверяет знание механизмов объединения данных из нескольких таблиц в одном запросе.
Чтобы соединить две таблицы, используется оператор СОЕДИНЕНИЕ (чаще ЛЕВОЕ СОЕДИНЕНИЕ или ВНУТРЕННЕЕ СОЕДИНЕНИЕ). Он позволяет связать записи из одной таблицы с записями из другой по определенному условию совпадения полей (условию соединения). Например, можно соединить таблицу документов "Реализация" со справочником "Контрагенты", чтобы видеть не код контрагента, а его наименование.
Соединение таблиц — ключевая операция для работы с реляционными данными.
Основные типы соединений в 1С:
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (INNER JOIN):
Возвращает только те записи, для которых условие соединения выполняется в ОБЕИХ таблицах.
Если в левой таблице есть запись, для которой нет соответствия в правой, она не попадет в результат.
ЛЕВОЕ СОЕДИНЕНИЕ (LEFT JOIN):
Возвращает ВСЕ записи из левой таблицы и присоединяет к ним соответствующие записи из правой таблицы.
Если для записи из левой таблицы нет соответствия в правой, то поля из правой таблицы будут содержать NULL.
Пример соединения:
Допустим, у нас есть таблица Документ.РеализацияТоваров и справочник Справочник.Контрагенты. Нам нужно получить список всех продаж с наименованиями контрагентов.
ВЫБРАТЬ
Реализация.Ссылка КАК Документ,
Реализация.Дата КАК Дата,
Реализация.Контрагент КАК КонтрагентСсылка,
Контрагенты.Наименование КАК КонтрагентНаименование // Поле из присоединенной таблицы
ИЗ
Документ.РеализацияТоваров КАК Реализация
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
ПО Реализация.Контрагент = Контрагенты.Ссылка // Условие соединенияВ этом примере:
Реализация — левая таблица.
Контрагенты — правая таблица.
ПО Реализация.Контрагент = Контрагенты.Ссылка — условие, по которому связываются записи.
Вывод:
Правильное использование соединений позволяет получать комплексные данные из разных источников, что является основой для построения большинства отчетов и аналитических выборок.