Можно ли без перебора метаданных найти ссылку по GUID? #276866


#0 by Гений 1С
А то метод ПолучитьСсылку работает только для конкретного менеджера. А если я не знаю тип?
#1 by ТелепатБот
#2 by Гений 1С
ап
#3 by Ferz
только через SQL
#4 by FLENDGER
офф: гениальное решение - сразу пиши в книгу знаний... тупой перебор - рулит... я так чувствую, ты во всех случаях, когда не можешь придумать хоть какое-то реальное решение, просто прогоняешь данные через тупой перебор... сочувствую тем, кто пользуется твоими поделками :(
#5 by FLENDGER
+4 создаем рег. сведений, в который пишем при записи объектов ссылки и в качестве ресурса - тип объекта или имя из метаданных... а потом просто ищем ссылку в этом регистре... :)
#6 by Гений 1С
Хахаха.... А про транзакционную нагрузку на базу ты подумал? К тому же это не универсальное и даже вредное явление. Яйца курицу учат? Гыгыгы
#7 by MRAK
ужос
#8 by PowerBoy
Тоже, искал решение и не нашел. Делал перебором из списка. Кстати РезСсылка.ПолучитьОбъект работает очень, очень медленно. Строка(РезСсылка) = "" работает в два раза быстрей, но тоже медленно.
#9 by НЕА123
ОФФ Справочники[МД.Имя] в контексте можно просто МД.
#10 by FLENDGER
то Вот в такая же бредовая хрень, как и в ... Особенно в плане того, чтобы пихать подобные хрени в КЗ... А вот теперь иди и считай, сколько такой хрени ты занес в КЗ, где неопытные вместо того, чтобы найти что-нибудь стоящее, забивают голову ерундой... P.S. какова задача - такого решение... чтобы получить запросом данные по гуиду, надо чтобы он был там в той форме, куда позволяет доставать запрос... отсюда и решение ;) а теперь попробуй доказать, что на данный момент есть еще решение, при котором ты ЗАПРОСОМ вытянешь ссылку по гуиду... PPS а про курицу мне понравилось... :)
#11 by dolter
А откуда взят ГУИД? если из таблицы, то можно для ускорения перебора узнать ограничения типа...
#12 by НЕА123
Параметры: <Список ссылок> (обязательный) Тип: Массив. Массив со списком ссылок на объекты, ссылки на которые нужно найти. Возвращаемое значение: Тип: ТаблицаЗначений. Возвращает ссылки на найденные объекты в виде ТаблицаЗначений, состоящей из колонок с индексами: 0 - искомая ссылка; 1 - ссылка на объект, если найденная ссылка соответствует объектной таблице или значение, идентифицирующее запись необъектной таблицы; 2 - объект метаданных, которому соответствуют данные, в которых найдена ссылка. Описание: Осуществляет поиск ссылок на объекты, переданные в параметре <Список ссылок>.
#13 by НЕА123
-точно, бред. не читать.:((
#14 by Леха Дум
а какая разница, нам ведь нужно гениальное решение. гы куриц всегда с динозаврами сравниваю - после просмотра фильма "парк юрского периода"
#15 by Гений 1С
я так и понял. ваш бред не осилил. При чем здесь запросом. Задача четкая - есть GUID, нужно найти объект. НАпример, если данные пришли из журнала регистрации. Для универсальности ищу решение, когда вид ссылки неизвестен.
#16 by Wladimir_spb
Запросом можно, но не уверен, что будет быстрее, чем .
#17 by Гений 1С
да, запросом можно, но тоже не уверен, а если сразу по всем тэйблам, можно напороться на ошибку 255 таблиц. ;-) или только порциями по 255 таблиц, тогда можно. ;-)
#18 by FarFar
Интересно,в 8.1 упростили поиск по ГУИДу?
#19 by Гений 1С
с чего бы это, гыгыгы...
#20 by oleg_km
В запросах ГУИД тоже недоступен, только в объекте
#21 by Гений 1С
а да, точно. ;-)
#22 by РазДва
Если говорить про универсальность, то может быть ситуация, когда два элемента РАЗНЫХ справочников или документов имеют одинаковый ГУИД.
#23 by Ferz
нужно проверить.. вероятность ничтожна
#24 by РазДва
Если вы напишете при создании элемнетов УстановитьСсылкуНового(ОдинаковыйГУИД), то вероятность будет 100%. На вероятность нельзя полагаться при универсальном решении.
#25 by НЕА123
+ ЗначениеВСТрокуВнутр(Объект.Ссылка) выдает нечто1. Объект.Ссылка.УникальныйИдентийикатор тоже выдает нечто2. Нечто2 являнтся подмножеством Нечто1. (все перетасовано, но видно).
#26 by Immortal
мням..надо повернуть задачу в другую плоскость.. исать тип объекта.
#27 by Immortal
искать то есть..
#28 by Immortal
в гуиде есть информация о таблице в которой храниццо элемент или нет?
#29 by НЕА123
- судя по - нет. +(РазДва).
#30 by Immortal
мдамс.. странно.
#31 by Гений 1С
Ничего странного, так задумано. В GUID нет типа объекта, иначе бы не хватило места на уникальность.
#32 by Immortal
ты неправ.. есть там привязка или нет к таблице при формировании гуида никак не скажется на уникальности. если только на очень больших объёмах записей(~триллионы)
#33 by FLENDGER
Если есть задача оптимизировать данную процедуру в , если возможность не использовать ПолучитьОбъект, который работает очень медленно, кроме того обращается к базе и требует от пользователя дополнительных прав на объекты... В качестве альтернативы можно использовать подобную функцию Функция ПроверитьСсылку(Знач Ссылка, Знач Гуид) Алгоритм не оптимален, но в принципе довольно надежен...
#34 by Гений 1С
клево, слушай, а разве запрос в представлении не вернет для несущетвующего объекта Объект не найден? Тогда можно и запросом шебуршать, строго порциями по 255 таблиц, гыгыгы...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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