Слайд 2Условия.
Условные операторы.
Оператор ГДЕ.
Оператор ВЫБОР.
Параметры виртуальных таблиц.
Подзапросы.
Использование подзапроса в ИЗ.
Использование подзапроса в
условии.
Итог.
Домашнее задание.
План занятия
Слайд 4Условия
Условия в запросе применяются в четырех местах:
Наиболее часто - после конструкции ГДЕ
в теле запроса;
В конструкции ВЫБОР КОГДА;
В параметрах виртуальных таблиц свойство Условие;
После слова ИМЕЮЩИЕ для условия над рассчитанными итогами агрегатных функций.
Слайд 6Условные операторы
В условиях применяются операторы:
Операторы сравнения:
>, <, =, <>, >=, <=;
В ()
- в массиве, параметре, вложенном запросе. Указываются в скобках после оператора В;
В ИЕРАРХИИ () - в группе справочника, плана видов характеристик. Указываются в скобках;
Подобно <шаблон> - сравнение строкового значения с шаблоном;
ССЫЛКА <ТИП> - проверка значения ссылочного типа;
Слайд 7Условные операторы
Оператор отрицания НЕ ставится перед выражением через пробел;
Логические операторы И, ИЛИ;
Это
не окончательный перечень. Указаны основные операторы.
Слайд 9Оператор ГДЕ
Конструкция ГДЕ:
Ограничивает выборку ;
Условие накладывается на поля выборки;
В запросе выполняется условие
после выборки данных для виртуальных таблиц. Из обычных условие применяется сразу.
сначала отработает срез на дату, потом выполнится условие -
Слайд 10Оператор ГДЕ
В конструкторе запросов определяется на вкладке “Условие”. Определяется двумя вариантами:
При установленном
значении реквизита “Произвольное” пишется текстом;
В обычном варианте - выбор поля, оператора сравнения и значения;
Слайд 12Оператор ВЫБОР
На примере выводится тип контрагента в зависимости от значения перечисления ЮридическоеФизическоеЛицо:
Слайд 13Оператор ВЫБОР
Оператор ВЫБОР:
Используется для преобразования значения поля по условию;
Может находиться в
полях выборки, полях условий ГДЕ, группировок, итогов;
В конструкторе запросов определяется в зависимости от места использования (после ГДЕ - на вкладке Условия и т.д.);
Является универсальным оператором для сложных условий в запросе;
Ограничивает выборку только после оператора ГДЕ;
Допускает несколько подчиненных условий;
Слайд 14Оператор ВЫБОР
Конструкция оператора ВЫБОР:
ВЫБОР
КОГДА <ПроверяемоеВыражение> Тогда <ВыражениеЗамены_1>
ИНАЧЕ <ВыражениеЗамены_1>
КОНЕЦ
Слайд 16Параметры виртуальных таблиц
Оперирование идет с полями таблиц (ресурсами, измерениями, реквизитами);
Обращение к полям
идет без точки;
Параметризация виртуальной таблицы ускоряет выборку. Заметно при больших объемах данных.
Слайд 17Параметры виртуальных таблиц
При наложении условия на ресурсы, например, при получении среза, в
отличие от оператора ГДЕ в первую очередь выполняется условие, а во вторую - срез;
Слайд 18Параметры виртуальных таблиц
В конструкторе запросов на вкладке Таблицы и поля нажатием на
кнопку “Параметры виртуальной таблицы” для установки параметров. Для обычных таблиц эта кнопка не доступна;
Слайд 19Параметры виртуальных таблиц
В конструкторе запроса набор свойств отличается в зависимости от типа
виртуальной таблицы. Основные и неизменные для всех - это:
Установка параметра для периода;
Определение условий;
Слайд 20Параметры виртуальных таблиц
Параметры для периода задаются вручную;
Условия формируются специальным конструктором , в
котором - в левом верхнем окне перечислены поля, в правом - функции языка запросов, в нижнем - произвольное выражение. Перетаскиванием полей, функций и ручным редактированием произвольного выражения формируем условие.
Слайд 21Параметры виртуальных таблиц
Параметры задаются в источнике в круглых скобках;
На примере получаем выборку
последних цен на дату, указанную в параметре &ДатаНач и для номенклатуры, указанной в параметре &Номенклатура;
Слайд 23Подзапросы
Подзапрос - запрос, вызываемый внешним запросом:
Синтаксически заключается в круглые скобки;
Обязательно ему присваивается
псевдоним;
Видит только себя, не видит внешний запрос (например, нельзя установить во вложенном запросе условие по значению поля внешнего запроса);
Слайд 24Подзапросы
Подзапрос может использоваться для получения отборов, группировок и агрегатных функций:
В конструкции ИЗ;
В
соединениях;
В условиях запроса со сравнением В() или В ИЕРАРХИИ ();
Возможность использования подзапроса в соединениях более подробно разберем на следующих занятиях.
Слайд 26Использование подзапроса в ИЗ
Подзапрос является источником для внешнего запроса в случае использования
после оператора ИЗ;
На примере простое использование подзапроса получения контрагентов у которых не пустой ИНН;
Слайд 27Использование подзапроса в ИЗ
Подзапрос в случае использования после оператора ИЗ в конструкторе
запроса определяется на вкладке Таблицы и поля нажатием на кнопку “Создать вложенный запрос”;
Слайд 28Использование подзапроса в ИЗ
В конструкторе запросов открывается новое окно конструктора для построения
подзапроса;
Работа с конструктором создания подзапроса ничем не отличается от построения внешнего запроса;
После создания подзапроса в основном конструкторе создается подзапрос;
Слайд 29Использование подзапроса в условии
Слайд 30Использование подзапроса в условии
Подзапрос можно использовать в условиях;
Основное применение - используется в
операторах В(), В ИЕРАРХИИ();
В конструкторе запроса определяется в местах, где формируются условия.
В качестве условия вхождения он должен иметь столько полей, сколько значений проверяется, иначе появится ошибка. На примере будет выдана ошибка из-за того что в ВЫБРАТЬ используется 2 поля
Слайд 31Использование подзапроса в условии
В примере используем подзапрос в отборе для временной таблицы
при получении цен;
Слайд 32Итог
Мы узнали:
Что такое условия в запросе, где они применяются, какие операторы используют,
как формируются в конструкторе запросов.
Что такое подзапросы и как использовать.
Мы научились:
Создавать условия, подзапросы в конструкторе запросов.
Изменять и анализировать измененный текст запроса.
Слайд 33Домашнее задание
Задача № 1 "Отбор номенклатуры при обновлении цен в документе Реализация":
Описание
задачи
Изменить процедуру для команды "Обновить цены" документа Реализация. Перечень номенклатуры получать не передачей элементов массива, а используя вложенный запрос к табличной части текущего документа.
Требования к результату
Выгрузка информационной базы (.dt) с конфигурацией из прошлого задания в котором внести изменения для получения перечня элементов номенклатуры вложенным запросом к табличной части документа Реализация.
Слайд 34Домашнее задание
Задача № 2 "Заполнение строк табличной части по отбору в документе
Реализация":
Описание задачи
Добавить команду "Заполнить строки" в табличной части документа Реализация. При заполнении добавить возможность отбора по номенклатурной группе и диапазону цен. Заполнять номенклатуру и цены из регистра Цены номенклатуры.
Требования к результату
Прикрепить .dt файл с внесенными изменениями по реализации заполнения табличной части документа Реализация из регистра сведений Цены номенклатура по отбору.