Разработка и Конфигурация · 11 мин
Как вывести гиперссылку на форму в 1С
Как вывести гиперссылку на форму в 1С: навигационная ссылка e1cib, команда ОткрытьФорму, гиперссылки в командном интерфейсе, печатных формах и сообщениях.
В 1С гиперссылка на форму может означать несколько разных вещей: навигационную ссылку вида e1cib/..., которую можно скопировать и вставить в письмо или браузер; команду в интерфейсе, открывающую форму по щелчку; гиперссылку в тексте сообщения или печатной форме; либо программный вызов открытия формы из кода. Каждый из этих сценариев решается своим инструментом, и путать их — самая частая причина того, что «ссылка не работает».
Формально платформа не даёт веб-ссылок в привычном смысле: вместо URL используется внутренняя навигационная ссылка, которую понимает клиент 1С (тонкий, толстый или веб-клиент). Поэтому задача «вывести гиперссылку» сводится к тому, чтобы либо получить навигационную ссылку объекта или формы, либо оформить команду, которая откроет нужную форму с нужными параметрами.
Ниже разобраны все рабочие способы: от простого копирования ссылки через меню до программного формирования гиперссылок в тексте и на форме. Примеры приведены для управляемых форм, так как именно они используются в современных конфигурациях на 8.3.
Что такое навигационная ссылка e1cib и когда она нужна
Навигационная ссылка — это внутренний адрес объекта или формы в информационной базе. Она начинается с префикса e1cib/ и выглядит примерно так: e1cib/data/Справочник.Номенклатура?ref=.... Такая ссылка открывается только в клиенте 1С, подключённом к той же базе: в обычном браузере без веб-клиента она ничего не покажет.
Навигационные ссылки нужны, чтобы переслать коллеге указание на конкретный документ, элемент справочника или отчёт с настройками. Получатель вставляет ссылку через меню «Перейти по ссылке» (или открывает её в веб-клиенте), и у него открывается та же форма. Это основной способ «поделиться формой» между пользователями.
Важно понимать ограничение: ссылка привязана к конкретной базе. Если базу перенесли на другой сервер или пользователь работает в копии базы, внешняя часть адреса (путь к публикации веб-клиента) изменится, хотя внутренняя часть e1cib/data/... сохранится.
Как скопировать ссылку на открытую форму без программирования
Самый быстрый способ вывести гиперссылку на уже открытую форму — воспользоваться штатной командой. Откройте нужный объект (документ, элемент справочника, отчёт), затем в правом верхнем углу нажмите кнопку «Ещё» и выберите пункт «Получить ссылку» (в некоторых версиях — значок цепочки в заголовке формы). Платформа покажет навигационную ссылку и предложит скопировать её в буфер обмена.
Скопированную ссылку можно вставить в письмо, мессенджер или задачу. Получателю достаточно в своём клиенте 1С выбрать «Файл — Перейти по ссылке» (или аналогичный пункт главного меню) и вставить текст. Если у него есть права на объект, откроется та же форма.
Если пункт «Получить ссылку» отсутствует, проверьте, что форма именно объекта, а не произвольная обработка без навигационной ссылки. У динамических форм без привязки к данным (например, у некоторых обработок) навигационной ссылки может не быть — в этом случае ссылку формируют программно или делятся путём к обработке.
Гиперссылка в командном интерфейсе и панели навигации
Если требуется, чтобы ссылка на форму постоянно присутствовала в интерфейсе — например, в разделе или на начальной странице, — её добавляют как команду. В конфигураторе у объекта (справочника, документа, отчёта, обработки) создают команду, указывают для неё форму или режим открытия, а затем включают команду в состав командного интерфейса подсистемы. Пользователь увидит ссылку в панели функций раздела.
Для формы списка и формы элемента команды «Создать», «Открыть список» обычно уже присутствуют по умолчанию — их видимость настраивается в редакторе командного интерфейса подсистемы. Там же можно перетащить команды между группами: «Важное», «Обычное», «См. также», чтобы ссылка располагалась в нужном месте.
В пользовательском режиме (без конфигуратора) видимость ссылок настраивается через «Настройка навигации» в меню раздела: пользователь может добавить нужные команды в панель навигации и избранное. Это безопасный способ вывести ссылку на форму без доработки конфигурации.
Гиперссылки в сообщениях, печатных формах и письмах
В тексте сообщения пользователю (через Сообщить() или объект СообщениеПользователю) можно вывести кликабельную ссылку на объект: достаточно присвоить свойству КлючДанных ссылку на объект и задать Поле. Тогда в панели сообщений текст станет гиперссылкой, щелчок по которой откроет форму объекта.
В табличном документе (печатной форме) ячейке можно задать расшифровку: параметр Расшифровка у области, содержащий ссылку на объект. В режиме просмотра табличного документа щелчок по такой ячейке откроет форму объекта. Это стандартный механизм, на котором построена расшифровка отчётов СКД.
В электронных письмах, отправляемых из 1С, вставляют текст навигационной ссылки e1cib/... как обычную строку. Учтите: почтовые клиенты не сделают её кликабельной автоматически, получателю нужно скопировать строку и перейти по ней в клиенте 1С. Если пользователи работают через веб-клиент, можно сформировать полный URL публикации с параметром навигационной ссылки — такая ссылка откроется прямо из письма в браузере.
Способы вывести ссылку на форму
Подходит для разовой передачи ссылки коллеге; не требует доработок, но ссылка не кликабельна вне клиента 1С
Для кнопок и надписей-гиперссылок на форме; требует изменения формы или расширения
Для постоянной ссылки в разделе или на начальной странице; настраивается в конфигураторе или пользователем
Для отчётов и печатных форм; работает только при просмотре в клиенте 1С
Типичные ошибки и ограничения
Частая ошибка — попытка открыть e1cib-ссылку в обычном браузере без веб-клиента. Ссылка не является веб-адресом, и браузер сообщит, что не может открыть протокол. Решение — либо работать через веб-клиент с опубликованной базой, либо использовать тонкий клиент.
Вторая ошибка — передача ссылки пользователю без прав на объект. Форма откроется с ошибкой доступа или не откроется вовсе. Перед рассылкой ссылок убедитесь, что у получателей назначены соответствующие роли.
Третья группа проблем — программные: вызов серверной функции ПолучитьНавигационнуюСсылку в клиентском контексте без директивы, открытие формы с неверным именем (например, «ФормаЭлемента» вместо фактического имени формы в конфигураторе) и потеря контекста при открытии формы из фонового задания, где интерактивные вызовы запрещены.
Как проверить, что ссылка работает
После настройки проверьте ссылку в трёх режимах: в тонком клиенте, в веб-клиенте (если он используется) и под пользователем с типовым набором прав, а не под администратором. Различия в правах и в составе функциональности часто проявляются только в рабочем контуре.
Для программных гиперссылок проверьте повторное нажатие: форма должна либо активироваться, либо открываться повторно без ошибок. Если форма открывается модально и блокирует интерфейс — проверьте, не задан ли лишний режим блокирования окна.
Как проверить результат
Открывается та же форма того же объекта
Ошибка доступа или открывается пустая форма — проверьте права и корректность ссылки
Открывается целевая форма с нужным объектом
Ничего не происходит или ошибка — проверьте обработчик Нажатие и имя формы
Форма открывается в браузере по полному URL
Браузер не знает протокол e1cib — используйте URL публикации веб-клиента
Что важно запомнить
Гиперссылку на форму 1С выводят либо навигационной ссылкой e1cib (копирование через «Получить ссылку» или ПолучитьНавигационнуюСсылку), либо командой интерфейса, либо программно через ОткрытьФорму, ПоказатьЗначение и ПерейтиПоНавигационнойСсылке. Ссылка работает только в клиенте 1С той же базы и требует у получателя прав на объект.
Частые вопросы
Можно ли открыть ссылку e1cib в обычном браузере?
Нет, протокол e1cib понимает только клиент 1С. Чтобы ссылка открывалась в браузере, база должна быть опубликована на веб-сервере, а ссылка должна включать адрес публикации веб-клиента с навигационной ссылкой в параметрах.
Как вывести гиперссылку на форму внешней обработки?
У внешней обработки нет постоянной навигационной ссылки. Варианты: зарегистрировать её в справочнике дополнительных отчётов и обработок — тогда появится команда в интерфейсе, либо открывать её программно через ОткрытьФорму с указанием объекта обработки.
Почему ОткрытьФорму выдаёт ошибку «форма не найдена»?
Чаще всего указано неверное имя формы. Откройте конфигуратор, найдите объект и сверьте точное имя формы в его списке форм — оно может отличаться от «ФормаЭлемента» или «ФормаСписка». Также проверьте, что форма не переименована расширением.
Как сделать кликабельную ссылку в тексте сообщения пользователю?
Используйте объект СообщениеПользователю: заполните Текст, установите свойство КлючДанных в ссылку на объект и укажите Поле. Тогда сообщение в панели сообщений станет гиперссылкой, открывающей форму объекта.
Сохранится ли ссылка после переноса базы на другой сервер?
Внутренняя часть e1cib/data/... сохранится, если это та же база (например, копия). Изменится только внешний адрес публикации веб-клиента. Поэтому храните и пересылайте именно внутреннюю навигационную ссылку, а не полный URL сервера.
Можно ли открыть форму из фонового задания?
Нет, интерактивные вызовы (ОткрытьФорму, ПоказатьЗначение) в фоновых заданиях недоступны. Если нужно уведомить пользователя, запишите навигационную ссылку в регистр или отправьте её сообщением, а форму откроет уже клиентский код.