Разработка и Конфигурация · 9 мин
Как создать гиперссылку в 1С: формы, документы и код
Способы создания гиперссылки в 1С: на форме, в табличном документе, в коде через НавигационнаяСсылка. Примеры, проверка результата и типичные ошибки.
Гиперссылка в 1С — это интерактивный элемент, при нажатии на который пользователь переходит к другому объекту, открывает внешний ресурс или запускает обработчик. В зависимости от задачи ссылку можно добавить на форму, вставить в табличный документ, в текст письма или сформировать программно через навигационные ссылки.
Подход зависит от того, где должна работать ссылка: в интерфейсе управляемой формы, в макете печати, в журнале документов или в служебном сообщении. Ниже разобраны основные сценарии с точными действиями и примерами кода.
Важно понимать разницу между двумя механизмами: декоративная гиперссылка на форме отрабатывает событие «Нажатие», а навигационная ссылка вида e1cib/data/... позволяет открыть конкретный объект базы и может быть передана другому пользователю.
Гиперссылка на управляемой форме через декорацию
Самый частый сценарий — разместить на форме подпись-ссылку, по нажатию на которую открывается сайт, другой объект или выполняется команда. Это делается элементом формы «Декорация» в виде надписи.
Порядок действий в конфигураторе: откройте форму, добавьте элемент «Декорация — Надпись», установите свойство Вид в значение «Надпись» и включите флажок Гиперссылка. После этого у элемента появится событие «Нажатие», в котором пишется логика перехода.
- 1Откройте форму в конфигураторе и добавьте элемент «Декорация» вида «Надпись»
- 2В свойствах установите «Гиперссылка = Истина» и задайте заголовок
- 3Создайте обработчик события «Нажатие» и пропишите действие: открытие URL, формы или объекта
- 4Запустите режим предприятия и проверьте, что по нажатию выполняется нужное действие
&НаКлиенте
Процедура ДекорацияСайтНажатие(Элемент)
ПерейтиПоНавигационнойСсылке("https://v8.1c.ru");
КонецПроцедуры
Для открытия внешнего сайта используйте ПерейтиПоНавигационнойСсылке() или ЗапуститьПриложение() с URL. Первый вариант безопаснее: платформа сама передаст адрес в браузер по умолчанию без запроса подтверждения запуска приложения.
Программное создание гиперссылки на форме
Если ссылка должна появляться динамически — например, по условию или в цикле — элемент добавляется кодом в обработчике ПриСозданииНаСервере через коллекцию Элементы.Добавить() и установку действия через УстановитьДействие().
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
НовыйЭлемент = Элементы.Добавить("СсылкаСправка", Тип("ДекорацияФормы"));
НовыйЭлемент.Вид = ВидДекорацииФормы.Надпись;
НовыйЭлемент.Заголовок = "Открыть инструкцию";
НовыйЭлемент.Гиперссылка = Истина;
НовыйЭлемент.УстановитьДействие("Нажатие", "ДекорацияСсылкаНажатие");
КонецПроцедуры
Обратите внимание: обработчик, указанный в УстановитьДействие, должен существовать в модуле формы как процедура с параметром «Элемент», иначе при нажатии возникнет ошибка «Процедура или функция с указанным именем не определена».
Навигационная ссылка на объект базы
Навигационная ссылка — это строка вида e1cib/data/Документ.РеализацияТоваровУслуг?ref=..., которая однозначно указывает на объект информационной базы. Её можно отправить коллеге, вставить в письмо или сообщение в системе взаимодействия — при переходе откроется именно этот документ.
Получить ссылку программно можно функцией ПолучитьНавигационнуюСсылку(), передав ссылку на объект. В пользовательском режиме аналог доступен через меню «Ещё → Получить ссылку» в форме объекта или через комбинацию клавиш, предусмотренную платформой.
НавСсылка = ПолучитьНавигационнуюСсылку(ДокументСсылка);
// Результат: e1cib/data/Документ.ЗаказКлиента?ref=8f2c...
Ограничение: навигационная ссылка работает только внутри той же информационной базы. Пользователь из другой базы или без прав на объект при переходе получит сообщение об ошибке доступа либо об отсутствии объекта.
Гиперссылка в табличном документе и печатной форме
В макетах и отчётах на основе табличного документа гиперссылка задаётся через свойство ячейки Гиперссылка и параметр расшифровки. При выводе программно ячейке назначается значение, которое затем обрабатывается в событии ОбработкаРасшифровки.
Область = ТабДокумент.Область("R" + НомерСтроки + "C2");
Область.Текст = СокрЛП(Документ.Номер);
Область.Расшифровка = Документ.Ссылка;
Область.Гиперссылка = Истина;
В событии ОбработкаРасшифровки табличного документа проверьте тип переданного значения и откройте объект через ПоказатьЗначение(). Если расшифровка не обработана, платформа выполнит стандартное действие — для ссылочных типов это открытие объекта.
Для печатных форм, выводимых во внешние файлы (PDF, Excel), учитывайте: интерактивные ссылки платформы в таких файлах не работают — там действуют только обычные URL, вставленные текстом.
Гиперссылки в форматированном документе и сообщениях
Поле форматированного документа (например, для хранения примечаний с оформлением) поддерживает вставку ссылок через элементы форматирования. Программно ссылка добавляется как элемент Ссылка форматированного документа с заданным адресом.
В обычных текстовых сообщениях пользователю (Сообщить, ПоказатьОповещениеПользователя) можно передать навигационную ссылку — в окне оповещения она будет кликабельна и откроет объект по нажатию. Это удобно для уведомлений «создан документ, нажмите чтобы открыть».
Сравнение вариантов
Подходит для статичных ссылок в интерфейсе; требует обработчика события и не работает вне формы
Подходит для передачи ссылки на объект другому пользователю; работает только внутри своей базы
Подходит для отчётов и списков; требует обработки события ОбработкаРасшифровки
Подходит для внешних сайтов и файлов; зависит от браузера и прав пользователя
Проверка результата и типичные ошибки
После настройки проверьте ссылку в режиме предприятия: наведите курсор (должен измениться вид указателя), нажмите и убедитесь, что выполняется именно задуманное действие — открытие объекта, формы или сайта. Проверяйте под пользователем с ограниченными правами, а не только под администратором.
Как проверить результат
Текст подчёркнут или окрашен как ссылка, курсор меняется при наведении
Элемент выглядит как обычная надпись — флажок «Гиперссылка» не установлен
Открывается нужный объект, форма или сайт без ошибок
Ошибка «процедура не определена» или отсутствие реакции
Под рядовым пользователем объект открывается или выдаёт корректное сообщение о правах
Нарушение прав доступа с техническим текстом ошибки
FAQ
Как сделать ссылку на внешний сайт в форме 1С?
Добавьте декорацию-надпись с включённым свойством «Гиперссылка» и в обработчике «Нажатие» вызовите ПерейтиПоНавигационнойСсылке("https://адрес"). Платформа откроет страницу в браузере по умолчанию.
Чем навигационная ссылка отличается от обычной гиперссылки?
Навигационная ссылка (e1cib/...) указывает на конкретный объект внутри информационной базы и работает только в ней. Обычная гиперссылка — это произвольный URL или действие, привязанное к элементу формы.
Можно ли получить ссылку на объект без программирования?
Да. В режиме предприятия откройте объект и в меню «Ещё» выберите «Получить ссылку» — платформа скопирует навигационную ссылку в буфер обмена, её можно отправить коллеге.
Почему ссылка в табличном документе не открывает объект?
Чаще всего не заполнено свойство «Расшифровка» ячейки или не обработано событие ОбработкаРасшифровки. Присвойте ячейке значение ссылочного типа в Расшифровку — стандартная обработка сама откроет объект.
Работает ли гиперссылка в тонком и веб-клиенте?
Да, все описанные механизмы поддерживаются в обоих клиентах. Отличие лишь в открытии внешних URL: в веб-клиенте страница откроется в новой вкладке того же браузера.
Как открыть форму списка с отбором по нажатию на ссылку?
В обработчике «Нажатие» вызовите ОткрытьФорму() с параметрами: сформируйте структуру с ключом «Отбор», укажите поле и значение отбора, и передайте её в форму списка.
Что важно запомнить
Для формы используйте декорацию с флажком «Гиперссылка» и обработчиком «Нажатие», для объектов базы — ПолучитьНавигационнуюСсылку(), для отчётов — расшифровку ячеек табличного документа. Всегда проверяйте работу ссылки под пользователем с реальными правами.