1С Передать в запрос массив

Автор: | 22.11.2022

1С Как передать в несколько значений в один параметр в запросе с помощью массива

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

Передаем в запрос массив

И так возьмем для наглядности обычный запрос с тремя параметрами, дата начала, дата окончания и сотрудник.

1С несколько значений одного параметра

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

| ГрафикиСотрудников.Сотрудник.Ссылка В (&Сотрудник)

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

МассивСтр.Добавить("Иванов И.И.");

Для примера я добавляю в массив ссылку на сотрудника и просто укажу его.

МассивСтр = Новый Массив;
МассивСтр.Добавить("Иванов И.И.");
МассивСтр.Добавить(Справочники.Сотрудники.НайтиПоНаименованию("Петров П.П."));
Запрос.УстановитьПараметр("Сотрудник", МассивСтр);

Весь код будет выглядеть следующим образом.

Как передать массив в запрос

Запускаем отладку и смотрим что у нас находиться в передаваемом массиве. Для этого кликаем ПКМ мыши передаваемом в параметре названии массива и выбираем пункт «Вычислить выражение».

1С как передать несколько значений с помощью одного параметра

В открывшемся окне выделяем массив и нажимаем «Показать значения в отдельном окне».

Как передать в запрос массив

И видим значения массива, в данном случае в запросе обработается только значение переданное в качестве ссылки.

как передать с помощью параметра массив

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *