Имя: Пароль:
1C
1С v8
Запрос: передать параметр в виде массива
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
В отладчике передается массив: https://a.radikal.ru/a40/1901/b2/80a427382bcd.jpg
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
Исправила, спасибо!