Вложенные запросы в 1С 8.3. Оператор В

Курс

Вложенные запросы

Язык запросов 1С поддерживает вложенные запросы. Вложенный запрос — это когда выборка выполняется не из таблицы, а из результата другого запроса, например:

Сначала во вложенном запросе свернули таблицу по цвету, а потом из результата выбрали все поля.

Во вложенном запросе нельзя использовать итоги, потому что итоги рассчитываются сервером 1С, а не СУБД. Также во вложенном запросе нельзя использовать предложение УПОРЯДОЧИТЬ ПО, кроме случаев когда используется ключевое слово ПЕРВЫЕ:

Количество вложенности запросов не ограничено.

Оператор В

Допустим, нам нужно выбрать все камеры хранения, где площадь равна 100 или 200. Для этого можно использовать следующий запрос:

Оператор В позволяет сократить текст запроса и сделать его более понятным для чтения:

После оператора В в скобках перечисляются все возможные значения. Это может быть одно значение, десять или любое другое количество.

Также параметром можно передать массив или список значений:

Можно указать вложенный запрос:

Данный запрос выберет те камеры хранения, где площадь равна максимальной среди всех камер.

Можно использовать несколько полей:

Количество полей слева от оператора В и в результате вложенного запроса должно совпадать, иначе будет ошибка «В запросах операции «В» должно выбираться столько полей, сколько операндов имеет левая часть операции.».

Также важна последовательность. В запросе выше поле Спр.Площадь сравнивается с первым полем вложенного запроса, а Спр.Цвет со вторым.

Из вложенного запроса можно обращаться к полям внешнего запроса:

В ИЕРАРХИИ

Если нужно выбрать все элементы справочника с отбором по родителю, то если выполнить следующий запрос:

То на первый взгляд может показаться, что все сделали правильно. Однако, если добавить в группу «Белые» еще одну группу «Белые, импортные», а в этой группе создать новые элементы, то они не попадут в результат запроса.

Для выборки с учетом вложенности групп предназначен оператор В ИЕРАРХИИ:

Данный запрос выберет все элементы, которые находятся в группе «Белые» с учетом всех уровней вложенности. Сама группа, которая передавалась параметром тоже попадет в результат запроса.


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok