Каталог решений - Особенность работы отбора по характеристикам (свойствам) в СКД

Особенность работы отбора по характеристикам (свойствам) в СКД

Особенность работы отбора по характеристикам (свойствам) в СКД

В наличии

Замечено, что в отчете созданном на СКД с использованием характеристик (свойств) объектов при установке отбора в отчет не попадают данные с незаполненными свойствами.

Категория:

Описание

Для тек кто не в курсе, что такое характеристики в СКД, можно почитать здесь:

http://1cskd.ru/2011/09/ispolzovanie-xarakteristik-v-skd/ или здесь: //sale.itcity.ru/public/89842/

Кратко суть характеристик в том, чтобы добавленные свойства в режиме предприятия были доступны в отчете, как реквизиты объекта, по которым можно группировать, отбирать, сортировать, короче использовать всю мощь СКД.

Недавно столкнулся с проблемой, когда делал отчет. При установке отбора по характеристике в отчете фильтровались не только данные по значению отбора, но еще и данные с неустановленным значением свойства. Было понимание почему отбор работает именно так, но надеялся, что СКД должна это как-то корректно обрабатывать, т.е. есть простая настройка, как говорят бухи — «галочка»

Галочку, которую надо где-то поставить, чтобы все заработало не было …

Пример проблемы:

Для примера выгрузим из типового отчета «ВедомостьТоварыНаСкладах» демо базы УСО схему и загрузим в консоль отчетов ИР.

Для наглядности добавим группировку по свойству номенклатуры «Канал сбыта» и некоторые отборы. Как видно, все ок, есть номенклатура с установленным свойством и без него.

Попробуем отфильтровать, например, «Канал сбыта» — «Не равно» — «Опт»:

Видно, что отфильтровалась номенклатура не только с «Канал сбыта — «Опт», но еще и номенклатура с неустановленным значением данного свойства.

Описание проблемы:

Связка Объект — Свойство — Значение хранится в регистре сведений ЗначенияСвойствОбъектов.

Проблема в том, что в регистре ЗначенияСвойствОбъектов записи создаются, когда свойству объекта устанавливается определенное значение, т.е. для номенклатуры, у которой свойство «Канал сбыта» не установлено в регистре записей нет. При использовании отбора система выбирает из регистра все, что в нем есть за исключением «Канал сбыта — «Опт», в итоге у нас в результат попадает только «Канал сбыта — «Реализация».

Решение:

Для корректной работы отбора необходимо имитировать наличие записей в регистре с пустым значением свойства. Для этого необходимо в качестве источника значений указать «Запрос» и описать сам запрос.

Шаблон запроса:

В результате этого запроса мы получим полную таблицу, в которой будет вся номенклатура из справочника «Номенклатура» и все доступные для нее свойства из ПВХ. Если значение свойства не установлено, то в качестве значения будет пустая ссылка на справочник «ЗначенияСвойствОбъектов».

Теперь отбор работает корректно:

has been added to your cart:
Оформление заказа