Имя: Пароль:
1C
1С v8
Почему во временной таблице не выполняется запрос с условием на NULL?
0 Механик
 
27.12.21
13:40
Делаю такой запрос, чтобы в УТ вывести контрагентов, по которым нет хозяйствующих субъектов в соответствующем справочнике. В ВТ создается таблица, где поля "Контрагент" заполнены все, а часть полей "ХозяйствующийСубъект" либо заполнены, либо равны NULL. Почему же тогда во второй части запроса, если я хочу выбрать из ВТ только записи, где ХозяйствующийСубъект = NULL - то результат запроса - пустой?

ВЫБРАТЬ
    Контрагенты.Ссылка КАК Контрагент,
    ХозяйствующиеСубъектыВЕТИС.Ссылка КАК ХозяйствующийСубъект
ПОМЕСТИТЬ ВТ
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХозяйствующиеСубъектыВЕТИС КАК ХозяйствующиеСубъектыВЕТИС
        ПО (Контрагенты.Ссылка = ХозяйствующиеСубъектыВЕТИС.Контрагент)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.Контрагент КАК Контрагент,
    ВТ.ХозяйствующийСубъект КАК ХозяйствующийСубъект,
    ТИПЗНАЧЕНИЯ(ВТ.ХозяйствующийСубъект) КАК ХозяйствующийСубъектТипЗначения
ИЗ
    ВТ КАК ВТ
ГДЕ
    ВТ.ХозяйствующийСубъект = NULL
1 runoff_runoff
 
27.12.21
13:41
ВТ.ХозяйствующийСубъект ЕСТЬ NULL
2 H A D G E H O G s
 
27.12.21
13:43
(0) Любое сравнение с NULL через равенство возвращает ЛОЖЬ
3 Kassern
 
27.12.21
13:43
4 H A D G E H O G s
 
27.12.21
13:43
Конечно, это не касается кода 1С, в котором с null можно сравнивать.
5 H A D G E H O G s
 
27.12.21
13:44
Но лучше тебе расскажет про null аппологет и кудесник null-ов, Ненавижу 1С.
6 Механик
 
27.12.21
13:48
(3) Тут статья про ЕСТЬNULL, однако про замену знака равенства на "ЕСТЬ" не написано... Но всё равно спасибо)
7 Жан Пердежон
 
27.12.21
13:53
(2) разве не NULL?
8 hhhh
 
27.12.21
14:20
(6) такой статьи не может быть чисто физически, потому что тем, кто нипишет = NULL сразу отрубают руки.
9 Ненавижу 1С
 
гуру
27.12.21
14:27
(7) именно так:

ВЫБРАТЬ
    1 КАК Поле1
ГДЕ
    (1 = NULL) есть NULL
10 Dmitrii
 
гуру
27.12.21
14:38
(6) https://its.1c.ru/db/metod8dev/content/2512/hdoc
Это правильная ссылка.
11 Жан Пердежон
 
27.12.21
15:34
(9) ну так сравнение через равенство c NULL и возвращает NULL, а не ЛОЖЬ, всегда так было
12 Ненавижу 1С
 
гуру
27.12.21
15:35
(11) так и я про тоже, а не (2)