1с параметр запроса массив

Запросы в какой то степени абстрагированы от основного кода 1С, для того чтобы придать им гибкость существуют параметры. Параметр в запросе объявляется через аперсанд &, следующая за ним последовательность символов до пробела считается именем параметра. Передача параметра в запрос происходит путем конструкции
УстановитьПараметр(» «, ):

Раздувать эту тему я не вижу смысла, надеюсь с передачей примитивных типов в запрос у вас проблем не возникнет. Лучше рассмотрим более интересные ситуации.

Операторы В/В ИЕРАРХИИ и параметры

На самом деле в запрос можно передать и списочные параметры, как массив, так и список значений подходят для этих целей идеально:

Чем отличается оператор В от В ИЕРАРХИИ рассматривалось в разделе Функции языка запросов 1С 8.

Передача таблицы в запрос

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

  • использование ее в качестве операнда сравнения;
  • использования в качестве источника данных;

В первом случае все просто мы также можем использовать таблицу в связке с операторами В/В ИЕРАРХИИ по такому шаблону: (ПолеЗапроса1, ПолеЗапроса2, . ,ПолеЗапросаN) В/В ИЕРАРХИИ (&ТЗ). Но передаваемая таблица должна иметь N и больше полей, а также имена колонок таблицы должны совпадать с именами полей запроса, остальные колонки таблицы игнорируются. Пример:

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

Важно! Если Вы передаете в запрос таблицу значений сформированную программно, как в примере, то обязательно указывайте типы колонок, иначе запрос вылетит с ошибкой.

← Объединение запросов | Работа с запросами 1С 8 из встроенного языка →

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

Параметры в запросах в языке 1С 8.3, 8.2 (в примерах)

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

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

Параметры выделяются в тексте запроса символом &.

В качестве параметра можно передавать любой фрагмент текста запроса. Обычно в качестве параметров передаются значения для сравнений, операторы сравнений и источники запросов.

Использование в качестве источника передаваемой в запрос таблицы значений мы рассмотрим в отдельной статье. В остальных случаях синтаксис использования параметров в запросе 1С выглядит так:

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

Задавая условия в запросах 1С, мы сравниваем одно значение с другим(и). В платформе 1С:Предприятие предусмотрены следующие виды сравнений:

  • Равно — обозначается знаком = ;
  • Не равно — обозначается знаком <> ;
  • Больше — обозначается знаком > ;
  • Больше или равно — обозначается знаком >= ;
  • Меньше — обозначается знаком . Текст = «ВЫБРАТЬ
    | КурсыВалютСрезПервых.Период,
    | КурсыВалютСрезПервых.Валюта,
    | КурсыВалютСрезПервых.Курс,
    |ИЗ
    | РегистрСведений.КурсыВалют.СрезПервых (, Курс МЕЖДУ 30 И 40) КАК КурсыВалютСрезПервых»

Если в шаблон необходимо включить один из символов, перечисленных выше, то перед ним должен идти спецсимвол. Этим спецсимволом может быть любой символ, главное чтобы он не применяется в шаблоне по прямому назначению и не был одним из символов, перечисленных выше. При этом после условия пишется слово СПЕЦСИМВОЛ и в кавычках приводится сам спецсимвол.

Такой запрос показал бы курсы валют, названия которых заканчивается на знак подчеркивания.

В и В ИЕРАРХИИ — проверяет наличие элемента в некотором списке. Если используется оператор В, то проверяется только сам список, а если В ИЕРАРХИИ, то еще и элементы, подчиненные элементам списка.
В качестве списка может использоваться массив, список значений, таблица значений. Оператор В дополнительно может работать с результатом вложенного запроса при условии, что в нем выбирается только одно поле.
Синтаксис для сравнения с массивом, списком значений или таблицей значений, которые передаются в запрос в виде параметра:

Синтаксис для сравнения с результатом вложенного запроса:

Оцените статью
Добавить комментарий