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

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

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

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

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

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

Ниже разобраны основные способы: от простого оформления ссылки в конфигураторе до программного создания, открытия веб-страниц, файлов и объектов базы, а также типичные ошибки, из-за которых ссылка не реагирует на нажатие.

Как добавить надпись-гиперссылку в конфигураторе

Откройте нужную форму в конфигураторе (например, форму элемента справочника или документа). В дереве элементов формы выберите место, где должна располагаться ссылка, и добавьте новый элемент типа «Надпись» через контекстное меню «Добавить» → «Поле» → «Надпись» или кнопку добавления элемента.

В палитре свойств нового элемента найдите свойство «Гиперссылка» и установите его в значение «Истина». После этого текст надписи на форме будет отображаться как ссылка — обычно синим цветом, в соответствии с текущим стилем интерфейса. Заголовок элемента задайте понятным пользователю: «Открыть сайт поставщика», «Инструкция по заполнению» и т.п.

Обратите внимание на свойство «Вид» надписи. Для информационной ссылки подходит обычная надпись; если нужно оформить ссылку как важное предупреждение, можно использовать вид «Надпись картинки» или отдельные виды оформления, доступные в палитре свойств.

Порядок действий в конфигураторе
  1. 1
    Откройте форму объекта в конфигураторе
  2. 2
    Добавьте элемент «Надпись» в нужную группу формы
  3. 3
    Установите свойство «Гиперссылка» = Истина
  4. 4
    Заполните заголовок надписи понятным текстом
  5. 5
    Создайте обработчик события «Нажатие»
  6. 6
    Напишите код действия в модуле формы
  7. 7
    Сохраните конфигурацию и проверьте в режиме предприятия

Обработчик события «Нажатие»

Сама по себе надпись с включённым свойством «Гиперссылка» ничего не делает — вся логика задаётся в обработчике. В палитре свойств найдите событие «Нажатие» и нажмите кнопку открытия (значок лупы). Платформа создаст в модуле формы процедуру-заготовку с директивой &НаКлиенте.

Пример обработчика, открывающего сайт в браузере по умолчанию:

&НаКлиенте

Процедура НадписьСайтНажатие(Элемент)

ЗапуститьПриложение("https://example.ru");

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

Если нужно открыть другой объект той же информационной базы — например, связанный документ или элемент справочника — удобнее использовать навигационную ссылку:

&НаКлиенте

Процедура НадписьДокументНажатие(Элемент)

ПерейтиПоНавигационнойСсылке(ПолучитьНавигационнуюСсылку(Объект.ДокументОснование));

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

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

Открытие сайта, файла и папки по ссылке

Для открытия внешних ресурсов чаще всего используется метод ЗапуститьПриложение() или его асинхронный аналог НачатьЗапускПриложения(). Платформа передаёт строку операционной системе, и та сама решает, чем её открыть: адрес http/https — в браузере, путь к файлу — в ассоциированной программе, путь к папке — в проводнике.

Пример открытия файла, путь к которому хранится в реквизите объекта:

&НаКлиенте

Процедура НадписьФайлНажатие(Элемент)

Если ЗначениеЗаполнено(Объект.ПутьКФайлу) Тогда

ЗапуститьПриложение(Объект.ПутьКФайлу);

Иначе

ПоказатьПредупреждение(, "Путь к файлу не заполнен");

КонецЕсли;

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

Используйте асинхронный вариант НачатьЗапускПриложения(), если конфигурация работает в режиме отказа от модальности — синхронный вызов в таком режиме может быть заблокирован. В веб-клиенте запуск локальных файлов и приложений ограничен политиками браузера, поэтому для веб-клиента надёжнее открывать только веб-адреса.

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

Если ссылка нужна не всегда, а по условию — например, только для определённого статуса документа — элемент можно создать программно в обработчике ПриСозданииНаСервере. Элемент добавляется в коллекцию Элементы формы, а обработчик назначается через метод УстановитьДействие.

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

НовыйЭлемент = Элементы.Добавить("НадписьИнструкция", Тип("ПолеФормы"), Элементы.ГруппаШапка);

НовыйЭлемент.Вид = ВидПоляФормы.ПолеНадписи;

НовыйЭлемент.Гиперссылка = Истина;

НовыйЭлемент.Заголовок = "Открыть инструкцию";

НовыйЭлемент.УстановитьДействие("Нажатие", "НадписьИнструкцияНажатие");

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

Процедура НадписьИнструкцияНажатие должна существовать в модуле формы заранее — платформа не создаёт её автоматически. Управлять видимостью ссылки можно в любой момент через свойство Элементы.НадписьИнструкция.Видимость.

Гиперссылка в декорации и форматированная строка

Помимо надписи, ссылочное поведение поддерживает элемент «Декорация». Декорация с видом «Надпись» и свойством «Гиперссылка» ведёт себя аналогично, но даёт больше свободы в оформлении: цвет, шрифт, рамку. Это удобно для информационных панелей и подсказок на форме.

