причем сам запрос в консоли запросов отрабатывает, но в функции не хочет. В результате функция создаёт к одной номенклатуре 16 характеристик одинаковых, а должна только одну.
В чем ошибка?
необходимо зарегистрироваться для просмотра ссылки
Функция СоздатьХарактеристику(Номенклатура,Цвет)
// ХарактеристикиНоменклатуры
перем kol;
kol=0;
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| количество(ХарактеристикиНоменклатуры.Ссылка) КАК Количество_Характеристик
|ИЗ
| Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатуры
|ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
| ПО ХарактеристикиНоменклатуры.Ссылка.Владелец = Номенклатура.Ссылка
|ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
| ПО ХарактеристикиНоменклатуры.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
|ГДЕ
| Номенклатура.Наименование = &Номенклатура_
| И ДополнительныеРеквизитыИСведения.Наименование = ""Цвет (Мотоциклы (Для характеристик))""
| И ХарактеристикиНоменклатуры.Значение = &Цвет_
|";
Запрос.УстановитьПараметр("Номенклатура_", СокрЛП(Строка(Номенклатура)));
Запрос.УстановитьПараметр("Цвет_", СокрЛП(Строка(Цвет)));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДокументов = РезультатЗапроса.Выбрать();
Пока ВыборкаДокументов.Следующий() Цикл
kol=kol+ (ВыборкаДокументов.Количество_Характеристик);
КонецЦикла;
Если kol=0 Тогда
Цвет = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(СокрЛП(Строка(Цвет)));
СоздадимХарактеристику = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
СоздадимХарактеристику.УстановитьНовыйКод();
СоздадимХарактеристику.Владелец =Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(Строка(Номенклатура)));
СоздадимХарактеристику.УстановитьСсылкуНового(Справочники.ХарактеристикиНоменклатуры.ПолучитьСсылку(Новый УникальныйИдентификатор));
СоздадимХарактеристику.Наименование = Цвет;
СоздадимХарактеристику.НаименованиеПолное= Цвет;
НовоеСвойство3=СоздадимХарактеристику.ДополнительныеРеквизиты.Добавить();
НовоеСвойство3.Свойство=ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(Строка("Цвет (Мотоциклы (Для характеристик))"));
НовоеСвойство3.Значение= СокрЛП(Строка(Цвет));
НовоеСвойство3.ТекстоваяСтрока= СокрЛП(Строка(Цвет));
Попытка
СоздадимХарактеристику.Записать();
Возврат СоздадимХарактеристику.Ссылка;
Исключение
Сообщить("Не удалось записать элемент справочника. " + ОписаниеОшибки());
Возврат неопределено;
КонецПопытки;
ИначеЕсли kol>0 тогда
Запрос.УстановитьПараметр("Номенклатура_", СокрЛП(Строка(Номенклатура)));
Запрос.УстановитьПараметр("Цвет_", СокрЛП(Строка(Цвет)));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДокументов = РезультатЗапроса.Выбрать();
Пока ВыборкаДокументов.Следующий() Цикл
Характеристика = ВыборкаДокументов.Характеристика;
КонецЦикла;
kol=0;
Возврат Характеристика;
КонецЕсли;
КонецФункции