Запрос: передать параметр в виде массива
☑
0
dft2014
17.01.19
✎
18:58
Добрый день!
Собрала нужные Ведомости в Массив. Теперь пытаюсь подсунуть этот Массив в параметре запроса, но выдает ошибку:
Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить();
по причине:
{(11, 51)}: Неверные параметры
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка В(<<?>>&Массив)
Ниже код, помогите пож-та:
&НаСервере
Процедура СформироватьНаСервере()
Массив = Новый Массив;
Для Каждого СписокД Из Объект.СписокДокументов Цикл
СтруктураВМассив = Новый Структура;
СтруктураВМассив.Вставить("Ведомость" , СписокД.Ссылка);
Массив.Добавить(СтруктураВМассив);
КонецЦикла;
ВыборкаВедомостиВБанк = ЗапросВедомостиБанк(Массив);
КонецПроцедуры
Функция ЗапросВедомостиБанк(Ведомости)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Массив", Ведомости);
Запрос.Текст =
"ВЫБРАТЬ
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка КАК Ссылка,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Сотрудник КАК Сотрудник,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Подразделение КАК Подразделение,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.КВыплате КАК КВыплате,
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.НомерЛицевогоСчета КАК НомерЛицевогоСчета
|ПОМЕСТИТЬ ВТ_ТЧЗарплата
|ИЗ
| Документ.ВедомостьНаВыплатуЗарплатыВБанк.Зарплата КАК ВедомостьНаВыплатуЗарплатыВБанкЗарплата
|ГДЕ
| ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка В(&Массив)
|";
Результат = Запрос.Выполнить(); //вот здесь ругается
Выборка = Результат.Выбрать();
Возврат Выборка;
КонецФункции
&НаКлиенте
Процедура Сформировать(Команда)
СформироватьНаСервере();
КонецПроцедуры
1
Aleksandr N
17.01.19
✎
19:07
(0) Дык нужен массив ссылок, а у вас массив структур.
2
dft2014
17.01.19
✎
19:07
В отладчике передается массив:
3
dft2014
17.01.19
✎
19:07
(1) Видимо вы правы! И как это побороть?
4
Alexandr_U1982
17.01.19
✎
19:09
&НаСервере
Процедура СформироватьНаСервере()
Массив = Новый Массив;
Для Каждого СписокД Из Объект.СписокДокументов Цикл
Массив.Добавить(СписокД.Ссылка);
КонецЦикла;
ВыборкаВедомостиВБанк = ЗапросВедомостиБанк(Массив);
КонецПроцедуры
5
Aleksandr N
17.01.19
✎
19:09
(3) Массив.Добавить(СписокД.Ссылка);
Структура там не в кассу.
6
dft2014
17.01.19
✎
19:20
Исправила, спасибо!
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн