К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как перейти по внешней ссылке из 1С

Как открыть внешнюю ссылку из 1С: переход по гиперссылке в форме, команды НачатьЗапускПриложения и ПерейтиПоНавигационнойСсылке, настройка браузера и решение ошибок.

Под «переходом по внешней ссылке» в 1С обычно понимают две разные задачи. Первая — пользовательская: в документе, письме или форме есть гиперссылка на сайт, и нужно открыть её в браузере. Вторая — прикладная: из кода на встроенном языке требуется программно открыть веб-страницу, файл или другую программу. Оба сценария решаются штатными средствами платформы, но у каждого есть свои ограничения и подводные камни.

В тонком и толстом клиенте переход по ссылке выполняется через браузер, назначенный в операционной системе по умолчанию. В веб-клиенте ссылка открывается в новой вкладке того же браузера, в котором запущена 1С. Если переход не работает, причина почти всегда в настройках безопасности, неправильно сформированном URL или ограничениях веб-клиента.

Как открыть гиперссылку в форме 1С без программирования

В типовых конфигурациях гиперссылки встречаются повсюду: в печатных формах, электронных письмах, полях с адресами сайтов контрагентов, в новостных лентах на начальной странице. Обычно такая ссылка выглядит как подчёркнутый текст синего цвета. Достаточно щёлкнуть по ней один раз — платформа передаст адрес операционной системе, и страница откроется в браузере по умолчанию.

Если ссылка выглядит как обычный текст и не реагирует на клик, проверьте, не находитесь ли вы в режиме редактирования поля. В некоторых полях ввода гиперссылка активируется только в режиме просмотра либо по клику с зажатой клавишей Ctrl. В табличных документах (например, в печатной форме) ссылка срабатывает по одиночному клику, если ячейке назначено расшифровочное действие.

Для полей, где адрес введён как простая строка (например, «Сайт» в карточке контрагента), часто рядом есть кнопка с пиктограммой перехода. Если её нет, скопируйте адрес вручную: выделите текст, нажмите Ctrl+C и вставьте в адресную строку браузера. Это надёжный запасной вариант, когда автоматический переход недоступен.

Программный переход по ссылке из кода 1С

Основной способ открыть веб-страницу из встроенного языка — команда ПерейтиПоНавигационнойСсылке. Она принимает строку с полным URL и передаёт её обработчику ссылок операционной системы. Метод доступен на клиенте и работает в тонком, толстом и веб-клиенте, что делает его предпочтительным для типовых задач.

Пример простейшего вызова из команды формы:

&НаКлиенте

Процедура ОткрытьСайт(Команда)

ПерейтиПоНавигационнойСсылке("https://example.com/page");

КонецПроцедуры

