Связи источников запроса
страницаСвязи источников запроса
Теперь создайте с помощью конструктора запрос, выводящий перечень номенклатуры и показывающий актуальную цену для каждого элемента (листинг 11.41).
Листинг 11.41. Левое внешнее соединение справочника «Номенклатура» и среза последних записей регистра сведений «Цены»
ВЫБРАТЬ
спрНоменклатура.Код,
спрНоменклатура.Наименование,
ЦеныСрезПоследних.Цена
ИЗ
Справочник.Номенклатура КАК спрНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних КАК ЦеныСрезПоследних
ПО ЦеныСрезПоследних.Номенклатура = спрНоменклатура.Ссылка
ГДЕ
спрНоменклатура.ЭтоГруппа = ЛОЖЬ
УПОРЯДОЧИТЬ ПО
спрНоменклатура.Ссылка ИЕРАРХИЯ
АВТОУПОРЯДОЧИВАНИЕ
Если у вас остался запрос от предыдущего примера – удалите его текст из модуля и откройте конструктор, чтобы создать новый запрос.
Из текста запроса вы видите, что в качестве источников запроса здесь выступают две таблицы: Справочник.Номенклатура и РегистрСведений.Цены.СрезПоследних, которые связаны между собой левым внешним соединением.
Для того чтобы получить такой запрос с помощью конструктора запроса, нужно на закладке Таблицы и поля перенести обе эти таблицы в список источников запроса.
Чтобы исключить неоднозначность полей в запросе, таблицу справочника Номенклатура нужно переименовать – например, в спрНоменклатура. Для этого нажмите Переименовать таблицу в ее контекстном меню (рис. 11.49).

Рис. 11.49. Окно конструктора запроса
После этого выберите из таблицы спрНоменклатура поля Код и Наименование, а из таблицы Цены.СрезПоследних – поле Цена(рис. 11.50).

Рис. 11.50. Окно конструктора запроса
В случае если в запросе участвуют несколько таблиц, в конструкторе запроса становится доступной закладка Связи, на которой задаются тип связи и условие связи между таблицами. В тех случаях, когда это возможно, платформа сама устанавливает связь между источниками запроса по ссылочным полям (рис. 11.51).

Рис. 11.51. Окно конструктора запроса
В этом условии вас все устраивает, кроме того, что таблица регистра – слева, а таблица справочника – справа. Чтобы поменять таблицы местами, выделите таблицу регистра и нажмите Переместить в контекстном меню (рис. 11.52).

Рис. 11.52. Окно конструктора запроса
После этого выберите таблицу спрНоменклатура. Таблицы поменяются местами.
После этого вам останется только задать условие отбора (рис. 11.46) и сортировку результата запроса (рис. 11.42).
В результате в модуле формы вы получите следующий текст (рис. 11.53).

Рис. 11.53. Текст запроса, созданный конструктором