|
Как проверить ссылочность.
| ☑ |
0
mkalimulin
28.02.17
✎
18:52
|
Чет туплю под вечер. Как проверить, что значение - это ссылка на справочник или документ?
|
|
1
youalex
28.02.17
✎
18:55
|
(0) по типу: Справочники.ТипВсеСсылки().Содержит() и НЕ <> Неопределено
или через метаданные: Метаданные.Справочники.Содержит(Ссылка.Метаданные())
или Метаданные.Справочники.Содержит(Метаданные.НайтиПоТипу(ТипЗнч(
|
|
2
RomanYS
28.02.17
✎
19:07
|
(1)+1 правильно проверять тип, с метаданными можно получить ошибку.
В порядке бреда (я так не делаю))
Функция ЭтоСсылка(ТвояСсылка)
Попытка
Возврат ТвояСсылка.Ссылка = ТвояСсылка;
Исключение
КонецПопытки;
Возврат Ложь;
КонецФункции
|
|
3
mkalimulin
28.02.17
✎
19:08
|
(1) Спасибо.
|
|
4
vi0
28.02.17
✎
19:09
|
(2) неоптимальный вариант
будет обращение к БД
|
|
5
H A D G E H O G s
28.02.17
✎
19:09
|
(2) Хороший бред
|
|
6
RomanYS
28.02.17
✎
19:49
|
(4) это вообще не вариант.
Просто очень хотелось показать "рекурсивность" ссылки.
|
|
7
vi0
28.02.17
✎
19:50
|
(6) для чего?
лучше бы просто анекдот рассказал
|
|
8
mkalimulin
28.02.17
✎
20:19
|
(2) Да, метаданные дают ошибку. ТипВсеСсылки() работает. Спасибо.
|
|
9
mistеr
28.02.17
✎
21:39
|
(0) ПолноеИмя = ОбъектИлиСсылка.Метаданные().ПолноеИмя();
ВидОбъекта = Лев(ПолноеИмя, Найти(ПолноеИмя, ".")-1);
(2) какая может быть ошибка?
|
|
10
RomanYS
28.02.17
✎
21:44
|
(9) ОбъектИлиСсылка.Метаданные()
А если в ОбъектИлиСсылка неопредлено, число, строка, структура, ТЗ и ....?
|
|
11
mistеr
28.02.17
✎
21:46
|
(10) Ну если на входе что угодно может быть, тогда да, принимается.
|
|