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

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

Как получить навигационную ссылку в 1С

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

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

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

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

Получение ссылки через интерфейс программы

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

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

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

Как скопировать ссылку из формы объекта
  1. 1
    Откройте нужный документ или элемент справочника в 1С
  2. 2
    Нажмите «Ещё» в командной панели формы и выберите «Получить ссылку»
  3. 3
    Скопируйте строку из появившегося окна
  4. 4
    Передайте ссылку коллеге — он откроет её через «Перейти по ссылке»
  5. 5
    Проверьте, что объект открывается корректно у получателя

Программное получение ссылки через ПолучитьНавигационнуюСсылку

Во встроенном языке 1С для получения навигационной ссылки используется глобальный метод ПолучитьНавигационнуюСсылку(). В простейшем варианте ему передаётся ссылка на объект базы данных, и функция возвращает строку вида e1cib/data/Документ.РеализацияТоваровУслуг?ref=....

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

bsl
// Навигационная ссылка на документ
СсылкаНаДокумент = Документы.РеализацияТоваровУслуг.НайтиПоНомеру("000000001", ТекущаяДатаСеанса());
НавСсылка = ПолучитьНавигационнуюСсылку(СсылкаНаДокумент);
Сообщить(НавСсылка);
// Результат: e1cib/data/Документ.РеализацияТоваровУслуг?ref=...

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

Внешняя ссылка e1cib для перехода из браузера и других программ

Обычная навигационная ссылка работает только внутри запущенного клиента 1С. Чтобы открыть объект из браузера, письма или внешней системы, нужна полная внешняя ссылка, которая включает адрес подключения к базе. Для веб-клиента она выглядит как адрес публикации базы с параметром ?n=, содержащим навигационную ссылку.

Для тонкого клиента используется протокол e1cib: ссылка вида e1cib/server/ИмяСервера/ИмяБазы# плюс навигационная часть. При клике по такой ссылке операционная система запускает установленный клиент 1С и открывает объект, если пользователь имеет доступ к базе.

bsl
// Формирование внешней ссылки для тонкого клиента
АдресБазы = "e1cib/server/Srv1C/TradeBase";
НавСсылка = ПолучитьНавигационнуюСсылку(СсылкаНаДокумент);
ВнешняяСсылка = АдресБазы + "#" + НавСсылка;
// Результат: e1cib/server/Srv1C/TradeBase#e1cib/data/Документ.РеализацияТоваровУслуг?ref=...

Ссылка на отчёт с настройками

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

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

Учтите ограничение: пользовательские настройки привязаны к пользователю. Если вариант отчёта не помечен как общий, коллега по ссылке может получить стандартный вариант вместо вашего. Перед отправкой убедитесь, что вариант отчёта доступен другим пользователям.

Проверка работоспособности ссылки

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

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

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

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

Переход по ссылке внутри базы
Норма

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

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

Ошибка «Объект не найден» или открывается пустая форма

Внешняя ссылка e1cib
Норма

Запускается клиент 1С и открывается объект после авторизации

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

Браузер не знает протокол e1cib или клиент не подключается к базе

Ссылка у другого пользователя
Норма

Получатель видит тот же объект или отчёт с теми же настройками

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

Открывается другой вариант отчёта или ошибка доступа

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

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

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

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

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

FAQ

Чем навигационная ссылка отличается от уникального идентификатора объекта?

Навигационная ссылка — это строка для перехода к объекту в клиенте 1С, она включает тип объекта и закодированный идентификатор. Уникальный идентификатор (GUID) — это внутреннее значение, доступное через Ссылка.УникальныйИдентификатор(). Для интеграций между базами надёжнее использовать GUID, а для навигации пользователей — навигационную ссылку.

Можно ли получить навигационную ссылку на ещё не записанный объект?

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

Почему браузер сообщает, что не знает протокол e1cib?

Протокол e1cib регистрируется в операционной системе при установке клиента 1С. Если клиент не установлен или установлен некорректно, браузер не сможет обработать такую ссылку. Установите тонкий клиент 1С и повторите попытку.

Как получить ссылку на запись регистра сведений?

Программно — сформируйте ключ записи через менеджер регистра (СоздатьКлючЗаписи с заполненными измерениями) и передайте его в ПолучитьНавигационнуюСсылку(). Через интерфейс такая возможность зависит от конфигурации: в некоторых формах записей регистра команда «Получить ссылку» недоступна.

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

Да, обновление конфигурации не меняет идентификаторы объектов, поэтому ссылки продолжают работать. Ссылки ломаются при удалении объектов, переносе данных в другую базу или изменении адреса публикации базы для внешних ссылок.

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

Да, если база опубликована на веб-сервере, объект откроется в браузере через веб-клиент по полной внешней ссылке. Также подойдёт тонкий клиент — он легче толстого и обычно используется именно для таких переходов.

Итог

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

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