Открыть навигационную ссылку. Открывает навигационную ссылку в программе, которая ассоциирована с протоколом навигационной ссылки.
// Открывает навигационную ссылку в программе, которая ассоциирована с протоколом навигационной ссылки.
//
// Допустимые протоколы: http, https, e1c, v8help, mailto, tel, skype.
//
// Для открытия проводника или файла в программе просмотра не следует формировать ссылку по протоколу file://
// - для открытия проводника см. ОткрытьПроводник.
// - для открытия файла по расширению см. ОткрытьФайлВПрограммеПросмотра.
//
// Параметры:
// НавигационнаяСсылка - Строка - ссылка, которую требуется открыть.
// Оповещение - ОписаниеОповещения - оповещение о результате открытия.
// если оповещение не задано, в случае ошибки будет показано предупреждение.
// - ПриложениеЗапущено - Булево - Истина, если внешнее приложение не вызвало ошибок при открытии.
// - ДополнительныеПараметры - Произвольный - значение, которое было указано при создании объекта ОписаниеОповещения.
//
// Пример:
// ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку("e1cib/navigationpoint/startpage"); // начальная страница.
// ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку("v8help://1cv8/QueryLanguageFullTextSearchInData");
// ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку("https://1c.ru");
// ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку("mailto:help@1c.ru");
// ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку("skype:echo123?call");
//
Процедура ОткрытьНавигационнуюСсылку(НавигационнаяСсылка, Знач Оповещение = Неопределено) Экспорт
// АПК:534-выкл методы безопасного запуска обеспечиваются этой функцией
Контекст = Новый Структура;
Контекст.Вставить("НавигационнаяСсылка", НавигационнаяСсылка);
Контекст.Вставить("Оповещение", Оповещение);
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось перейти по ссылке ""%1"" по причине:
|Неверно задана навигационная ссылка.'"),
НавигационнаяСсылка);
Если Не ФайловаяСистемаСлужебныйКлиент.ЭтоДопустимаяСсылка(НавигационнаяСсылка) Тогда
ФайловаяСистемаСлужебныйКлиент.ОткрытьНавигационнуюСсылкуОповеститьОбОшибке(ОписаниеОшибки, Контекст);
ИначеЕсли ФайловаяСистемаСлужебныйКлиент.ЭтоВебСсылка(НавигационнаяСсылка)
Или ОбщегоНазначенияСлужебныйКлиент.ЭтоНавигационнаяСсылка(НавигационнаяСсылка) Тогда
Попытка
#Если ТолстыйКлиентОбычноеПриложение Тогда
// Особенность платформы: ПерейтиПоНавигационнойСсылке не доступен в толстом клиенте обычного приложения.
Оповещение = Новый ОписаниеОповещения(
,, Контекст,
"ОткрытьНавигационнуюСсылкуПриОбработкеОшибки", ФайловаяСистемаСлужебныйКлиент);
НачатьЗапускПриложения(Оповещение, НавигационнаяСсылка);
#Иначе
ПерейтиПоНавигационнойСсылке(НавигационнаяСсылка);
#КонецЕсли
Если Оповещение <> Неопределено Тогда
ПриложениеЗапущено = Истина;
ВыполнитьОбработкуОповещения(Оповещение, ПриложениеЗапущено);
КонецЕсли;
Исключение
ФайловаяСистемаСлужебныйКлиент.ОткрытьНавигационнуюСсылкуОповеститьОбОшибке(ОписаниеОшибки, Контекст);
КонецПопытки;
ИначеЕсли ФайловаяСистемаСлужебныйКлиент.ЭтоСсылкаНаСправку(НавигационнаяСсылка) Тогда
ОткрытьСправку(НавигационнаяСсылка);
Иначе
Оповещение = Новый ОписаниеОповещения(
"ОткрытьНавигационнуюСсылкуПослеПроверкиРасширенияРаботыСФайлами", ФайловаяСистемаСлужебныйКлиент, Контекст);
ТекстПредложения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для открытия ссылки ""%1"" необходимо установить расширение работы с файлами.'"),
НавигационнаяСсылка);
ПодключитьРасширениеДляРаботыСФайлами(Оповещение, ТекстПредложения, Ложь);
КонецЕсли;
// АПК:534-вкл
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
Получение ссылки по навигационной ссылке
ОткрытьНавигационнуюСсылкуПослеЗапускаПриложения (БСП)
ОткрытьНавигационнуюСсылкуПриОбработкеОшибки (БСП)
ОткрытьНавигационнуюСсылкуОповеститьОбОшибке (БСП)
ОткрытьНавигационнуюСсылкуПослеПроверкиРасширенияРаботыСФайлами (БСП)
Получить ссылку из навигационной ссылки