Имя: Пароль:
1C
 
Проверка неопределено как лучше
0 aspect
 
09.12.10
17:05
1 - Если Переменная <> неопределено
2 - Если Не Переменная = Неопределено

Как правильно(лучше) 1 или 2 и почему?
1 Ненавижу 1С
 
гуру
09.12.10
17:07
(0) пятницо близко
2 XLife
 
09.12.10
17:07
(0) 2 - потому что гладиолус
3 Ненавижу 1С
 
гуру
09.12.10
17:08
а вот так слабо:

ТипЗнч(Переменная) <> Тип("Неопределено")
4 rs_trade
 
09.12.10
17:09
(0) 1 вариант понятней
5 Ненавижу 1С
 
гуру
09.12.10
17:09
(0) у кого нет спец. раскладки, то 1 неудобно с переключением в англ. режим
6 acsent
 
09.12.10
17:10
По стандартам 1С - 1 вариант
7 rs_trade
 
09.12.10
17:10
+(4) понятней сразу, сходу. во 2-ом варианте надо пару секунд переварить соотношение отрицания и знака равенства
8 Ненавижу 1С
 
гуру
09.12.10
17:11
(0) и (6) очень похожие ники, блин
9 Grinspen
 
09.12.10
17:11
3 Если Не ЗначениеЗаполнено(Переменная)
голосовалку прикрутите еще :))
10 Ненавижу 1С
 
гуру
09.12.10
17:11
(7) у некоторых до 2 минут уходит ))
11 hhhh
 
09.12.10
17:11
(5) тогда лучше так

Если Переменная = неопределено Тогда
Иначе


КонецЕсли;
12 Ненавижу 1С
 
гуру
09.12.10
17:12
(9) вариант неверный
13 John83
 
09.12.10
17:12
(6) в типовых второй вариант тоже встречается...
14 YF
 
09.12.10
17:12
(9) неправда, оно не обязательно будет Неопределено
15 Ненавижу 1С
 
гуру
09.12.10
17:12
(11) как вариант, но думаю там хоть и пусто будет джампинг
16 Lys
 
09.12.10
17:13
(6) стандарты, говоришь...
В коде типовых от 1С 2 вариант - сплошь и рядом.
17 Ненавижу 1С
 
гуру
09.12.10
17:14
кстати, почему 1С не выбрало так:

Переменная != Неопределено

переключаться хотя бы не надо было
18 aspect
 
09.12.10
17:15
(17) Волшебник кстати ненавидит PHP ;)
19 Ненавижу 1С
 
гуру
09.12.10
17:16
(18) а также C, C++, C#, Java и проч. и проч.
20 rs_trade
 
09.12.10
17:19
(17) кстати сишная же нотация. а <> это в делфи насколько я помню и в Басике. 1С написана на си
21 mm_84
 
09.12.10
17:22
(0) второй вариант как то по-китайски читается, не понятно вообще кто такую конструкцию придумал, кореец чтоли?
22 Ненавижу 1С
 
гуру
09.12.10
17:22
(20) какая связь между на чем написано и языком 1С?
написана кстати на C++
23 aspect
 
09.12.10
17:25
(19) Мне если честно после PHP казалось логичнее !=, но после 1С в PHP как-то некомфортно.
24 Ненавижу 1С
 
гуру
09.12.10
17:25
если это в запросе, то в зависимости от контекста могут давать "не тот" результат
надо тогда так:


(Переменная <> неопределено) или (Переменная ЕСТЬ NULL)

продолжаем великое дело!
25 aspect
 
09.12.10
17:27
(21) если переменная не = неопределено?
26 cherserver
 
20.12.10
11:44
По стандартам 1С? При сравнений значения с типом Неопределено можно использовать только сравнение на равенство. еоответственно проверка на несовпадение с этим типом будет выглядеть так:
Если не (Переменная = Неопределено) Тогда
КонецЕсли;
В противном случае, особенно в 8.2 в НЕКОТОРЫХ СЛУЧАЯХ, сравнение на неравенство будет возвращать ложь, даже если Переменная не определена.
Следовательно, второй вариант правильнее во избежание ошибок.
Проверено на собственном опыте не на одном релизе 1С.
27 Crosby
 
20.12.10
11:50
Стандарты 1с вроде бы как раз рекомендуют 2 вариант.
28 Maxus43
 
20.12.10
11:51
где сувалка?
я за вариант 2, намного чаще встречаю в типовых
29 mikecool
 
20.12.10
11:52
пользуюсь всегда Не