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

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

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

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

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

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

Важно понимать разницу между двумя механизмами: декоративная гиперссылка на форме отрабатывает событие «Нажатие», а навигационная ссылка вида e1cib/data/... позволяет открыть конкретный объект базы и может быть передана другому пользователю.

Гиперссылка на управляемой форме через декорацию

Самый частый сценарий — разместить на форме подпись-ссылку, по нажатию на которую открывается сайт, другой объект или выполняется команда. Это делается элементом формы «Декорация» в виде надписи.

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

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

Процедура ДекорацияСайтНажатие(Элемент)

ПерейтиПоНавигационнойСсылке("https://v8.1c.ru");

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

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

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

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

&НаСервере

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

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

НовыйЭлемент.Вид = ВидДекорацииФормы.Надпись;

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

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

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

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

Обратите внимание: обработчик, указанный в УстановитьДействие, должен существовать в модуле формы как процедура с параметром «Элемент», иначе при нажатии возникнет ошибка «Процедура или функция с указанным именем не определена».

Навигационная ссылка на объект базы

Навигационная ссылка — это строка вида e1cib/data/Документ.РеализацияТоваровУслуг?ref=..., которая однозначно указывает на объект информационной базы. Её можно отправить коллеге, вставить в письмо или сообщение в системе взаимодействия — при переходе откроется именно этот документ.

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

НавСсылка = ПолучитьНавигационнуюСсылку(ДокументСсылка);

// Результат: e1cib/data/Документ.ЗаказКлиента?ref=8f2c...

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

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

В макетах и отчётах на основе табличного документа гиперссылка задаётся через свойство ячейки Гиперссылка и параметр расшифровки. При выводе программно ячейке назначается значение, которое затем обрабатывается в событии ОбработкаРасшифровки.

Область = ТабДокумент.Область("R" + НомерСтроки + "C2");

Область.Текст = СокрЛП(Документ.Номер);

Область.Расшифровка = Документ.Ссылка;

Область.Гиперссылка = Истина;

В событии ОбработкаРасшифровки табличного документа проверьте тип переданного значения и откройте объект через ПоказатьЗначение(). Если расшифровка не обработана, платформа выполнит стандартное действие — для ссылочных типов это открытие объекта.

Для печатных форм, выводимых во внешние файлы (PDF, Excel), учитывайте: интерактивные ссылки платформы в таких файлах не работают — там действуют только обычные URL, вставленные текстом.

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

Поле форматированного документа (например, для хранения примечаний с оформлением) поддерживает вставку ссылок через элементы форматирования. Программно ссылка добавляется как элемент Ссылка форматированного документа с заданным адресом.

В обычных текстовых сообщениях пользователю (Сообщить, ПоказатьОповещениеПользователя) можно передать навигационную ссылку — в окне оповещения она будет кликабельна и откроет объект по нажатию. Это удобно для уведомлений «создан документ, нажмите чтобы открыть».

Сравнение вариантов

Декорация-гиперссылка на форме

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

Навигационная ссылка e1cib

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

Расшифровка в табличном документе

Подходит для отчётов и списков; требует обработки события ОбработкаРасшифровки

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

Подходит для внешних сайтов и файлов; зависит от браузера и прав пользователя

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

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

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

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

Внешний вид элемента
Норма

Текст подчёркнут или окрашен как ссылка, курсор меняется при наведении

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

Элемент выглядит как обычная надпись — флажок «Гиперссылка» не установлен

Нажатие на ссылку
Норма

Открывается нужный объект, форма или сайт без ошибок

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

Ошибка «процедура не определена» или отсутствие реакции

Права пользователя
Норма

Под рядовым пользователем объект открывается или выдаёт корректное сообщение о правах

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

Нарушение прав доступа с техническим текстом ошибки

FAQ

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

Добавьте декорацию-надпись с включённым свойством «Гиперссылка» и в обработчике «Нажатие» вызовите ПерейтиПоНавигационнойСсылке("https://адрес"). Платформа откроет страницу в браузере по умолчанию.

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

Навигационная ссылка (e1cib/...) указывает на конкретный объект внутри информационной базы и работает только в ней. Обычная гиперссылка — это произвольный URL или действие, привязанное к элементу формы.

Можно ли получить ссылку на объект без программирования?

Да. В режиме предприятия откройте объект и в меню «Ещё» выберите «Получить ссылку» — платформа скопирует навигационную ссылку в буфер обмена, её можно отправить коллеге.

Почему ссылка в табличном документе не открывает объект?

Чаще всего не заполнено свойство «Расшифровка» ячейки или не обработано событие ОбработкаРасшифровки. Присвойте ячейке значение ссылочного типа в Расшифровку — стандартная обработка сама откроет объект.

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

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

Как открыть форму списка с отбором по нажатию на ссылку?

В обработчике «Нажатие» вызовите ОткрытьФорму() с параметрами: сформируйте структуру с ключом «Отбор», укажите поле и значение отбора, и передайте её в форму списка.

Итог

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

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