Фильтр характеристик

Новая тема
"Добрый день! Вопрос такой: По фильтру отбираются характеристики, если свойств у характеристики больше, чем в фильтре, то она попадает в результат. Необходимо, чтобы в результат попадали характеристики, у которых свойств меньше, чем в фильтре. Например: У характеристики записаны свойства "размер" и "цвет", а в фильтре стоит "размер", "цвет", "цвет отделки". Значения "Размер" и "Цвет" совпадают. Соответственно характеристика должна попасть в результат. Вот текущий код:

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

Быстрый переход