В режиме «Конфигуратор». Запрос для набора данных. Левое соединение двух таблиц. Условие отбора записей
В режиме «Конфигуратор» Добавим новый объект конфигурации Отчет. Назовем его РейтингУслуг и запустим конструктор схемы компоновки данных. Добавим новый Набор данных – запрос и вызовем конструктор запроса.
Запрос для набора данных Левое соединение двух таблиц В качестве источника данных для запроса выберем объектную (ссылочную) таблицу Номенклатура и виртуальную таблицу регистра накопления Продажи. Обороты. Чтобы исключить неоднозначность имен в запросе, переименуем таблицу Номенклатура в спрНоменклатура. Для этого выделим ее в списке Таблицы, вызовем ее контекстное меню и выберем пункт Переименовать таблицу (рис. 13. 19).
Рис. 13. 19. Переименование таблицы в запросе
В список полей перенесем поля СпрНоменклатура. Ссылка и Прода- жиОбороты. ВыручкаОборот из этих таблиц (рис. 13. 20).
Перейдем на закладку Связи. Рис. 13. 20. Выбранные поля Так как в запросе теперь участвуют несколько таблиц, требуется определить связь между ними. По умолчанию платформой уже будет создана связь по полю Номен- клатура. То есть значение измерения Номенклатура регистра Продажи должно быть равно ссылке на элемент справочника Номенклатура. Но нам нужно снять флажок Все у таблицы ПродажиОбороты и уста- новить его у таблицы спрНоменклатура. Тем самым мы задаем тип связи как Левое соединение, то есть в результат запроса будут включены все записи справочника Номен- клатура и те записи регистра Продажи, которые удовлетворяют условию связи по полю Номенклатура. Таким образом, в результате запроса будут присутствовать все услуги, и для некоторых из них будут указаны обороты выручки. Для тех услуг, которые не производились в выбранном периоде, не будет указано ничего.
Описанную связь двух таблиц схематично можно представить следующим примером (рис. 13. 21). Рис. 13. 21. Связь записей таблиц в запросе В результате описанных выше действий закладка Связи будет иметь следующий вид (рис. 13. 22).
Условие отбора записей Перейдем на закладку Условия и установим отбор, чтобы группы справочника Номенклатура не попадали в отчет. Для этого раскроем таблицу спрНоменклатура, перетащим мышью поле ЭтоГруппа в список условий, установим флажок Произвольное и напишем в поле Условие следующий текст (листинг 13. 5). листинг 13. 5. Условие запроса спрНоменклатура. ЭтоГруппа = ЛОЖЬ Тем самым мы указали, что из базы данных нужно выбрать только те записи справочника Номенклатура, которые не являются группами. Работу этого условия можно проиллюстрировать на следующем примере. Слева – исходная таблица справочника Номенкла- тура, а справа – записи, которые будут выбраны из этой таблицы (рис. 13. 23). Рис. 13. 23. Отбор записей номенклатуры в запросе Вторым условием должно быть то, что выбранный элемент является услугой. Это Простое условие. Чтобы его создать, перетащим мышью поле ВидНоменклатуры в список условий. Платформа автоматически сформирует условие, согласно которому вид номенклатуры должен быть равен значению параметра ВидНо- менклатуры. В дальнейшем перед выполнением запроса мы передадим в параметр ВидНоменклатуры значение перечисления – Услуга. Работу этого условия тоже можно проиллюстрировать на примере. Слева – записи справочника Номенклатура, выбранные согласно первому условию. Справа – только те записи, которые являются услугами (рис. 13. 24).
Рис. 13. 24. Отбор записей номенклатуры в запросе
В результате закладка Условия примет вид (рис. 13. 25).
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|