Разработка и Конфигурация · 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") Тогда
СтандартнаяОбработка = Ложь;
ПерейтиПоНавигационнойСсылке(Расшифровка);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СайтКонтрагентаНажатие(Элемент)
Если ЗначениеЗаполнено(Объект.Сайт) Тогда
Адрес = Объект.Сайт;
Если Не СтрНачинаетсяС(Адрес, "http") Тогда
Адрес = "https://" + Адрес;
КонецЕсли;
ПерейтиПоНавигационнойСсылке(Адрес);
КонецЕсли;
КонецПроцедурыТипичные ошибки и их устранение
Самая частая ошибка — отсутствие протокола в адресе. Вторая по распространённости — попытка открыть ссылку в серверном коде, где клиентские методы недоступны. Третья — кириллические символы и пробелы в URL: их следует кодировать, иначе браузер может получить обрезанный или испорченный адрес.
Если ссылка содержит параметры с русскими буквами, используйте кодирование URL. В платформе для этого есть функция КодироватьСтроку с параметром способа кодирования СпособКодированияСтроки.КодировкаURL. Это особенно актуально при формировании ссылок на поисковые запросы или страницы с параметрами.
Как проверить результат
Страница открывается в браузере по умолчанию
Ничего не происходит или открывается не тот браузер — проверьте настройки ОС
Выполняется клиентская процедура, браузер открывает нужный URL
Ошибка «Метод не обнаружен» — вызов идёт на сервере
Новая вкладка открывается в том же браузере
Вкладка блокируется — разрешите всплывающие окна для сайта
Часто задаваемые вопросы
Почему при клике по ссылке в 1С ничего не происходит?
Чаще всего в операционной системе не назначен браузер по умолчанию для протоколов HTTP/HTTPS либо запуск браузера заблокирован политиками терминального сервера. Проверьте приложения по умолчанию в настройках Windows и попробуйте открыть любую ссылку из другой программы — если не работает и там, проблема не в 1С.
Как открыть ссылку в конкретном браузере, а не в браузере по умолчанию?
Используйте НачатьЗапускПриложения, указав первым параметром путь к исполняемому файлу браузера, а адрес страницы — как параметр командной строки. Например, путь к chrome.exe и через пробел URL. Учтите, что на разных компьютерах пути установки браузера различаются.
Работает ли переход по ссылке в веб-клиенте 1С?
Да, ПерейтиПоНавигационнойСсылке в веб-клиенте открывает страницу в новой вкладке текущего браузера. Ограничение: браузер может заблокировать вкладку как всплывающее окно, если вызов не связан с прямым действием пользователя. Разрешите всплывающие окна для адреса веб-сервера 1С.
Как сделать кликабельной ссылку в печатной форме документа?
При формировании табличного документа поместите URL в свойство расшифровки нужной ячейки, а в модуле формы отчёта обработайте событие ОбработкаРасшифровки: проверьте, что расшифровка — строка с адресом, отключите стандартную обработку и вызовите ПерейтиПоНавигационнойСсылке.
Можно ли открыть файл по сетевому пути как по ссылке?
Да, передайте путь вида \\сервер\папка\файл.pdf в ФайловаяСистема.ОткрытьФайл или НачатьЗапускПриложения — файл откроется в ассоциированной программе. У пользователя должен быть сетевой доступ к ресурсу, иначе появится ошибка открытия.
Чем отличается навигационная ссылка внутри базы от внешней ссылки?
Внутренняя навигационная ссылка указывает на объект информационной базы (документ, элемент справочника) и открывает его форму внутри 1С. Внешняя ссылка начинается с http:// или https:// и передаётся браузеру. При программном переходе платформа различает их по формату строки.
Что важно запомнить
Обычный пользователь открывает внешнюю ссылку кликом — страница откроется в браузере по умолчанию. Разработчик использует ПерейтиПоНавигационнойСсылке на клиенте с полным URL, включая протокол. Если переход не работает, проверяйте браузер по умолчанию, блокировку всплывающих окон и корректность самого адреса.