Если ссылка должна быть частью предложения («Подробнее см. в инструкции по настройке»), используйте форматированную строку. В ней отдельные фрагменты оформляются как ссылки, а переход обрабатывается через событие «ОбработкаНавигационнойСсылки» элемента формы. Значение навигационной ссылки задаётся произвольной строкой, которую разработчик анализирует в обработчике и решает, что открывать.

Способы реализации ссылки на форме

Надпись с Гиперссылка = Истина

Самый простой вариант: отдельная ссылка с обработчиком Нажатие. Подходит для большинства задач.

Декорация-надпись

То же поведение, но гибче оформление: цвет, шрифт, рамка. Для информационных панелей.

Форматированная строка

Ссылка внутри текста. Требует обработки события ОбработкаНавигационнойСсылки, реализация сложнее.

Поле с видом ПолеНадписи и навигационной ссылкой

Для открытия объектов базы через ПерейтиПоНавигационнойСсылке — стандартный механизм платформы.

Проверка результата и частые ошибки

После настройки обновите конфигурацию базы данных (F7) и откройте форму в режиме предприятия. Признаки корректной работы: надпись отображается цветом ссылки, при наведении курсор меняет вид, при нажатии выполняется заданное действие без сообщений об ошибке.

Если ссылка выглядит как обычный текст, проверьте, что свойство «Гиперссылка» действительно установлено в «Истина» и не переопределено программно. Если при нажатии появляется ошибка о ненайденной процедуре — проверьте имя обработчика в палитре свойств и наличие процедуры с директивой &НаКлиенте в модуле формы.

Отдельный случай — ссылка работает в толстом клиенте, но не в веб-клиенте. Обычно причина в ЗапуститьПриложение() с локальным путём: браузер блокирует доступ к файловой системе. Для кросс-клиентской работы используйте веб-адреса или механизм навигационных ссылок платформы.

Типичные ошибки
01
Забыли установить свойство «Гиперссылка» — надпись выглядит как обычный текст и не реагирует на клик
02
Обработчик Нажатие создан без директивы &НаКлиенте — ошибка при нажатии или компиляции модуля
03
Имя процедуры в УстановитьДействие не совпадает с реальным именем в модуле — ошибка «процедура не определена»
04
Запуск локального файла в веб-клиенте — браузер блокирует выполнение, ссылка «не работает»
05
Открытие объекта базы через ЗапуститьПриложение вместо ПерейтиПоНавигационнойСсылке — лишняя зависимость от окружения

Ограничения и рекомендации

Гиперссылка на форме не является самостоятельной кнопкой командного интерфейса: она не попадает в панель действий и не имеет сочетания клавиш по умолчанию. Если действие критично для сценария работы пользователя, лучше дублировать его командой формы.

Не злоупотребляйте количеством ссылок: форма с десятком подчёркнутых надписей воспринимается хуже, чем форма с двумя-тремя понятными ссылками. Группируйте второстепенные переходы в подменю «Ещё» или на отдельную форму-навигатор.

Итог

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

Гиперссылка на форме 1С — это надпись или декорация со свойством «Гиперссылка» и обработчиком «Нажатие». Для сайтов и файлов используйте ЗапуститьПриложение (лучше асинхронный вариант), для объектов базы — ПерейтиПоНавигационнойСсылке. Всегда проверяйте работу в том клиенте, где будут работать пользователи.

Частые вопросы

Почему надпись-гиперссылка не нажимается?

Чаще всего не установлено свойство «Гиперссылка» = Истина или элемент недоступен (свойство «Доступность» = Ложь). Также проверьте, что на форме нет перекрывающего элемента и что обработчик «Нажатие» назначен.

Как открыть сайт в браузере из формы 1С?

В клиентском обработчике нажатия вызовите ЗапуститьПриложение("https://адрес") или асинхронный НачатьЗапускПриложения(). Операционная система откроет адрес в браузере по умолчанию.

Можно ли сделать ссылку на документ внутри базы?

Да. Получите навигационную ссылку функцией ПолучитьНавигационнуюСсылку(Объект) и передайте её в ПерейтиПоНавигационнойСсылке(). Это штатный способ, работающий во всех клиентах.

Работает ли гиперссылка в веб-клиенте?

Сам элемент и обработчик нажатия работают. Ограничены действия с локальной файловой системой: запуск файлов и приложений через ЗапуститьПриложение браузер может заблокировать. Веб-адреса и навигационные ссылки открываются без проблем.

Как сделать ссылку частью обычного текста?

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

Чем гиперссылка отличается от кнопки на форме?

Функционально — ничем: обе вызывают обработчик. Разница визуальная: ссылка выглядит легче и подходит для второстепенных переходов, кнопка — для основных действий. Кнопку можно разместить в командной панели, ссылку — нет.