• 0

Как найти объект по гуиду?


evilfrog
 Поделиться

Вопрос

Как найти объект по гуиду, а если его нет вернуть неопределено?

chetyre-zajca-na-zel-nom-fone.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 1

Способ может быть не самый лучший, но работает. Если мы знаем, в каких метаданных мы ищем, то все предельно просто:

Создаем уникальный идентификатор с имеющимся у нас текстом ГУИДа и пользуемся замечательной функцией "ПолучитьСсылку".

ГУИД = Новый УникальныйИдентификатор(СтрокаГУИД);

НайденнаяСсылка = <НашиМетаданные>.<НашаТаблица>.ПолучитьСсылку(ГУИД);

Если мы не знаем, к каким метаданным относится объект с нашим ГУИДом, то придется перебрать все метаданные и таблицы. Как правило задача эта довольно своеобразная, но если уж вам понадобилось искать объект по всей базе по ГУИДу, то элементарная база у вас есть, а написать алгоритм для обхода всех метаданных для вас труда не составит.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • 1

Если известно, где искать, то можно найти объект так:
Гуид = 44b3v4234v23v4234;
ОбъектСсылка = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(Гуид);

Если неизвестно, где искать, то пройтись по всем метаданным.

Возврат ОбъектСсылка.ПолучитьОбъект(); - если объекта нет, то вернет неопределено.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти