Имя: Пароль:
1C
 
Почему выходит ошибка в параметре запроса?
0 program345
 
29.03.15
09:39
доброго дня!

есть код док реализация тиу:
//
Процедура ОбработкаПроведения(Отказ, Режим)
    
    // регистр ТоварыНаСкладах Расход
    Движения.ТоварыНаСкладах.Записывать = Истина;
    МассивТоваров = Новый Массив;
    Для Каждого ТекСтрокаТовары Из Товары Цикл
        Движение = Движения.ТоварыНаСкладах.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
        Движение.Период = Дата;
        Движение.Номенклатура = ТекСтрокаТовары.Номенклатура;
        Движение.Цена = ТекСтрокаТовары.Цена;
        Движение.Количество = ТекСтрокаТовары.Количество;
        Движение.Контрагент = Контрагент;
        МассивТоваров.Добавить(ТекСтрокаТовары.Номенклатура);
    КонецЦикла;
    Движения.Записать();
    
            
    Запрос = Новый Запрос("ВЫБРАТЬ
                          |    ТоварыНаСкладахОстатки.Номенклатура,
                          |    ТоварыНаСкладахОстатки.Цена,
                          |    ТоварыНаСкладахОстатки.КоличествоОстаток
                          |ИЗ
                          |    РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура = &Товары) КАК ТоварыНаСкладахОстатки
                          |ГДЕ
                          |    ТоварыНаСкладахОстатки.КоличествоОстаток < 0");
                          
    Запрос.УстановитьПараметр("Товары", МассивТоваров);
    Результат = Запрос.Выполнить();
    Если Не Результат.Пустой() Тогда
        Выгрузка = Результат.Выгрузить();
        Отказ = Истина;
        Сообщить("Не хватает " + (Выгрузка.Количество*(-1)) + " единиц товара "+ ТекСтрокаТовары.Номенклатура);
        //Форма = ПолучитьФорму()
        //Сообщение = Новый СообщениеПользователю;
        //Сообщение.Текст = "Не хватает " + (Выгрузка.Количество*(-1)) + " единиц товара "+ ТекСтрокаТовары.Номенклатура;
                
    КонецЕсли;
        
                
    


    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
//


Документ.РеализацияТоваровИУслуг.МодульОбъекта(48)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить();
по причине:
{(6, 59)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура <<?>>= &Товары) КАК ТоварыНаСкладахОстатки

Хочу передать Номенклатуру табл части в запрос, чтобы просмотреть нет ли отрицат остатков...
1 ДенисЧ
 
29.03.15
09:40
Потому что нельзя сравнивать конкретный элмент справочника с массивом
2 balak05
 
29.03.15
09:42
(0) Номенклатура В (&Товары)
3 program345
 
29.03.15
09:49
(2) спасибо!
4 balak05
 
29.03.15
09:50
(3) не за что