Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

как передать перечисления в параметр запроса в среде com 1c 8

как передать перечисления в параметр запроса в среде com 1c 8
Я
   iva77ru
 
14.02.18 - 16:32
1С:Предприятие 8.3 (8.3.10.2667)
Зарплата и управление персоналом, редакция 3.1 (3.1.4.171)
Доброго дня!
Нужна помощь. Не могу передать значение перечисление в запрос в базе, подключенной по COM

    Запрос = COMОбъект.NewObject("Запрос");
    Запрос.Текст = "
    |ВЫБРАТЬ
    |    ЗарплатаКВыплатеОрганизацийЗарплата.Физлицо.Код как КодФизЛица,
    |    ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Банк.ИНН как ИНН
    |ИЗ
    |    Документ.ЗарплатаКВыплатеОрганизаций.Зарплата КАК ЗарплатаКВыплатеОрганизацийЗарплата
    |ГДЕ
    |    ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Организация = &Организация
    |    И ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.ПериодРегистрации = &ПериодРегистрации
    |    И ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.СпособВыплаты.Ссылка = &СпособВыплаты
    |
    |СГРУППИРОВАТЬ ПО
    |    ЗарплатаКВыплатеОрганизацийЗарплата.Физлицо,
    |    ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.Банк";
    
    Запрос.УстановитьПараметр("Организация",    ОргКом);    //Организации

    Запрос.УстановитьПараметр("ПериодРегистрации",    ДтРегВыплат);    //Дата


    КоличествоЗначенийПеречисления=COMОбъект.Метаданные.Перечисления["СпособыВыплатыЗарплаты"].ЗначенияПеречисления.Количество();
    КолекцияЗначенийПеречисления = COMОбъект.Метаданные.Перечисления["СпособыВыплатыЗарплаты"].ЗначенияПеречисления;
    СсылкаНаПеречислениеCOM = "";
    //Перебор коллекции значений перечисления

    Для каждого Эл из КолекцияЗначенийПеречисления Цикл
        Если Эл.Name = "ЧерезБанк" Тогда
        
            СсылкаНаПеречислениеCOM = Эл;     
        
        КонецЕсли; 
        //Сообщить(знач.Имя);

    КонецЦикла;
    Запрос.УстановитьПараметр("СпособВыплаты",    СсылкаНаПеречислениеCOM);    //Способы выплаты зарплаты

    
    РезультатЗапроса = Запрос.Выполнить();

Вылетает ошибка: 
{ВнешнийОтчет.ВнешнийОтчет1.Форма.ФормаОтчета.Форма(383)}: Ошибка при вызове метода контекста (Выполнить)
    РезультатЗапроса = Запрос.Выполнить();
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.10.2667): {(10, 68)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
 неограниченной длины и поля несовместимых типов.
И ЗарплатаКВыплатеОрганизацийЗарплата.Ссылка.СпособВыплаты.Ссылка <<?>>= &СпособВыплаты
 
 
   Alex87r
 
1 - 14.02.18 - 16:38
СпособВыплаты = COMОбъект.Перечисления.СпособыВыплатыЗарплаты.ЧерезБанк


А так нельзя?
   Tateossian
 
2 - 14.02.18 - 16:43
(1) Можно.
   iva77ru
 
3 - 14.02.18 - 16:51
Спасибо, я все усложнил...

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует