Разработка и Конфигурация · 10 мин
Как получить представление ссылки в 1С
Как получить представление ссылки в 1С: навигационная ссылка, строковое представление, ПолучитьНавигационнуюСсылку, работа в запросах и на форме.
Под «представлением ссылки» в 1С обычно понимают три разные вещи: навигационную ссылку вида e1cib/data/..., которую можно передать коллеге или вставить в браузер; строковое представление объекта (например, «Поступление товаров 0001 от 12.03.2026»); и уникальный идентификатор (GUID), по которому объект находят при обменах. Каждый из этих вариантов получается своим способом, и смешение понятий — самая частая причина ошибок у начинающих разработчиков.
Ниже разобраны все рабочие способы: программные методы встроенного языка, получение навигационной ссылки через интерфейс без программирования, работа в запросах и типичные подводные камни. Примеры актуальны для управляемых форм и тонкого клиента, но большинство приёмов работает и в обычном приложении.
Получение навигационной ссылки программно
Основной инструмент — глобальный метод ПолучитьНавигационнуюСсылку(). В него передаётся ссылка на объект, а возвращается строка вида e1cib/data/Документ.РеализацияТоваровУслуг?ref=.... Метод доступен на сервере и на клиенте, в тонком и веб-клиенте.
НавСсылка = ПолучитьНавигационнуюСсылку(ДокументСсылка);
Сообщить(НавСсылка);
// Результат: e1cib/data/Документ.РеализацияТоваровУслуг?ref=a1b2...
У метода есть необязательные параметры: имя реквизита (для ссылки на конкретное поле объекта) и индекс для табличной части. Например, ПолучитьНавигационнуюСсылку(Ссылка, "Комментарий") вернёт ссылку, открывающую объект с фокусом на поле комментария. На практике эти параметры используют редко, в основном для сценариев взаимодействия между окнами.
Важно понимать: навигационная ссылка привязана к конкретной базе. Она содержит уникальный идентификатор объекта, и в другой информационной базе (даже копии после обмена с изменением GUID) она может не сработать. Для межбазовых обменов используют GUID или коды/номера объектов.
Как получить ссылку через интерфейс без программирования
Пользователю не обязательно писать код: навигационная ссылка доступна из интерфейса. В управляемых формах откройте нужный объект (документ, элемент справочника) и в главном меню (кнопка «Ещё» или системное меню) найдите команду «Получить ссылку» — в зависимости от версии платформы она может называться «Копировать навигационную ссылку» или находиться в меню «Сервис».
- 1Откройте объект: документ, элемент справочника или запись регистра
- 2Нажмите кнопку «Ещё» в командной панели формы или откройте главное меню приложения
- 3Выберите команду «Получить ссылку» / «Копировать навигационную ссылку»
- 4Вставьте скопированную строку в сообщение коллеге или в поле перехода
- 5Проверьте: получатель открывает ссылку через «Файл — Открыть» или вставкой в адресную строку клиента
После копирования ссылку можно отправить коллеге по почте или в мессенджер. Получатель вставляет её в диалог перехода по навигационной ссылке (обычно через меню «Файл» → «Перейти по ссылке» или аналогичную команду) — и объект открывается сразу, без поиска по списку. Это удобно для совместной работы: бухгалтер может быстро показать менеджеру конкретный документ.
Ограничение: команда доступна только для объектов, у которых есть ссылка (ссылочные типы: справочники, документы, планы счетов и т.п.). Для записей регистров сведений навигационная ссылка формируется по ключу записи, а для наборов записей регистров накопления — не формируется вовсе.
Строковое представление объекта
Когда нужно показать пользователю «человекочитаемое» имя объекта — номер и дату документа, наименование контрагента — используют строковое представление. Самый простой способ: Строка(Ссылка). Результат формируется по правилам, заданным в конфигурации: для документов это обычно «Вид номер от дата», для справочников — наименование или код.
ПредставлениеДокумента = Строка(ДокументСсылка);
// "Реализация товаров и услуг 0000-000123 от 15.03.2026 10:22:41"
Представление можно переопределить в модуле менеджера объекта через обработчик ОбработкаПолученияПредставления. Если в конфигурации такой обработчик есть, Строка(Ссылка) вернёт именно то, что задумал разработчик, — например, «ООО «Ромашка» (ИНН 7701234567)».
Не используйте строковое представление для поиска или сравнения объектов: два разных элемента могут иметь одинаковые наименования, а представление документа меняется при изменении даты или номера. Для идентификации служит только сама ссылка или её GUID.
Получение представления в запросе
В запросах представление объекта получают через виртуальное поле Представление. Это удобно, когда нужно вывести список объектов в отчёт, не обращаясь к каждой ссылке отдельным запросом — платформа получит представления пакетно, что значительно быстрее.
ВЫБРАТЬ
Реализация.Ссылка КАК Ссылка,
ПРЕДСТАВЛЕНИЕ(Реализация.Контрагент) КАК КонтрагентПредставление
ИЗ
Документ.РеализацияТоваровУслуг КАК Реализация
Оператор ПРЕДСТАВЛЕНИЕ() работает и с полями ссылочного типа, и со ссылками. Для составных полей (например, «Контрагент» может быть справочником «Контрагенты» или «Организации») представление подставится корректно для каждого типа. В СКД представления выводятся автоматически, если в наборе данных выбрано ссылочное поле.
Навигационную ссылку в запросе получить нельзя — это чисто клиент-серверный механизм. Если навигационные ссылки нужны в отчёте, их формируют уже после выполнения запроса, обходя выборку и вызывая ПолучитьНавигационнуюСсылку() для каждой ссылки.
Уникальный идентификатор и обратное восстановление ссылки
Третий вид «представления» — GUID, строка из 36 символов вида a1b2c3d4-e5f6-.... Он нужен для обменов между базами, интеграций с внешними системами и поиска объектов по внешним ключам. Получают его методом УникальныйИдентификатор():
ГУИД = Ссылка.УникальныйИдентификатор();
// Обратное получение ссылки по GUID:
НовыйГУИД = Новый УникальныйИдентификатор("a1b2c3d4-e5f6-...");
НайденнаяСсылка = Справочники.Номенклатура.ПолучитьСсылку(НовыйГУИД);
Метод ПолучитьСсылку() менеджера объекта возвращает ссылку по GUID, даже если объект ещё не существует в базе — это используется при загрузке данных из обменов. Чтобы проверить, существует ли объект реально, сравнивают НайденнаяСсылка.ПолучитьОбъект() с Неопределено или проверяют запросом.
Есть нюанс с представлением GUID внутри навигационной ссылки: в строке e1cib/data/...?ref=... идентификатор хранится в перевёрнутом (переставленном по байтам) виде, поэтому напрямую скопировать его из навигационной ссылки как GUID нельзя — потребуется преобразование порядка символов.
Практические сценарии и проверка результата
Ссылка на форму списка и на новый объект
Навигационную ссылку можно получить не только на объект, но и на список: ПолучитьНавигационнуюСсылку("Справочник.Номенклатура.ФормаСписка") или через имя метаданных. Для создания нового объекта с заполнением используют ссылку вида e1cib/data/...?ref=... с параметрами, но чаще применяют ОткрытьФорму() с параметрами — это надёжнее.
Передача ссылки во внешнюю систему
Если нужно, чтобы пользователь из письма или внешней системы открыл объект в 1С, навигационная ссылка недостаточна — она работает только внутри запущенного клиента. Для веб-доступа формируют полный URL веб-клиента: адрес публикации базы плюс навигационная ссылка после символа #. Например: https://server/base/#e1cib/data/.... Такая ссылка откроет объект в браузере, если у пользователя есть права.
Как проверить результат
Начинается с e1cib/data/ и открывает объект у коллеги в той же базе
Строка вида «Документ №...» — это представление, а не ссылка
36 символов с дефисами, ПолучитьСсылку() возвращает существующий объект
ПолучитьОбъект() возвращает Неопределено — объекта нет или GUID из другой базы
Поле заполнено читаемым текстом для всех строк
Пустые значения — проверьте, что поле ссылочного типа, а не уже строка
Частые вопросы
Чем навигационная ссылка отличается от обычной ссылки на объект?
Ссылка на объект — это значение встроенного типа, существующее только внутри кода 1С. Навигационная ссылка — строковое представление адреса объекта, которое можно копировать, передавать и использовать для открытия объекта через интерфейс. Из навигационной ссылки нельзя напрямую получить ссылку на объект штатным методом.
Как получить ссылку на объект, зная его навигационную ссылку?
Штатной обратной функции нет. На практике из строки извлекают имя типа и параметр ref, преобразуют перевёрнутый GUID в обычный вид перестановкой байтов и вызывают МенеджерОбъекта.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИД)). Готовые функции такого разбора есть в типовых библиотеках (БСП).
Почему ПолучитьНавигационнуюСсылку возвращает пустую строку?
Чаще всего передан несохранённый объект или значение, не являющееся ссылкой (например, объект данных вместо ссылки). Сохраните объект и передавайте именно СвойствоОбъекта.Ссылка. Также проверьте, что метод вызывается в контексте, где он доступен.
Можно ли получить представление для удалённого (битого) объекта?
Битая ссылка указывает на несуществующий объект, и Строка(Ссылка) вернёт текст вида «<Объект не найден> (GUID)». Проверить битость можно запросом: если по ссылке выборка пуста, объект отсутствует. Восстановить представление удалённого объекта штатными средствами нельзя.
Как вывести представление ссылки в макете печатной формы?
В параметры макета передают ссылку — при выводе в табличный документ платформа сама подставит её представление. Если нужен контроль формата, заранее сформируйте строку через Строка(Ссылка) или получите представление в запросе через ПРЕДСТАВЛЕНИЕ() и передайте готовый текст.
Что важно запомнить
Различайте три сущности: навигационную ссылку (ПолучитьНавигационнуюСсылку), строковое представление (Строка или ПРЕДСТАВЛЕНИЕ в запросе) и GUID (УникальныйИдентификатор). Для массового вывода используйте ПРЕДСТАВЛЕНИЕ() в запросе, для передачи объекта коллеге — навигационную ссылку из интерфейса, для интеграций — GUID с учётом его особенностей.