База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как проверить тип ссылки в 1С 8.x? › Ответ в теме: Как проверить тип ссылки в 1С 8.x?
Проверка типа ссылки в 1С 8.x делается через функцию ТипЗнч() и сравнение с типом нужного справочника, документа или другого объекта.
Пример кода для проверки, что переменная Ссылка является ссылкой на справочник «Контрагенты»:
|
1 2 3 |
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.Контрагенты") Тогда // Это ссылка на справочник Контрагенты КонецЕсли; |
Для документа, например «РеализацияТоваровУслуг»:
|
1 2 3 |
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда // Это ссылка на документ РеализацияТоваровУслуг КонецЕсли; |
Если нужно проверить, что ссылка относится к определённому типу (например, любой справочник), можно проверить по базовому типу:
|
1 2 3 |
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка") Тогда // Это ссылка на любой справочник КонецЕсли; |
Или для документов:
|
1 2 3 |
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка") Тогда // Это ссылка на любой документ КонецЕсли; |
Если нужно проверить, что значение вообще является ссылкой (любого типа), можно сделать так:
|
1 2 3 |
Если ТипЗнч(Ссылка) = Тип("СправочникСсылка") Или ТипЗнч(Ссылка) = Тип("ДокументСсылка") Тогда // Это ссылка на справочник или документ КонецЕсли; |
Для перечислений:
|
1 2 3 |
Если ТипЗнч(Значение) = Тип("ПеречислениеСсылка.ИмяПеречисления") Тогда // Это ссылка на элемент перечисления КонецЕсли; |
Если нужно проверить, что ссылка не пустая и не битая, то дополнительно проверяйте:
|
1 2 3 |
Если НЕ Ссылка.Пустая() Тогда // Ссылка не пустая КонецЕсли; |
Для проверки битой ссылки (ссылка на удалённый объект) в 1С 8.x можно использовать метод ПолучитьОбъект():
|
1 2 3 4 5 6 7 8 9 10 |
Попытка Объект = Ссылка.ПолучитьОбъект(); Если Объект = Неопределено Тогда // Битая ссылка Иначе // Ссылка валидна КонецЕсли; Исключение // Ошибка при получении объекта - возможно пустая ссылка КонецПопытки; |
Рекомендую посмотреть здесь для подробностей и примеров:
https://infostart.ru/1c/articles/175898/
https://helpf.pro/faq/view/10.html