Запрос к таблице значений. Неверные параметры в операции сравнения.

1. user1619761 10.02.22 11:39 Сейчас в теме
Доброго времени суток. Делаю запрос к таблице значений, и при попытке выполнить его возникает ошибка "Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.". Подскажите , пожалуйста, что не так делаю?

КвалификаторЧисла = Новый КвалификаторыЧисла(25,8);
	КвалификаторСтроки = Новый КвалификаторыСтроки(0);
	МассивТипов = Новый Массив;
	МассивТипов.Добавить(Тип("Строка"));
	ОписаниеСтроки = Новый ОписаниеТипов(МассивТипов, , КвалификаторСтроки);
	МассивТипов.Очистить();
	МассивТипов.Добавить(Тип("Число"));
	ОписаниеЧисла = Новый ОписаниеТипов(МассивТипов, , ,КвалификаторЧисла);
	
	ТаблицаЗапроса = Новый ТаблицаЗначений;
	
	ТаблицаЗапроса.Колонки.Добавить("Штрихкод", ОписаниеСтроки);
	ТаблицаЗапроса.Колонки.Добавить("Номенклатура", ОписаниеСтроки);
	ТаблицаЗапроса.Колонки.Добавить("КодНоменклатуры", ОписаниеСтроки);
	ТаблицаЗапроса.Колонки.Добавить("ЕдиницаИзмерения", ОписаниеСтроки);
	ТаблицаЗапроса.Колонки.Добавить("Упаковка", ОписаниеСтроки);
	ТаблицаЗапроса.Колонки.Добавить("КодЕдиницИзмерения", ОписаниеСтроки);
	
	Для Каждого Строка Из ТаблицаЭксель Цикл
		
		ЗаполнитьЗначенияСвойств(ТаблицаЗапроса.Добавить(), Строка);
		
	КонецЦикла;
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ВнешняяТЗ", ТаблицаЗапроса);
	Запрос.УстановитьПараметр("МассивКодов", МассивКодов);
	Запрос.Текст = 
	"Выбрать
	|ВнешняяТЗ.Номенклатура Как Номенклатура,
	|ВнешняяТЗ.КодНоменклатуры Как КодНоменклатуры,
	|ВнешняяТЗ.КодЕдиницИзмерения Как КодЕдиниц
	|Поместить ВнешняяТЗ
	|Из &ВнешняяТЗ Как ВнешняяТЗ
	|Где
	|ВнешняяТЗ.КодНоменклатуры В(&МассивКодов)";
	Результат = Запрос.Выполнить();
	
	Если Не Результат.Пустой() Тогда
				
	КонецЕсли;
Показать
По теме из базы знаний
Найденные решения
4. nomad_irk 76 10.02.22 12:06 Сейчас в теме
(1)Неограниченную строку нельзя просто так указывать в отборе. Необходимо использовать либо количество до 1024 символов включительно, либо использовать конструкцию ВЫРАЗИТЬ() для ограничения строки до нужного количества символов.
user1619761; alex_bob; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. nomad_irk 76 10.02.22 12:06 Сейчас в теме
(1)Неограниченную строку нельзя просто так указывать в отборе. Необходимо использовать либо количество до 1024 символов включительно, либо использовать конструкцию ВЫРАЗИТЬ() для ограничения строки до нужного количества символов.
user1619761; alex_bob; +2 Ответить
5. user1619761 10.02.22 12:34 Сейчас в теме
2. N0t_F0und 10 10.02.22 11:43 Сейчас в теме
А где ваш МассивКодов?
3. user1619761 10.02.22 11:45 Сейчас в теме
(2)
ДБФ.Первая();
	Пока Не ДБФ.ВКонце() Цикл
		Если Не ДБФ.ЗаписьУдалена() Тогда
			
			НСтр = ТаблицаДанных.Добавить();
			НСтр.КодНоменклатуры = СокрЛП(СтрЗаменить(ДБФ.NOMCODE,Символы.НПП, ""));
			
		КонецЕсли;
		ДБФ.Следующая(); 
	КонецЦикла;    
	
	ДБФ.ЗакрытьФайл();
	
	ТаблицаДанных.Свернуть("КодНоменклатуры");
	
	МассивКодов = Новый Массив;
	
	Для Каждого Стр Из ТаблицаДанных Цикл
		
		МассивКодов.Добавить(Стр.КодНоменклатуры);
		
	КонецЦикла;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот