![]() |
![]() |
|
Как проверить на пустую ссылку документ, не зная его вид? | ☑ | ||
---|---|---|---|---|
0
НикДляЗапросов
23.04.09
✎
13:07
|
Док может быть разных типов, как проверить пуста ли ссылка?
|
|||
1
ДенисЧ
23.04.09
✎
13:08
|
ПустоеЗначение()
Выбран() |
|||
2
Нуф-Нуф
23.04.09
✎
13:09
|
сокрЛП()=""
|
|||
3
НикДляЗапросов
23.04.09
✎
13:10
|
Ошибочка На v8
|
|||
4
Подводный Таракан
23.04.09
✎
13:10
|
кстати иногда (2) действеннее на порядок, чем ПустоеЗначение() =)
|
|||
5
Господин ПЖ
23.04.09
✎
13:11
|
НЕ ЗначениеЗаполнено()
|
|||
6
Подводный Таракан
23.04.09
✎
13:11
|
(3) неопределено
|
|||
7
Sakura
23.04.09
✎
13:13
|
Ссылка.Пустая() не катит?
|
|||
8
duk337
23.04.09
✎
13:19
|
Вместо документа нафинг = Емпти(док)
//=== Оптимизированный аналог "ПустоеЗначение()" Функция Емпти(Значение,НеПроверятьЗаполнение=Истина) Экспорт //"NULL" тоже входит Если СокрЛП(""+Значение)="" Тогда Возврат Истина;КонецЕсли; Если Значение=Неопределено Тогда Возврат Истина;КонецЕсли; ф="<Объект не найден>"; Если Лев(""+Значение,СтрДлина(ф))=ф Тогда Возврат Истина;КонецЕсли; //========= Результат = Ложь; ТипЗначения = ТипЗнч(Значение); Если ТипЗначения=Тип("Число") Тогда Если Значение = 0 Тогда Результат = Истина;КонецЕсли; ИначеЕсли ТипЗначения = Тип("Дата") Тогда Если Значение = Дата('00010101') Тогда Результат = Истина;КонецЕсли; ИначеЕсли ТипЗначения = Тип("Булево") Тогда Результат = Ложь; // Булево будем считать не пустым //Отдельное определение, так как конструкторов данного типа не существует ИначеЕсли ТипЗначения = Тип("РежимПроведенияДокумента") Тогда ИначеЕсли НеПроверятьЗаполнение Тогда Если Значение = РежимПроведенияДокумента.Неоперативный или Значение = РежимПроведенияДокумента.Оперативный тогда Результат = Ложь; КонецЕсли; // Для остальных будем считать значение пустым, если оно равно // дефолтному значению своего типа ИначеЕсли НеПроверятьЗаполнение Тогда Возврат Ложь; Иначе Попытка Если Значение = Новый(ТипЗначения) Тогда Результат = Истина; КонецЕсли; Исключение Результат = Ложь; КонецПопытки; КонецЕсли; Возврат Результат; КонецФункции // ЗначениеНеЗаполнено() |
|||
9
НикДляЗапросов
23.04.09
✎
13:22
|
Отличные варианты, может еще кто знает, как проверить документ на пустую ссылку внутри текста запроса? Можно конечно позже поотсекать, но хотелось бы сразу
|
|||
10
Господин ПЖ
23.04.09
✎
13:26
|
там вид надо знать
|
|||
11
Господин ПЖ
23.04.09
✎
13:27
|
Значение(Документ.Блабла.ПустаяСсылка), если реквизит документа не составной. Если составной - хватит Неопределено
|
|||
12
Fragster
гуру
23.04.09
✎
13:27
|
Есть NULL если специально ПустаяССылка не запихивали
|
|||
13
Господин ПЖ
23.04.09
✎
13:29
|
а ЕСТЬ NULL будет работать на пустой ссылке?
NULL БД <> полю с пустой ссылкой на документ. |
|||
14
Defender aka LINN
23.04.09
✎
13:30
|
А если там не пустая ссылка, а Неопределено?
|
|||
15
73
23.04.09
✎
13:36
|
ГДЕ
ТТТТТ.Док.Номер Есть Null |
|||
16
НикДляЗапросов
23.04.09
✎
14:11
|
Не подходит есть нуль
|
|||
17
73
23.04.09
✎
14:51
|
У меня подходит.
ЗЫ. Не Док Есть Null, а Номер его. |
|||
18
Terv
23.04.09
✎
14:54
|
имеется ввиду проверить любое поле ссылки, у постой оно будет равное NULL
|
|||
19
Terv
23.04.09
✎
14:54
|
(18) -> (16)
|
|||
20
Mort
23.04.09
✎
14:54
|
||||
21
Господин ПЖ
23.04.09
✎
14:56
|
(15) ну .Номер ежу понятно что NULL будет
|
|||
22
СноваЗдорова
23.04.09
✎
14:59
|
(0) Либо будет указан тип, либо значение будет неопределено. Так и проверяй.
|
|||
23
Serg_1960
23.04.09
✎
15:02
|
(0) А автору проверка нужна в запросе или как?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |