Функция НайтиСсылкуПоУИД(знач УИД) Экспорт
ЭтоМассив = ТипЗнч(УИД) = Тип("Массив");
МассивУидов = Новый Массив;
Если ЭтоМассив Тогда
МассивУидов = УИД;
Иначе
МассивУидов.Добавить(УИД);
КонецЕсли;
Результат = Неопределено;
МассивМетаданных = Новый Массив;
МассивМетаданных.Добавить(Справочники);
МассивМетаданных.Добавить(Документы);
МассивМетаданных.Добавить(ПланыВидовХарактеристик);
МассивМетаданных.Добавить(ПланыСчетов);
МассивМетаданных.Добавить(ПланыВидовРасчета);
МассивМетаданных.Добавить(ПланыОбмена);
МассивМетаданных.Добавить(БизнесПроцессы);
МассивМетаданных.Добавить(Задачи);
МассивТипов = Новый Массив;
Для Каждого СтрМетаданное Из МассивМетаданных Цикл
Для Каждого Стр Из СтрМетаданное.ТипВсеСсылки().Типы() Цикл
МассивТипов.Добавить(Стр);
КонецЦикла;
КонецЦикла;
ТаблицаСсылок = Новый ТаблицаЗначений;
ТаблицаСсылок.Колонки.Добавить("УИД" , Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(36)));
ТаблицаСсылок.Колонки.Добавить("Ссылка" , Новый ОписаниеТипов(МассивТипов));
Для Каждого СтрМетаданное Из МассивМетаданных Цикл
Для Каждого Менеджер Из СтрМетаданное Цикл
Для Каждого СтрУИД Из МассивУидов Цикл
Попытка
НовСтр = ТаблицаСсылок.Добавить();
НовСтр.Ссылка = Менеджер.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрУИД));
НовСтр.УИД = СтрУИД;
Исключение
КонецПопытки;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТаблицаСсылок.Ссылка КАК Ссылка,
| ТаблицаСсылок.УИД КАК УИД
|ПОМЕСТИТЬ ВТ
|ИЗ
| &ТаблицаСсылок КАК ТаблицаСсылок
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ.Ссылка КАК Ссылка,
| ВТ.УИД КАК УИД
|ИЗ
| ВТ КАК ВТ
|ГДЕ
| НЕ ВТ.Ссылка.ПометкаУдаления ЕСТЬ NULL";
Запрос.УстановитьПараметр("ТаблицаСсылок",ТаблицаСсылок);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Если ЭтоМассив Тогда
Результат = РезультатЗапроса.Выгрузить();
Иначе
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВыборкаДетальныеЗаписи.Следующий();
Результат = ВыборкаДетальныеЗаписи.Ссылка;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции // НайтиСсылкуПоУИД