6.2. Условия и подзапросы

Содержание

Слайд 2

Условия.
Условные операторы.
Оператор ГДЕ.
Оператор ВЫБОР.
Параметры виртуальных таблиц.
Подзапросы.
Использование подзапроса в ИЗ.
Использование подзапроса в

Условия. Условные операторы. Оператор ГДЕ. Оператор ВЫБОР. Параметры виртуальных таблиц. Подзапросы. Использование
условии.
Итог.
Домашнее задание.

План занятия

Слайд 3

Условия

Условия

Слайд 4

Условия

Условия в запросе применяются в четырех местах:
Наиболее часто - после конструкции ГДЕ

Условия Условия в запросе применяются в четырех местах: Наиболее часто - после
в теле запроса;
В конструкции ВЫБОР КОГДА;
В параметрах виртуальных таблиц свойство Условие;
После слова ИМЕЮЩИЕ для условия над рассчитанными итогами агрегатных функций.

Слайд 5

Условные операторы

Условные операторы

Слайд 6

Условные операторы

В условиях применяются операторы:
Операторы сравнения:
>, <, =, <>, >=, <=;
В ()

Условные операторы В условиях применяются операторы: Операторы сравнения: >, , >=, В
- в массиве, параметре, вложенном запросе. Указываются в скобках после оператора В;
В ИЕРАРХИИ () - в группе справочника, плана видов характеристик. Указываются в скобках;
Подобно <шаблон> - сравнение строкового значения с шаблоном;
ССЫЛКА <ТИП> - проверка значения ссылочного типа;

Слайд 7

Условные операторы

Оператор отрицания НЕ ставится перед выражением через пробел;
Логические операторы И, ИЛИ;
Это

Условные операторы Оператор отрицания НЕ ставится перед выражением через пробел; Логические операторы
не окончательный перечень. Указаны основные операторы.

Слайд 8

Оператор ГДЕ

Оператор ГДЕ

Слайд 9

Оператор ГДЕ

Конструкция ГДЕ:
Ограничивает выборку ;
Условие накладывается на поля выборки;
В запросе выполняется условие

Оператор ГДЕ Конструкция ГДЕ: Ограничивает выборку ; Условие накладывается на поля выборки;
после выборки данных для виртуальных таблиц. Из обычных условие применяется сразу.
сначала отработает срез на дату, потом выполнится условие -

Слайд 10

Оператор ГДЕ

В конструкторе запросов определяется на вкладке “Условие”. Определяется двумя вариантами:
При установленном

Оператор ГДЕ В конструкторе запросов определяется на вкладке “Условие”. Определяется двумя вариантами:
значении реквизита “Произвольное” пишется текстом;
В обычном варианте - выбор поля, оператора сравнения и значения;

Слайд 11

Оператор ВЫБОР

Оператор ВЫБОР

Слайд 12

Оператор ВЫБОР

На примере выводится тип контрагента в зависимости от значения перечисления ЮридическоеФизическоеЛицо:

Оператор ВЫБОР На примере выводится тип контрагента в зависимости от значения перечисления ЮридическоеФизическоеЛицо:

Слайд 13

Оператор ВЫБОР

Оператор ВЫБОР:
Используется для преобразования значения поля по условию;
Может находиться в

Оператор ВЫБОР Оператор ВЫБОР: Используется для преобразования значения поля по условию; Может
полях выборки, полях условий ГДЕ, группировок, итогов;
В конструкторе запросов определяется в зависимости от места использования (после ГДЕ - на вкладке Условия и т.д.);
Является универсальным оператором для сложных условий в запросе;
Ограничивает выборку только после оператора ГДЕ;
Допускает несколько подчиненных условий;

Слайд 14

Оператор ВЫБОР

Конструкция оператора ВЫБОР:
ВЫБОР
КОГДА <ПроверяемоеВыражение> Тогда <ВыражениеЗамены_1>
ИНАЧЕ <ВыражениеЗамены_1>
КОНЕЦ

Оператор ВЫБОР Конструкция оператора ВЫБОР: ВЫБОР КОГДА Тогда ИНАЧЕ КОНЕЦ

Слайд 15

Параметры виртуальных таблиц

Параметры виртуальных таблиц

Слайд 16

Параметры виртуальных таблиц

Оперирование идет с полями таблиц (ресурсами, измерениями, реквизитами);
Обращение к полям

Параметры виртуальных таблиц Оперирование идет с полями таблиц (ресурсами, измерениями, реквизитами); Обращение
идет без точки;
Параметризация виртуальной таблицы ускоряет выборку. Заметно при больших объемах данных.

Слайд 17

Параметры виртуальных таблиц

При наложении условия на ресурсы, например, при получении среза, в

Параметры виртуальных таблиц При наложении условия на ресурсы, например, при получении среза,
отличие от оператора ГДЕ в первую очередь выполняется условие, а во вторую - срез;

Слайд 18

Параметры виртуальных таблиц

В конструкторе запросов на вкладке Таблицы и поля нажатием на

Параметры виртуальных таблиц В конструкторе запросов на вкладке Таблицы и поля нажатием
кнопку “Параметры виртуальной таблицы” для установки параметров. Для обычных таблиц эта кнопка не доступна;

Слайд 19

Параметры виртуальных таблиц

В конструкторе запроса набор свойств отличается в зависимости от типа

