Имя: Пароль:
1C
 
Простой вопрос Пустая vs ПустаяСсылка
0 captain
 
29.11.10
19:32
В чем разница между Функциями Пустая() и ПустаяСсылка()?

Как правильно?

Найденный = Справочники.Контрагенты.НайтиПоКоду(Код);
Если Найденный.Пустая() Тогда
...
КонецЕсли;

или

Найденный = Справочники.Контрагенты.НайтиПоКоду(Код);
Если Найденный=Справочники.Контрагенты.ПустаяСсылка() Тогда
...
КонецЕсли;
1 skunk
 
29.11.10
19:34
одна получает пустую ссылку ... другая проверяеи является ли полученная ссылка пустой
2 John83
 
29.11.10
19:34
Описание:
Получает пустое значение ссылки на справочник данного вида.

Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Может использоваться, например, когда нужно передать пустую ссылку в параметр метода.
3 captain
 
29.11.10
19:37
так как правильно?

Я раньше всегда делал по 1-ому варианту. Вроде как работало...
Сегодня почему-то увидел в доке второй вариант и засомневался.
4 GROOVY
 
29.11.10
19:39
Это по аналогии
Если А Тогда

И

Если А = Истина Тогда
5 skunk
 
29.11.10
19:40
по сути верны оба варианта ... хотя первый вариант отработает быстрее... ибо в нем получается ссылка далее проверяется пустая или нет ... во втором варианте получается две ссылки и затем сравниватеся ... а сравнение для варианта идет долго
6 dk
 
29.11.10
19:42
имхо во втором варианте сравнивается не только пустота но и вид
7 skunk
 
29.11.10
19:43
(6)а в первом что?
8 dk
 
29.11.10
19:45
в первой узнается является ли ссылка пустой вне зависимости от вида
9 John83
 
29.11.10
19:45
(3) внимательно читать примечание
10 skunk
 
29.11.10
19:49
(8)а собственно накой в данной конструкции тебе вид ... или у справочника контрагентов могет быть несколько видов?
11 dk
 
29.11.10
19:49
Ссылка1 = Справочники.Контрагенты.ПустаяСсылка();
Ссылка2 = Справочники.Номенклатура.ПустаяСсылка();
Ссылка1.Пустая() = Истина
Ссылка2.Пустая() = Истина
Ссылка1=Ссылка2 = Ложь
---
это в теории, проверять лениво
12 skunk
 
29.11.10
19:50
(11)это так ... вот только здесь это мимо
13 dk
 
29.11.10
19:52
почему мимо?
вместо просто проверки на пустоту вариант 1
в варианте 2 проверяется не только пустота, а пустота определенного вида
14 skunk
 
29.11.10
19:55
(13)еще раз ... в примерах у справочника контрагентов ищется элемент по коду ... а далее различными способами определяется найден он или нет ...
15 dk
 
29.11.10
19:56
ты ж сам в (5) тоже самое написал
16 skunk
 
29.11.10
19:58
(15)я там не писал за сравнение видов ... я там просто сказал... что первый отработает быстрее
17 dk
 
29.11.10
20:00
однако (11) подтверждает, что идет сравнение по виду
ты чего споришь-то? ))
18 Dem1urg
 
29.11.10
20:05
Кстати, а что будет, если выполнить подобную проверку для реквизита составного типа?
19 Поручик
 
29.11.10
20:27
(18)
Пустой реквизит составного типа = Неопределено
20 captain
 
29.11.10
20:53
Всем спасибо!
Основная теорема систематики: Новые системы плодят новые проблемы.