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

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

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

Как вывести гиперссылку на форму в 1С: навигационная ссылка e1cib, команда ОткрытьФорму, гиперссылки в командном интерфейсе, печатных формах и сообщениях.

В 1С гиперссылка на форму может означать несколько разных вещей: навигационную ссылку вида e1cib/..., которую можно скопировать и вставить в письмо или браузер; команду в интерфейсе, открывающую форму по щелчку; гиперссылку в тексте сообщения или печатной форме; либо программный вызов открытия формы из кода. Каждый из этих сценариев решается своим инструментом, и путать их — самая частая причина того, что «ссылка не работает».

Формально платформа не даёт веб-ссылок в привычном смысле: вместо URL используется внутренняя навигационная ссылка, которую понимает клиент 1С (тонкий, толстый или веб-клиент). Поэтому задача «вывести гиперссылку» сводится к тому, чтобы либо получить навигационную ссылку объекта или формы, либо оформить команду, которая откроет нужную форму с нужными параметрами.

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

Что такое навигационная ссылка e1cib и когда она нужна

Навигационная ссылка — это внутренний адрес объекта или формы в информационной базе. Она начинается с префикса e1cib/ и выглядит примерно так: e1cib/data/Справочник.Номенклатура?ref=.... Такая ссылка открывается только в клиенте 1С, подключённом к той же базе: в обычном браузере без веб-клиента она ничего не покажет.

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

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

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

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

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

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

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

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

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

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

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

В тексте сообщения пользователю (через Сообщить() или объект СообщениеПользователю) можно вывести кликабельную ссылку на объект: достаточно присвоить свойству КлючДанных ссылку на объект и задать Поле. Тогда в панели сообщений текст станет гиперссылкой, щелчок по которой откроет форму объекта.

В табличном документе (печатной форме) ячейке можно задать расшифровку: параметр Расшифровка у области, содержащий ссылку на объект. В режиме просмотра табличного документа щелчок по такой ячейке откроет форму объекта. Это стандартный механизм, на котором построена расшифровка отчётов СКД.

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

Способы вывести ссылку на форму

Копирование e1cib-ссылки

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

ОткрытьФорму / ПоказатьЗначение

Для кнопок и надписей-гиперссылок на форме; требует изменения формы или расширения

Команда в командном интерфейсе

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

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

Для отчётов и печатных форм; работает только при просмотре в клиенте 1С

Типичные ошибки и ограничения

Частая ошибка — попытка открыть e1cib-ссылку в обычном браузере без веб-клиента. Ссылка не является веб-адресом, и браузер сообщит, что не может открыть протокол. Решение — либо работать через веб-клиент с опубликованной базой, либо использовать тонкий клиент.

Вторая ошибка — передача ссылки пользователю без прав на объект. Форма откроется с ошибкой доступа или не откроется вовсе. Перед рассылкой ссылок убедитесь, что у получателей назначены соответствующие роли.

Третья группа проблем — программные: вызов серверной функции ПолучитьНавигационнуюСсылку в клиентском контексте без директивы, открытие формы с неверным именем (например, «ФормаЭлемента» вместо фактического имени формы в конфигураторе) и потеря контекста при открытии формы из фонового задания, где интерактивные вызовы запрещены.

Типичные ошибки
01
Открытие e1cib-ссылки в браузере без веб-клиента — протокол не распознаётся, ссылка «не работает»
02
Неверное имя формы в ОткрытьФорму — платформа выдаёт ошибку «форма не найдена»; сверяйте имя в конфигураторе
03
Попытка интерактивно открыть форму из фонового задания — вызовы ОткрытьФорму там недоступны
04
Рассылка ссылок пользователям без прав на объект — получатель видит ошибку доступа
05
Хранение ссылки с полным адресом сервера — после переноса базы адрес меняется, сохраняйте только внутреннюю часть e1cib

Как проверить, что ссылка работает

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

Для программных гиперссылок проверьте повторное нажатие: форма должна либо активироваться, либо открываться повторно без ошибок. Если форма открывается модально и блокирует интерфейс — проверьте, не задан ли лишний режим блокирования окна.

Контрольные точки

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

Переход по ссылке коллегой
Норма

Открывается та же форма того же объекта

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

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

Щелчок по надписи-гиперссылке на форме
Норма

Открывается целевая форма с нужным объектом

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

Ничего не происходит или ошибка — проверьте обработчик Нажатие и имя формы

Ссылка в веб-клиенте
Норма

Форма открывается в браузере по полному URL

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

Браузер не знает протокол e1cib — используйте URL публикации веб-клиента

Итог

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

Гиперссылку на форму 1С выводят либо навигационной ссылкой e1cib (копирование через «Получить ссылку» или ПолучитьНавигационнуюСсылку), либо командой интерфейса, либо программно через ОткрытьФорму, ПоказатьЗначение и ПерейтиПоНавигационнойСсылке. Ссылка работает только в клиенте 1С той же базы и требует у получателя прав на объект.

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

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

Нет, протокол e1cib понимает только клиент 1С. Чтобы ссылка открывалась в браузере, база должна быть опубликована на веб-сервере, а ссылка должна включать адрес публикации веб-клиента с навигационной ссылкой в параметрах.

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

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

Почему ОткрытьФорму выдаёт ошибку «форма не найдена»?

Чаще всего указано неверное имя формы. Откройте конфигуратор, найдите объект и сверьте точное имя формы в его списке форм — оно может отличаться от «ФормаЭлемента» или «ФормаСписка». Также проверьте, что форма не переименована расширением.

Как сделать кликабельную ссылку в тексте сообщения пользователю?

Используйте объект СообщениеПользователю: заполните Текст, установите свойство КлючДанных в ссылку на объект и укажите Поле. Тогда сообщение в панели сообщений станет гиперссылкой, открывающей форму объекта.

Сохранится ли ссылка после переноса базы на другой сервер?

Внутренняя часть e1cib/data/... сохранится, если это та же база (например, копия). Изменится только внешний адрес публикации веб-клиента. Поэтому храните и пересылайте именно внутреннюю навигационную ссылку, а не полный URL сервера.

Можно ли открыть форму из фонового задания?

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