Обратите внимание: адрес должен начинаться с протокола (http:// или https://). Если передать строку вида «example.com» без протокола, платформа может интерпретировать её как внутреннюю навигационную ссылку информационной базы, и переход завершится ошибкой или откроет несуществующий объект.

Альтернативные способы: запуск браузера и открытие файлов

Когда требуется больше контроля — например, открыть ссылку в конкретном браузере или дождаться завершения запуска, — используют методы работы с приложениями. В современных версиях платформы это асинхронный НачатьЗапускПриложения, в устаревших — ЗапуститьПриложение. Если передать такому методу URL, система откроет его в браузере по умолчанию.

&НаКлиенте

Процедура ОткрытьВБраузере(Команда)

Оповещение = Новый ОписаниеОповещения("ПослеЗапуска", ЭтотОбъект);

НачатьЗапускПриложения(Оповещение, "https://example.com");

КонецПроцедуры

Для открытия локальных файлов (PDF, картинок, документов Office), на которые указывает «ссылка» вида пути к файлу, применяется ФайловаяСистема.ОткрытьФайл или НачатьЗапускПриложения с путём к файлу. Система сама подберёт ассоциированное приложение. Учтите, что пути вида \\server\share\file.pdf требуют доступа к сетевому ресурсу у текущего пользователя.

Сравнение способов открытия ссылки

ПерейтиПоНавигационнойСсылке

Простейший вариант для веб-адресов; работает в веб-клиенте; нет обратного вызова о результате

НачатьЗапускПриложения

Позволяет указать конкретный браузер и получить оповещение о запуске; в веб-клиенте ограничен политиками безопасности

ФайловаяСистема.ОткрытьФайл

Для локальных и сетевых файлов; открывает документ в ассоциированной программе, а не в браузере

Настройка браузера по умолчанию и прав пользователя

Если при клике по ссылке открывается «не тот» браузер или не открывается ничего, проблема почти всегда на стороне операционной системы. В Windows проверьте раздел «Параметры → Приложения → Приложения по умолчанию» и убедитесь, что для протоколов HTTP и HTTPS назначен нужный браузер. После смены браузера по умолчанию перезапускать 1С обычно не требуется.

В терминальных сессиях и при работе через RDP переход может блокироваться политиками безопасности сервера. Признак такой ситуации: ссылка «молча» не открывается ни у одного пользователя терминального сервера. В этом случае вопрос решается администратором — разрешением запуска браузера в сессии или настройкой перенаправления.

В веб-клиенте блокировщик всплывающих окон браузера может запретить открытие новой вкладки, особенно если переход инициирован не прямым кликом пользователя, а программным вызовом. Разрешите всплывающие окна для адреса сервера 1С в настройках браузера.

Обработка ссылок в полях формы и табличных документах

Разработчику часто нужно сделать собственный реквизит «кликабельным». Для поля ввода в управляемой форме установите свойство Гиперссылка в значение «Истина» и обработайте событие Нажатие или используйте декорацию с гиперссылкой и событием Нажатие, внутри которого вызовите ПерейтиПоНавигационнойСсылке.

В табличном документе клик по ячейке обрабатывается через событие ОбработкаРасшифровки поля табличного документа. Если в расшифровку ячейки поместить строку с URL, в обработчике можно распознать её и открыть в браузере. Так реализуют, например, переход на карточку заказа поставщика на сайте из отчёта.

&НаКлиенте

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

Если ТипЗнч(Расшифровка) = Тип("Строка")

И СтрНачинаетсяС(Расшифровка, "http") Тогда

СтандартнаяОбработка = Ложь;

ПерейтиПоНавигационнойСсылке(Расшифровка);

КонецЕсли;

КонецПроцедуры

bsl
&НаКлиенте
Процедура СайтКонтрагентаНажатие(Элемент)
	Если ЗначениеЗаполнено(Объект.Сайт) Тогда
		Адрес = Объект.Сайт;
		Если Не СтрНачинаетсяС(Адрес, "http") Тогда
			Адрес = "https://" + Адрес;
		КонецЕсли;
		ПерейтиПоНавигационнойСсылке(Адрес);
	КонецЕсли;
КонецПроцедуры

Типичные ошибки и их устранение

Самая частая ошибка — отсутствие протокола в адресе. Вторая по распространённости — попытка открыть ссылку в серверном коде, где клиентские методы недоступны. Третья — кириллические символы и пробелы в URL: их следует кодировать, иначе браузер может получить обрезанный или испорченный адрес.

Если ссылка содержит параметры с русскими буквами, используйте кодирование URL. В платформе для этого есть функция КодироватьСтроку с параметром способа кодирования СпособКодированияСтроки.КодировкаURL. Это особенно актуально при формировании ссылок на поисковые запросы или страницы с параметрами.

Типичные ошибки
01
URL без протокола: строка "site.ru" воспринимается как внутренняя ссылка базы — всегда добавляйте https://
02
Вызов ПерейтиПоНавигационнойСсылке на сервере: метод клиентский, переносите вызов в процедуру &НаКлиенте
03
Пробелы и кириллица в адресе без кодирования: браузер получает битый URL — применяйте КодироватьСтроку
04
Ожидание результата от ПерейтиПоНавигационнойСсылке: метод не сообщает, открылась ли страница, — для контроля используйте НачатьЗапускПриложения
Контрольные точки

Как проверить результат

Клик по гиперссылке в форме
Норма

Страница открывается в браузере по умолчанию

Тревожный признак

Ничего не происходит или открывается не тот браузер — проверьте настройки ОС

Программный вызов из кода
Норма

Выполняется клиентская процедура, браузер открывает нужный URL

Тревожный признак

Ошибка «Метод не обнаружен» — вызов идёт на сервере

Веб-клиент
Норма

Новая вкладка открывается в том же браузере

Тревожный признак

Вкладка блокируется — разрешите всплывающие окна для сайта

Часто задаваемые вопросы

Почему при клике по ссылке в 1С ничего не происходит?

Чаще всего в операционной системе не назначен браузер по умолчанию для протоколов HTTP/HTTPS либо запуск браузера заблокирован политиками терминального сервера. Проверьте приложения по умолчанию в настройках Windows и попробуйте открыть любую ссылку из другой программы — если не работает и там, проблема не в 1С.

Как открыть ссылку в конкретном браузере, а не в браузере по умолчанию?

Используйте НачатьЗапускПриложения, указав первым параметром путь к исполняемому файлу браузера, а адрес страницы — как параметр командной строки. Например, путь к chrome.exe и через пробел URL. Учтите, что на разных компьютерах пути установки браузера различаются.

Работает ли переход по ссылке в веб-клиенте 1С?

Да, ПерейтиПоНавигационнойСсылке в веб-клиенте открывает страницу в новой вкладке текущего браузера. Ограничение: браузер может заблокировать вкладку как всплывающее окно, если вызов не связан с прямым действием пользователя. Разрешите всплывающие окна для адреса веб-сервера 1С.

Как сделать кликабельной ссылку в печатной форме документа?

При формировании табличного документа поместите URL в свойство расшифровки нужной ячейки, а в модуле формы отчёта обработайте событие ОбработкаРасшифровки: проверьте, что расшифровка — строка с адресом, отключите стандартную обработку и вызовите ПерейтиПоНавигационнойСсылке.

Можно ли открыть файл по сетевому пути как по ссылке?

Да, передайте путь вида \\сервер\папка\файл.pdf в ФайловаяСистема.ОткрытьФайл или НачатьЗапускПриложения — файл откроется в ассоциированной программе. У пользователя должен быть сетевой доступ к ресурсу, иначе появится ошибка открытия.

Чем отличается навигационная ссылка внутри базы от внешней ссылки?

Внутренняя навигационная ссылка указывает на объект информационной базы (документ, элемент справочника) и открывает его форму внутри 1С. Внешняя ссылка начинается с http:// или https:// и передаётся браузеру. При программном переходе платформа различает их по формату строки.

Итог

Что важно запомнить

Обычный пользователь открывает внешнюю ссылку кликом — страница откроется в браузере по умолчанию. Разработчик использует ПерейтиПоНавигационнойСсылке на клиенте с полным URL, включая протокол. Если переход не работает, проверяйте браузер по умолчанию, блокировку всплывающих окон и корректность самого адреса.