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

18.08.17

Разработка - СКД

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Отчет с примером запроса по характеристикам
.erf 26,28Kb
16 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

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

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

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

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

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

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

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

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

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

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

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

Решение:

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

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

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

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

Вступайте в нашу телеграмм-группу Инфостарт

скд отчет свойства и категории характеристики параметры скд механизм характеристик значения свойств объектов отбор

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    246772    1357    419    

1132

Инструментарий разработчика СКД Программист 1С 8.3 Бесплатно (free)

В этой статье представлен СКДБилдер — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    5135    288    shapa_pro    25    

66

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    15935    ovetgana    112    

105

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Описан способ заполнения списка доступных значений для полей наборов данных и параметров в схеме компоновки данных для любых конфигураций (с использованием БСП или без).

01.07.2025    9292    krasnoshchekovpavel    5    

67

СКД Программист Стажер 1С:Предприятие 8 Россия Бесплатно (free)

Несколько способов управления формами выбора параметров и отборов СКД.

10.04.2025    8461    Neti    0    

41

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Хорошая отчетная форма - сродни искусству. Есть какое-то невероятное эстетическое удовольствие в том, чтобы разобраться в логике учета и анализируемых показателях, спроектировать архитектуру хранения данных так, чтобы оптимально собрать эти показатели вместе с аналитическими разрезами в запросе, а затем настроить отображение так, чтобы, глядя на результат, сразу было понятно, что это за отчет и какие задачи он призван решать. Система компоновки данных - это моя первая, главная и, наверное, единственная "рабочая" любовь. Ее я использую везде, где только можно и где нельзя тоже. Хочу поделиться с вами некоторыми практическими приемами в работе с отчетами на СКД, которые, надеюсь, будут полезны.

27.02.2025    15592    ovetgana    50    

93

СКД Программист 1С:Предприятие 8 Бесплатно (free)

СКД – инструмент, на базе которого в современных конфигурациях реализованы практически все отчеты. СКД используется в динамических списках, печатных формах и универсальных механизмах. Если построить простейший отчет может каждый разработчик, то с нюансами знакомы далеко не все. Расскажем о неочевидных на первый взгляд приемах, способных значительно повысить качество отчетов.

24.12.2024    13162    Akcium    17    

46

СКД Механизмы типовых конфигураций Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    9656    AlexeyPROSTO_1C    1    

32
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Новиков 292 21.08.17 09:51 Сейчас в теме
Полезная инфа, спасибо!
2. LexSeIch 212 22.08.17 04:27 Сейчас в теме
Интересные "грабли" спасибо за информацию.
3. logarifm 1130 22.08.17 21:51 Сейчас в теме
информация далеко уже бесполезна для новых конфигураций.
5. nvv1970 30.08.17 21:31 Сейчас в теме
(3) можно подробнее? Что-то костылят в конфах или изменили поведение в скд?
По СКД все норм. Выдает то что выдает СУБД. Точно так же работают и соединения наборов данных. Накладываете отбор на колонку с разрешенным нулл - получаем предсказуемый результат.
Можно кстати сделать вычисляемое поле с проверкой на нулл.
Если в запросе делать левое соединение, то поведение кажется будет зависить от установленного параметра в роли " разрешить нулл". Но могу ошибаться, давно такие случаи не попадались.
6. kkv90 55 01.09.17 11:51 Сейчас в теме
(5) В новых конфигурациях настройки характеристик предопределены, они установлены для объектов метаданных справочников или документов. Если правой кнопкой щелкнуть на справочник в дереве метаданных, то в контекстном меню будет пункт "Характеристики", логика настройки такая же как и у отчетов СКД. В самих отчетах теперь нет необходимости настраивать закладку характеристик. При открытии отчетов характеристики автоматически читаются и становятся доступны для использования, плюс нет проблемы описанной в данной публикации.
7. nvv1970 02.09.17 09:49 Сейчас в теме
(6) где задаются характеристики - не знают только студенты. Но спасибо на напоминание)))
Т.е. характеристики указанные в объекте и запросе компоновки данных имеют разное поведение??? Хммм... Очень сомнительно. Обязательно перепроверю поведение и сам выполняемый запрос. По возможности о причинах такого поведения отпишусь.
4. rozer 315 23.08.17 09:54 Сейчас в теме
при установке отбора в отчет не попадают данные с незаполненными свойствами

странно но в этом случае и не надо фильтровать ИМХО - это же логично если пользователь не указал свойство то данные и не подпадают под это свойство )
8. Manoshkin 359 01.11.17 13:00 Сейчас в теме
(4) когда используешь "не равно" то где свойство не указано не отбираются, а они тебе нужны ведь у них не равно указанному значению.
9. stopa85 47 20.06.19 11:44 Сейчас в теме
Все что автор написал это, конечно, хорошо, но не решает проблемы целиком.

Допустим у нас есть доп. реквизиты, которые имеют тип "число".

Наложение отбора "Высота > 100" дает очень интересный результат, а все потому что запрос:
ВЫБРАТЬ ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) > 100 КАК  Результат

Возвращает ИСТИНА

В этом смысле "стандартное" поведение платформы лучше.
Для отправки сообщения требуется регистрация/авторизация