|
Проверка на пустоту поля.... |
☑ |
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
|
И тогда не совсем корректное описаниедля Пустая() в СП.
Возвращаемое значение:
Тип: Булево.
Истина - ссылка не указывает ни на какой объект (пустая ссылка); Ложь - в противном случае.
Как бы битая ссылка тоже не указывает ни на какой объект в базе, а возвращает Ложь. Правда в скобочках уточняют, что они имеют ввиду.
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой