Имя: Пароль:
1C
 
Ошибка в условие в COM-запроса
0 vfrcbv
 
30.11.15
14:41
Добрый день.
При выполнении следующего простого запроса:

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

вываливается ошибка:

{Форма.Форма.Форма(51)}: Ошибка при вызове метода контекста (Выполнить)
    РезультатЗапроса = Запрос.Выполнить();
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.6.2237): {(15, 37)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И ДоговорыКонтрагентов.ВидДоговора <<?>>= &ВидДоговора

Подскажите, есть ли какой-нибудь способ заставить работать условие?
1 Aleksandr N
 
30.11.15
14:41
Запрос.УстановитьПараметр("ВидДоговора", Соединение.Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком);
Повнимательнее надо быть.
2 VikingKosmo
 
30.11.15
14:42
написать условие в запросе без параметра. Всегда Ваш, К.О.
3 vfrcbv
 
30.11.15
14:45
Спасибо!