Имя: Пароль:
1C
1С v8
ЗначениеЗаполнено(Ссылка) vs Ссылка.Пустая()
, ,
0 Genayo
 
14.06.12
12:18
Есть ли какая-нибудь существенная разница, что использовать в коде,  например ОбработкиПроведения? Что быстрее?
1 Рэйв
 
14.06.12
12:19
А замерить самому?
2 Aprobator
 
14.06.12
12:19
ЗначениеЗаполнено вроде быстрее было. Что меня немало удивило.
3 Defender aka LINN
 
14.06.12
12:20
ЗначениеЗаполнено(Неопределено) = Истина
Неопределено.Пустая() = Метод объекта не обнаружен
4 DrShad
 
14.06.12
12:21
ЗначениеЗаполнено() кошернее, ибо не вызовет критическую ошибку если вдруг Ссылка = Неопределено
5 Рэйв
 
14.06.12
12:22
(2)Неа.

ЗначениеЗаполнено()- 0,000017
.Пустая()          - 0,000015
6 eduspec82
 
14.06.12
12:24
клево все остальное уже оптимизировано
осталось только выбрать последний штрих метод проверки заполненности
красавец
7 Cube
 
14.06.12
12:28
(3) У меня ЗначениеЗаполнено(Неопределено) = Ложь...
8 Sammo
 
14.06.12
12:31
Зависит от...
Ссылка точно будет ссылочного типа? На всем протяжении жизни решения...
9 golden-pack
 
14.06.12
12:33
(7) а у меня У меня ЗначениеЗаполнено(Неопределено) = Null...
10 Aprobator
 
14.06.12
12:37
(7) у меня тоже.
11 Рэйв
 
14.06.12
12:39
(9) 1С v 9.0 ?
12 Лефмихалыч
 
14.06.12
12:45
(9) на обед был кактус?
13 Defender aka LINN
 
14.06.12
12:47
(7) Ну, смысл понятен :)
14 kabanoff
 
14.06.12
12:57
А некоторые еще вот так умудряются писать: Не ЗначениеНеЗаполнено().
(0) Попробуй, может так быстрее будет? )
15 Рэйв
 
14.06.12
13:01
(14)я все время так пишу. Нагляднее, чем      "=ложь"
16 Рэйв
 
14.06.12
13:01
+(15) только

Не ЗначениеЗаполнено().
:-)
17 chelentano
 
14.06.12
13:03
(14) потому что в старых версиях платформы не было метода ЗначениеЗаполнено()
18 kabanoff
 
14.06.12
13:09
(17) В старых версиях платформы функции ЗначениеНеЗаполнено() также не было. Это была функция глобального общего модуля большинства типовых конфигураций на платформе 8.0.
19 Genayo
 
14.06.12
13:14
(3) А может быть Неопределено, если Ссылка это реквизит документа не составного типа?
20 Cube
 
14.06.12
13:15
(19) Может.
21 ptiz
 
14.06.12
13:17
(19) Через пару месяцев понадобится делать составной, тогда и задумаешься, а стоило ли мутить воду.
22 Genayo
 
14.06.12
13:17
(20) В ОбработкеПроведения? В каком случае?
23 Cube
 
14.06.12
13:21
(22) Переформулируй вопрос. Ничего не понятно.
24 chelentano
 
14.06.12
13:24
(18) я в курсе
25 Genayo
 
14.06.12
13:25
(23) Как может быть у незаполненного не составного реквизита документа ссылочного типа в процедуре ОбработкаПроведения() документа значение Неопределено?
26 Genayo
 
14.06.12
13:28
Подитоживая - ЗначениеЗаполнено в данной ситуации более универсально, т.к. будет возвращать искомый результат и для составных типов данных.
27 Cube
 
14.06.12
13:40
(25) Если у реквизита составного типа тип не выбран, то в нем содержится НЕОПРЕДЕЛЕНО.
28 Genayo
 
14.06.12
13:42
(27) я спрашиваю именно про НЕ составной
29 Cube
 
14.06.12
13:48
(28) У НЕ составного тип определен, поэтому НЕОПРЕДЕЛЕНО быть там не может.
30 Sammo
 
14.06.12
13:51
(25) Все конечно замечательно, но ты можешь получить его запросом и там будет NULL :)
31 Cube
 
14.06.12
13:57
(30) Где там?)) ТАМ не будет ничего, а NULL будет в поле запроса))
32 Serg_1960
 
14.06.12
14:01
Что-то не в ту сторону ушло обсуждение :) Ихмо так понятнее будет:

ЭтотОбъект.Ответственный = Неопределено;
   
Сообщить(ЗначениеЗаполнено(ЭтотОбъект.Ответственный)); //"Нет"
Сообщить(ЭтотОбъект.Ответственный = Неопределено);    // "Нет"
Сообщить(ЭтотОбъект.Ответственный = Справочники.Пользователи.ПустаяСсылка()); // "Да"
33 Genayo
 
14.06.12
14:07
(32) И? Выводы какие?
34 Serg_1960
 
14.06.12
14:09
(33) :)) См.(29)
35 Genayo
 
14.06.12
14:11
Спасибо, Кэп :))