Что такое NULL
NULL в результате запроса, означает отсутствие значения (это не пустое значение, не нулевое, не пустая ссылка).
Например в результате соединения таблиц запроса, не нашлось значения в одной из таблиц при связи по полям соединения. Или в запросе идет обращение к несуществующему реквизиту (свойству).
NULL не равно NULL !
Если вы в запросе 1С захотите наложить отбор (условие) с проверкой на NULL, то конструкция вида
ГДЕ ВТ.Поле1 = NULL
Всегда будет возвращать ЛОЖЬ! Для проверки следует использовать специальный оператор
ЕСТЬ NULL в запросе 1С
Для проверки значения (или для работы со значениями) на NULL необходимо использовать следующую конструкцию
ГДЕ ВТ.Поле1 ЕСТЬ NULL
Или другой пример, использование в конструкции ВЫБОР
ВЫБОР
КОГДА ВТ.Поле1 ЕСТЬ NULL
ТОГДА
Стоит отметить, что функция проверки поля на NULL одна из самых ресурсоемких в запросах 1С. Поэтому если Вы хотите использовать ее в условии запроса, подумайте, возможно ли заменить такую проверку внутренним соединением (вид соединения в запросах, при котором в выборке остаются только записи, присутствующие в обоих таблицах).
Функция ЕСТЬNULL() в запросе 1С
Функция ЕСТЬNULL() позволяет заменить отсутствующее значение в поле запроса, на указанное значение (стандартное значение, заглушку).
К примеру, если информация о стоимости товара отсутствует, то мы указываем ее равной 0 (нулю)
ВЫБРАТЬ
ЕСТЬNULL(ВТ.Цена, 0) КАК Цена
ИЗ ОстаткиТоваров КАК ВТ
Заключение
Пишите запросы правильно и оптимально. Потому что плохой запрос — это тормоза и говнокод 😉