584 документа
← К списку

Связи источников запроса

страница

Связи источников запроса

Теперь создайте с помощью конструктора запрос, выводящий перечень номенклатуры и показывающий актуальную цену для каждого элемента (листинг 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. Текст запроса, созданный конструктором