|
Проверка на пустоту поля.... | ☑ | ||
---|---|---|---|---|
0
ДенисЧ
24.07.13
✎
09:31
|
Есть форма. Или справочник. Или выборка... Неважно.
В ней есть поле типа СправочникСсылка.ТакойТо. Как правильней проверять наличие в нём значение: через ЗначениеЗаполнено() или Реквизит.Пустая()? Что скажет разум коллективный? |
|||
1
Ork
24.07.13
✎
09:35
|
(0)
ЧистаКанкретнаСемерочная ИМХА : Если тип "СправочникСсылка.ТакойТо" то ссылка есть всегда. Хотя бы и пустая. В случае с ЗначениеЗаполнено() еще нужно разобрать тип. А потом только Пустая(). Посему Пустая() должно быть эффективней. ЗначениеЗаполнено() - универсальней. |
|||
2
Cherokee
24.07.13
✎
09:36
|
По скорости хз. Если реквизит имеет жесткий тип, то тогда пофиг. Если может быть "Неопределено", то тогда Пустая() не сработает, а сработает только ЗначениеЗаполнено().
Если передаешь объект, а не ссылку, то тогда ЗначениеЗаполнено() тоже по идее не сработает. |
|||
3
viktor_vv
24.07.13
✎
09:39
|
(1) А разве значениеЗапонено не проверяет просто заполненность, не важно чем и как ?
Пустая(), по идее, должна дернуть базу, для проверки найдет что-то по ссылке или нет. Ну это так, фантазии на тему. |
|||
4
Cherokee
24.07.13
✎
09:40
|
(3) ЗначениеЗаполнено() не работает с мутабельными значениями. ВРоде как. Проверять не пытался.
|
|||
5
ДенисЧ
24.07.13
✎
09:42
|
(4) Кстати да, иногда такое бывает...
|
|||
6
viktor_vv
24.07.13
✎
09:42
|
(3)+ Хотя почитал СП :), таки да, как минимум тип значения должна определить плюс сравнение со значением по умолчанию.
|
|||
7
viktor_vv
24.07.13
✎
09:43
|
(4) Ну в СП это явно написано
"Не работает с мутабельными значениями. При передаче мутабельного значения функция вызывает исключение." |
|||
8
viktor_vv
24.07.13
✎
09:54
|
И на мой взляд для битой ссылки они вернут разный результат.
Пустая() вернет истина, а ЗначениеЗаполнено() вернет истину. |
|||
9
viktor_vv
24.07.13
✎
10:05
|
(8)+ Не, нихрена. Одинаково работают.
|
|||
10
mikecool
24.07.13
✎
10:06
|
(9) а ты одинаково сразу написал )
|
|||
11
viktor_vv
24.07.13
✎
10:07
|
(10) Имелосьь ввиду, что результат Итсина для них разное значение имеет.
|
|||
12
Ненавижу 1С
гуру
24.07.13
✎
10:08
|
я за ЗначениеЗаполнено ибо бывает жеж Неопределено и NULL
|
|||
13
viktor_vv
24.07.13
✎
10:12
|
И тогда не совсем корректное описаниедля Пустая() в СП.
Возвращаемое значение: Тип: Булево. Истина - ссылка не указывает ни на какой объект (пустая ссылка); Ложь - в противном случае. Как бы битая ссылка тоже не указывает ни на какой объект в базе, а возвращает Ложь. Правда в скобочках уточняют, что они имеют ввиду. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |