Для тек кто не в курсе, что такое характеристики в СКД, можно почитать здесь:
http://1cskd.ru/2011/09/ispolzovanie-xarakteristik-v-skd/ или здесь: //infostart.ru/public/89842/
Кратко суть характеристик в том, чтобы добавленные свойства в режиме предприятия были доступны в отчете, как реквизиты объекта, по которым можно группировать, отбирать, сортировать, короче использовать всю мощь СКД.
Недавно столкнулся с проблемой, когда делал отчет. При установке отбора по характеристике в отчете фильтровались не только данные по значению отбора, но еще и данные с неустановленным значением свойства. Было понимание почему отбор работает именно так, но надеялся, что СКД должна это как-то корректно обрабатывать, т.е. есть простая настройка, как говорят бухи - "галочка"
Галочку, которую надо где-то поставить, чтобы все заработало не было ...
Пример проблемы:
Для примера выгрузим из типового отчета "ВедомостьТоварыНаСкладах" демо базы УСО схему и загрузим в консоль отчетов ИР.
Для наглядности добавим группировку по свойству номенклатуры "Канал сбыта" и некоторые отборы. Как видно, все ок, есть номенклатура с установленным свойством и без него.
Попробуем отфильтровать, например, "Канал сбыта" - "Не равно" - "Опт":
Видно, что отфильтровалась номенклатура не только с "Канал сбыта - "Опт", но еще и номенклатура с неустановленным значением данного свойства.
Описание проблемы:
Связка Объект - Свойство - Значение хранится в регистре сведений ЗначенияСвойствОбъектов.
Проблема в том, что в регистре ЗначенияСвойствОбъектов записи создаются, когда свойству объекта устанавливается определенное значение, т.е. для номенклатуры, у которой свойство "Канал сбыта" не установлено в регистре записей нет. При использовании отбора система выбирает из регистра все, что в нем есть за исключением "Канал сбыта - "Опт", в итоге у нас в результат попадает только "Канал сбыта - "Реализация".
Решение:
Для корректной работы отбора необходимо имитировать наличие записей в регистре с пустым значением свойства. Для этого необходимо в качестве источника значений указать "Запрос" и описать сам запрос.
Шаблон запроса:
В результате этого запроса мы получим полную таблицу, в которой будет вся номенклатура из справочника "Номенклатура" и все доступные для нее свойства из ПВХ. Если значение свойства не установлено, то в качестве значения будет пустая ссылка на справочник "ЗначенияСвойствОбъектов".
Теперь отбор работает корректно: