Имя: Пароль:
1C
1С v8
Как проверить, что в переменной записано значение какого-то справочника
0 smirnoww
 
21.03.13
10:42
В функцию приходит параметр.
Значением может быть как примитивный тип, так и элемент справочника, так и ссылка на документ
необходимо определить тип и в соответствии с ним преобразовать в строку по заданному формату.

Как определить, что значением параметра является ссылка на элемент какого-то справочника. не важно какого именно.

нашел только ТипЗнч(Значение) = Тип("СправочникСсылка.ВидыДоговорныхДокументов")
проверяет, что ссылка на конкретный справочник.

Как проверить, что на любой справочник?
1 ДенисЧ
 
21.03.13
10:43
Если Метаданные.Справочники.Содержит(Параметр.Метаданные()) ТОгда
2 smirnoww
 
21.03.13
10:46
Exception: Значение не является значением объектного типа (Метаданные)
3 ДенисЧ
 
21.03.13
10:47
(2) ну так в попытке проверяй. Если поймал исключение - значит, не справочник точно.
4 Галахад
 
гуру
21.03.13
10:48
Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Параметр))
5 hhhh
 
21.03.13
10:49
(2) на сервере надо проверять

Доступность:

Сервер, толстый клиент, внешнее соединение.
6 smirnoww
 
21.03.13
10:50
(5) на сервере и проверяю
7 ДенисЧ
 
21.03.13
10:51
(4) ну или так
8 smirnoww
 
21.03.13
10:52
(4) Спасибо!
Независимо от того, куда вы едете — это в гору и против ветра!