Как определить программно ссылка битая или нет ? #627015


#0 by EarthsSoul
Здравствуйте Нужно определить ссылка битая или нет, и не хочется использовать конструкцию: попытка ... исключение. Как определить программно, ссылка битая или нет ?
#1 by EarthsSoul
Похоже ничего лучше чем Если БИТАЯССЫЛКА.ПолучитьОбъект = Неопределено тогда уже не найти...
#2 by kosts
можно попробовать запрос
#3 by shuhard
+1 код для справочника номер для документа
#4 by Sammo
Кстати, емнип запрос у меня получился быстрее, чем получитьобъект
#5 by DosBot
могу предложить код сомнительного качества, но работает всегда, даже в случае, если ссылки нема из-за РЛС:
#6 by DosBot
#7 by rs_trade
нормальный код. по крайней мере он быстрее в тысячу раз чем вариант в
#8 by Рэйв
#9 by Starhan
ЕМНИП в запросе. ГДЕ (НЕ Объект Есть NULL) И (Объект.Ссылка Есть NULL)
#10 by DosBot
честно говоря, помозговав на эту тему и выбирая из множества вариантов, пожалуй да, он нормальный. Ввиду того, что объектов с представлением "<Объект не найден>" уж точно не будет :)
#11 by Рэйв
для пущей уверенности можно
#12 by andrewks
зависит от типа объекта - сколько и каких у него реквизитов, ТЧ
#13 by andrewks
не зачёт
#14 by hhhh
а откуда сведения, что быстрее? Ведь платформа тоже неявно выполняет команду ПолучитьОбъект, и после этого уже пишет "Объект не найден".
#15 by Sammo
Хм. А если кто-то создаст элемент справочника с таким наименованием и основным представлением по наименованию? Просто чтобы потролить?
#16 by andrewks
не-не-не, не путай, представление есть всегда, за ним в БД не лезут
#17 by DosBot
вероятность этого идиотизма намного меньше, чем вред от рассуждений на тему как бы идеально-универсально узнать битость объекта :)
#18 by DosBot
+ если захочется потроллить - есть масса других вариантов.. %)
#19 by DosBot
а главное в работает даже в случае RLS - когда нельзя обращаться к другим реквизитам.. и Попытка Исключение не нужны..
#20 by andrewks
пока (внезапно) не найдётся клиент с интерфейсом на другом языке?
#21 by GaikA_13rus
#22 by hhhh
то есть вы намекаете, что представление всегда считывается из базы вместе со ссылкой? И хранится в памяти? Но это же нерационально. Может оно не понадобится, зачем его каждый раз грузить?
#23 by DosBot
Если делаешь нетленку с расчётом на международный уровень тогда конечно - не. Просто это самый простой способ, и конечно, не самый надёжный
#24 by rs_trade
что же выбрать? 1. Тормозной способ работающий в 100% случаев 2. Быстрый способ работающий в 99% случаев? я бы выбрал второе. уж больно ПолучитьОбъект грузит систему.
#25 by DosBot
а вот интересно, чего выдаст платформа вместо <Объект не найден> в отладчике, на другом языке?? есть возможность проверить?
#26 by DosBot
<Object not found> и т.п.??
#27 by DosBot
можно в конце концов проверить, если основной язый русский тогда Найти, иначе ПолучитьОбъект
#28 by andrewks
я бы выбрал 3. запрос
#29 by andrewks
на то оно и представление
#30 by Sammo
Да. Для английского, разумеется
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С