Имя: Пароль:
1C
 
Отличие НЕ= и <> в запросе в файловом и клиент серверном варианте
0 13Дима13
 
23.12.15
20:46
Добрый вечер, коллеги.
Есть реквизит регистра накопления составного типа, среди прочих типов заказ покупателя. Есть условие в запросе ТИПЗНАЧЕНИЯ(Рег.Заказ) <> ТИП("Документ.ЗАказПокупателя"), при этом рег.ЗАказ не заполнен (для составного типа в этом случае должен быть равен неопределено). В файловой базе условие равно истина, в клиент-серверной ложь.  Если меняю условие на НЕ ТИПЗНАЧЕНИЯ(Рег.Заказ) = ТИП("Документ.ЗАказПокупателя") то в обоих случаях истина. Почему так?
1 PR третий
 
23.12.15
20:47
(0) НЕ (ТИПЗНАЧЕНИЯ(Рег.Заказ) = ТИП("Документ.ЗАказПокупателя"))
2 Nuobu
 
23.12.15
20:51
(1) А смысл?
3 13Дима13
 
23.12.15
20:52
(1) я так и сделал, но почему через <> в клиент серверном и файловом варианте разные результаты?
4 Nuobu
 
23.12.15
20:53
(3) Нулл и неопределено?
5 13Дима13
 
23.12.15
20:55
(4) нулла там нет
6 denis_jj
 
23.12.15
23:08
(0) где-то на ИТС была рекомендация по использованию сравнений. Суть их в том, что использование "НЕ =" лучше чем использование <>, т.к. при сравнении на "=" точно известен тип и значение операндов. В случае <> могут различаться как значение так и вероятность ошибок больше.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший