А в условии запроса мы ничего не дописываем? Получается что в выборку попадают все записи. А потом в цикле проверяется каждое значение свойства номенклатуры?
Так у Вас запрос только для выборки ссылок номенклатуры, можно составить запрос с выбором свойств (пустых, например), но это другая тема. А Ваша просьба решается так, как я описал выше.
Если в условии запроса написать
| ЗначенияСвойствОбъектов.Значение Есть NULL
то в выборку попадает номенклатура, у которой значения свойств все пустые, т.е. если хоть одно значение любого свойства заполнено, то в выборку данная номенк. уже не попадает
Но если в условии написать
| (ЗначенияСвойствОбъектов.Свойство = &ТребуемоеСвойство
| И ЗначенияСвойствОбъектов.Значение Есть NULL)
то вообще никакой реакции. Получается что в выборку вообще ничего не попадает?Изменено 31.10.12 13:54:58
(8) evgeniy, это может означать, что либо нет записей с таким свойством вообще, либо записи есть, и они все заполнены.
Запрос, который мы с Вами сейчас рассматриваем, отлавливает только СУЩЕСТВУЮЩИЕ и НЕЗАПОЛНЕННЫЕ записи с каким-то свойством.Изменено 31.10.12 13:58:09
нет, если нет реакции, значит таблица со свойствами пуста, либо ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Импортер") не возвращает ссылку на свойство, проверьте
(15) При выполнении кода в выборка попадает вся номенклатура у которой имеется свойство Импортер. (моя обработка отбирает нужную номенклатуру и затем записывает значение в это свойство. на форме у меня 3 поля ввода: выбор группы номенклатуры, выбор свойства, выбор значения для этого свойстваИзменено 31.10.12 14:41:26
(17) evgeniy, ну так отлично! если нужно заполнить свойство во всей группе - то как раз мой запрос подойдёт. В параметр &ТребуемоеСвойство записываете выбранное свойство, выполняете запрос, а потом по выборке и устанавливаете искомое свойство. Только запрос тут скорости не добавит, самый первый код будет более внятным и понятным, потому что всё равно циклы пробегать.