Текущая версия:
// Ссылка на объект базы из навигационной ссылки.
//
// Параметры:
// НавигационнаяСсылка - Строка
//
// Возвращаемое значение:
// ЛюбаяСсылка
Функция СсылкаИзНавигационной(Знач НавигационнаяСсылка) Экспорт
ЧастиПутиСсылки = СтрРазделить(НавигационнаяСсылка, "/");
Если ЗначениеЗаполнено(ЧастиПутиСсылки) Тогда
ОписаниеСсылки = ЧастиПутиСсылки[ЧастиПутиСсылки.ВГраница()];
ЧастиСсылки = СтрРазделить(ОписаниеСсылки, "?");
Если ЧастиСсылки.Количество() = 2 Тогда
ИмяТипа = ЧастиСсылки[0];
ИмяТипа = СтрЗаменить(ИмяТипа, ".", "Ссылка.");
GUID = СтрЗаменить(ЧастиСсылки[1], "ref=", "");
Идентификатор = УникальныйИдентификаторИзGUID(GUID);
ПараметрыКонструктора = Новый Массив(1);
ПараметрыКонструктора[0] = Идентификатор;
Возврат Новый(ИмяТипа, ПараметрыКонструктора); //ЛюбаяСсылка
КонецЕсли;
КонецЕсли;
ВызватьИсключение "Неверный формат навигационной ссылки!";
КонецФункции
Текущая версия: