Установка правильных характеристик УНФ3

При загрузке заказа с сайта написанная мною функция поиска характеристики не учивала владельца, искала только по наименованию или артикулу. Функция была поправлена:

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

Но она породила проблему, которую пользователи сначала приняли за то, что характеристики задублировались, потому что в отчете данные будто бы по разным характеристикам шли, потому что характеристика не соответствовала товару.

Пришлось написать небольшое исправление, благо замечено было быстро, запускал по чекам и по ОРП:

З = Новый Запрос(
"ВЫБРАТЬ РАЗЛИЧНЫЕ Ссылка ИЗ Документ.ЧекККМ.Запасы КАК Т ГДЕ Т.Характеристика <> Значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) И Т.Характеристика.Владелец <> Т.Номенклатура  И Ссылка.Проведен УПОРЯДОЧИТЬ ПО Т.Ссылка.Дата");
Выборка = З.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
	Сообщить(Выборка.Ссылка);
	ОО = Выборка.Ссылка.ПолучитьОбъект();
	Для Каждого Строка ИЗ ОО.Запасы Цикл
		Если ЗначениеЗаполнено(Строка.Характеристика) И Строка.Характеристика.Владелец <> Строка.Номенклатура Тогда
			ИскХарактеристика = видс_С.НайтиХарактеристикуТовара(Строка.Номенклатура, Строка.Характеристика.Наименование,"");
			Если ЗначениеЗаполнено(ИскХарактеристика) Тогда
				Строка.Характеристика = ИскХарактеристика;
				Сообщить("   новая хар-ка: " + Строка.Характеристика);
			Иначе
				Сообщить("   ОШИБКА поиска хар-ки: " + Строка.Характеристика + " у товара: " + Строка.Номенклатура);
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
	Попытка
		ОО.Записать(РежимЗаписиДокумента.Проведение);
	Исключение
		Сообщить(" - не проведен: " + ОписаниеОшибки());
	КонецПопытки;
КонецЦикла;

Среда: УНФ 3.0.13.374 Объем: 0.5 час