Параметры виртуальных таблиц В конструкторе запроса набор свойств отличается в зависимости от
виртуальной таблицы. Основные и неизменные для всех - это:
Установка параметра для периода;
Определение условий;

Слайд 20

Параметры виртуальных таблиц

Параметры для периода задаются вручную;
Условия формируются специальным конструктором , в

Параметры виртуальных таблиц Параметры для периода задаются вручную; Условия формируются специальным конструктором
котором - в левом верхнем окне перечислены поля, в правом - функции языка запросов, в нижнем - произвольное выражение. Перетаскиванием полей, функций и ручным редактированием произвольного выражения формируем условие.

Слайд 21

Параметры виртуальных таблиц

Параметры задаются в источнике в круглых скобках;
На примере получаем выборку

Параметры виртуальных таблиц Параметры задаются в источнике в круглых скобках; На примере
последних цен на дату, указанную в параметре &ДатаНач и для номенклатуры, указанной в параметре &Номенклатура;

Слайд 22

Подзапросы

Подзапросы

Слайд 23

Подзапросы

Подзапрос - запрос, вызываемый внешним запросом:
Синтаксически заключается в круглые скобки;
Обязательно ему присваивается

Подзапросы Подзапрос - запрос, вызываемый внешним запросом: Синтаксически заключается в круглые скобки;
псевдоним;
Видит только себя, не видит внешний запрос (например, нельзя установить во вложенном запросе условие по значению поля внешнего запроса);

Слайд 24

Подзапросы

Подзапрос может использоваться для получения отборов, группировок и агрегатных функций:
В конструкции ИЗ;
В

Подзапросы Подзапрос может использоваться для получения отборов, группировок и агрегатных функций: В
соединениях;
В условиях запроса со сравнением В() или В ИЕРАРХИИ ();
Возможность использования подзапроса в соединениях более подробно разберем на следующих занятиях.

Слайд 25

Использование подзапроса в ИЗ

Использование подзапроса в ИЗ

Слайд 26

Использование подзапроса в ИЗ

Подзапрос является источником для внешнего запроса в случае использования

Использование подзапроса в ИЗ Подзапрос является источником для внешнего запроса в случае
после оператора ИЗ;
На примере простое использование подзапроса получения контрагентов у которых не пустой ИНН;

Слайд 27

Использование подзапроса в ИЗ

Подзапрос в случае использования после оператора ИЗ в конструкторе

Использование подзапроса в ИЗ Подзапрос в случае использования после оператора ИЗ в
запроса определяется на вкладке Таблицы и поля нажатием на кнопку “Создать вложенный запрос”;

Слайд 28

Использование подзапроса в ИЗ

В конструкторе запросов открывается новое окно конструктора для построения

Использование подзапроса в ИЗ В конструкторе запросов открывается новое окно конструктора для
подзапроса;
Работа с конструктором создания подзапроса ничем не отличается от построения внешнего запроса;
После создания подзапроса в основном конструкторе создается подзапрос;

Слайд 29

Использование подзапроса в условии

Использование подзапроса в условии

Слайд 30

Использование подзапроса в условии

Подзапрос можно использовать в условиях;
Основное применение - используется в

Использование подзапроса в условии Подзапрос можно использовать в условиях; Основное применение -
операторах В(), В ИЕРАРХИИ();
В конструкторе запроса определяется в местах, где формируются условия.
В качестве условия вхождения он должен иметь столько полей, сколько значений проверяется, иначе появится ошибка. На примере будет выдана ошибка из-за того что в ВЫБРАТЬ используется 2 поля

Слайд 31

Использование подзапроса в условии

В примере используем подзапрос в отборе для временной таблицы

Использование подзапроса в условии В примере используем подзапрос в отборе для временной таблицы при получении цен;
при получении цен;

Слайд 32

Итог

Мы узнали:
Что такое условия в запросе, где они применяются, какие операторы используют,

Итог Мы узнали: Что такое условия в запросе, где они применяются, какие
как формируются в конструкторе запросов.
Что такое подзапросы и как использовать.
Мы научились:
Создавать условия, подзапросы в конструкторе запросов.
Изменять и анализировать измененный текст запроса.

Слайд 33

Домашнее задание

Задача № 1 "Отбор номенклатуры при обновлении цен в документе Реализация":
Описание

Домашнее задание Задача № 1 "Отбор номенклатуры при обновлении цен в документе
задачи
Изменить процедуру для команды "Обновить цены" документа Реализация. Перечень номенклатуры получать не передачей элементов массива, а используя вложенный запрос к табличной части текущего документа.
Требования к результату
Выгрузка информационной базы (.dt) с конфигурацией из прошлого задания в котором внести изменения для получения перечня элементов номенклатуры вложенным запросом к табличной части документа Реализация.

Слайд 34

Домашнее задание

Задача № 2 "Заполнение строк табличной части по отбору в документе

Домашнее задание Задача № 2 "Заполнение строк табличной части по отбору в
Реализация":
Описание задачи
Добавить команду "Заполнить строки" в табличной части документа Реализация. При заполнении добавить возможность отбора по номенклатурной группе и диапазону цен. Заполнять номенклатуру и цены из регистра Цены номенклатуры.
Требования к результату
Прикрепить .dt файл с внесенными изменениями по реализации заполнения табличной части документа Реализация из регистра сведений Цены номенклатура по отбору.