1С:Предприятие 8.3 (8.3.10.2667)
Зарплата и управление персоналом, редакция 3.1 (3.1.4.171)
Доброго дня!
Нужна помощь. Не могу передать значение перечисление в запрос в базе, подключенной по COM
Запрос = COMОбъект.NewObject("Запрос");
Запрос.Текст = "
|ВЫБРАТЬ
| ЗарплатаКВыплатеОрганизацийЗарплата.Физлицо.Код как КодФизЛица,
| ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Банк.ИНН как ИНН
|ИЗ
| Документ.ЗарплатаКВыплатеОрганизаций.Зарплата КАК ЗарплатаКВыплатеОрганизацийЗарплата
|ГДЕ
| ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Организация = &Организация
| И ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.ПериодРегистрации = &ПериодРегистрации
| И ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.СпособВыплаты.Ссылка = &СпособВыплаты
|
|СГРУППИРОВАТЬ ПО
| ЗарплатаКВыплатеОрганизацийЗарплата.Физлицо,
| ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Банк";
КоличествоЗначенийПеречисления=COMОбъект.Метаданные.Перечисления["СпособыВыплатыЗарплаты"].ЗначенияПеречисления.Количество();
КолекцияЗначенийПеречисления = COMОбъект.Метаданные.Перечисления["СпособыВыплатыЗарплаты"].ЗначенияПеречисления;
СсылкаНаПеречислениеCOM = "";
//Перебор коллекции значений перечисления
Для каждого Эл из КолекцияЗначенийПеречисления Цикл
Если Эл.Name = "ЧерезБанк" Тогда
Вылетает ошибка:
{ВнешнийОтчет.ВнешнийОтчет1.Форма.ФормаОтчета.Форма(383)}: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос.Выполнить();
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.10.2667): {(10, 68)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.СпособВыплаты.Ссылка <<?>>= &СпособВыплаты