Поведение отбора СКД

1. user889997 17.10.18 07:59 Сейчас в теме
Добрый день всем!

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

Создаем простой отчет на СКД с текстом запроса:
ВЫБРАТЬ
	"тут один" КАК Поле1,
	1 КАК Поле2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"тут ноль" КАК Поле1,
	0 КАК Поле2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"тут НУЛЛ" КАК Поле1,
	NULL КАК Поле2
Показать


Добавляем пользовательское поле для вывода типа значения:

Добавляем возможность отбора на верхний уровень отчета:

В конструкторе отчета выбираем тип список и выводим все поля без группировки.


Результаты:
1. Без отбора:

2. С отбором "Заполнено":

3. С отбором "Не заполнено":


Теперь перенесем отбор на уровень "Детальных записей".


Результаты:
1. Без отбора:

2. С отбором "Заполнено"

3. С отбором "Не заполнено"


Вопрос: Почему на уровне отчета отбор "Заполнено" включает записи NULL?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. soft_wind 17.10.18 18:36 Сейчас в теме
(1) user889997 а вы сам отчет/пример выложите, так будет проще разобраться
2. YuriIn 17.10.18 17:36 Сейчас в теме
Потому что NULL это NULL наверное...
Оно не то что не заполнено, его просто нет.
3. herfis 499 17.10.18 18:00 Сейчас в теме
Так не должно быть.
Похоже на багофичу.
4. tvm 17.10.18 18:06 Сейчас в теме
есть NULL а есть НЕОПРЕДЕЛЕНО
6. user889997 19.10.18 08:14 Сейчас в теме
Добавил Неопределено.
(4) Да, действительно, отбор на уровне отчета (Поле2 = заполнено) исключает неопределено, оставляет только 1 и NULL
Отбор на уровне детальных записей по прежнему исключает все, кроме 1.

зы сохранил отчет, прикрепил к сообщению.
Прикрепленные файлы:
тест.erf
7. user889997 21.10.18 07:17 Сейчас в теме
Проблему обнаружил, когда в СКД делал отчет из двух наборов данных и создал связи наборов.
Связи в СКД работают по принципу левого соединения, и в результате в некоторых строках был НУЛЛ
Хотел этот НУЛЛ отфильтровать с помощью отбора.

Причина, я так понимаю, в этом:
8. user889997 21.10.18 07:56 Сейчас в теме
Слева - отбор на уровне отчета, справа - на уровне детальных записей.
Оптимизатор СКД почему то проигнорировал выборку, где присутствует НУЛЛ.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот