Таблицу значений в запрос

Часто в при реализации тех или иных алгоритмов нам приходится сталкиваться с тем, что нам в запрос необходимо передать таблицу значений. Опытный программист с этим справится без проблем, а вот ‘Джуниор 1с’ с этим с первого раза иногда справится не может. Итак, сделаем заметку о том, как быстро и правильно можно передать таблицу значений в запрос.

Для начала, перед тем как переходить к практической части, стоит усвоить для себя несколько важных нюансов:

  • Если мы передаем в запрос таблицу значений, которую мы лично создаем через конструктор, то необходимо описать типы её колонок! В противном случае мы получим ошибку выполнения запроса ‘Тип не может быть выбран в запросе’! Но к примеру если мы ранее получили это таблицу из другого запроса, то по умолчанию у колонок задан уже тип и описывать ничего не нужно!
  • Нельзя в запросе из переданной в неё таблицы значений сразу сделать выборку данных или какие-либо соединения с ней. В этом случае мы получим ошибку: ‘Содержимое объекта данных может быть выбрано только во временную таблицу’. Следовательно, нужно сделать так, как нам советует программа: с начала выбираем данные во временную таблицу, а уже затем делаем с ней что хотим!

Теперь практика! Давайте создадим таблицу значений, укажем типы колонок и затем передадим её в запрос в качестве самого обычного параметра (1-ый способ):

Как видим ничего сложного нет! Для удобства описания таких источников данных в конструкторе запроса предусмотрен специальный помощник ввода данных:

Конструктор таблиц в запросе.
Конструктор таблиц в запросе.

Поскольку таблица значений, которая идет в запрос, всегда ‘конвертируется’ во временную таблицу, то мы можем использовать ‘МенеджерВременныхТаблиц(2-ой способ):

Вот такими не хитрыми способами можно передавать таблицу значений в запрос! Так же таблицу значений можно передавать в запрос системы компоновки данных – в этой статье можете ознакомиться с этим механизмом!

4+

Оставить комментарий

Ваш адрес email не будет опубликован.