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

Администрирование · 11 мин

Как найти ссылку на объект 1С

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

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

Способы получения ссылки различаются в зависимости от режима работы: в тонком клиенте и веб-клиенте доступны одни инструменты, в конфигураторе и через встроенный язык — другие. Ниже разобраны все практические сценарии: от простого копирования навигационной ссылки до поиска объекта по известному GUID и обработки «битых» ссылок.

Большинство операций не требуют прав администратора и выполняются штатными средствами платформы. Однако некоторые действия — например, работа с универсальными обработками или прямые запросы к базе — требуют осторожности и понимания последствий.

Что такое ссылка на объект в 1С и какие виды ссылок существуют

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

Для практических задач используются три представления ссылки. Первое — GUID, уникальный идентификатор из 32 шестнадцатеричных символов, который сохраняется у объекта в течение всей его жизни и используется при обмене данными между базами. Второе — навигационная ссылка вида e1cib/data/Документ.РеализацияТоваровУслуг?ref=..., которую платформа умеет открывать как гиперссылку. Третье — строковое представление (например, «Реализация товаров и услуг 0000-000123 от 15.03.2026»), которое удобно человеку, но не подходит для однозначной идентификации, так как номера и наименования могут совпадать.

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

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

Полученная ссылка выглядит примерно так: e1cib/data/Справочник.Номенклатура?ref=812a001b7a2f9c0a11ed.... Если вставить её в поле «Перейти по ссылке» (меню «Сервис» или кнопка перехода в главном окне) в той же информационной базе, откроется именно этот объект. Во многих конфигурациях навигационные ссылки можно вставлять прямо в текст писем и задач внутри системы — они останутся кликабельными.

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

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

Как узнать GUID объекта

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

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

Сообщить(Объект.Ссылка.УникальныйИдентификатор());

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

bsl
// Получить GUID ссылки
ИД = Ссылка.УникальныйИдентификатор();
Сообщить(ИД);

// Найти объект по GUID
Ссылка = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор("a1b2c3d4-..."));
Если Ссылка.ПолучитьОбъект() = Неопределено Тогда
    Сообщить("Объект не найден");
КонецЕсли;

Как найти объект по известной ссылке или GUID

Обратная задача возникает, когда из журнала обмена, ошибки или письма у вас есть только идентификатор, а нужно найти сам объект. Если известен тип объекта (справочник «Номенклатура», документ «Заказ»), используйте метод ПолучитьСсылку() с конструктором Новый УникальныйИдентификатор(...), как в примере выше. Затем проверьте существование объекта попыткой получить его данные.

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

Как найти все места, где используется объект

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

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

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

Что делать с «битыми» ссылками

«Битая» ссылка — это ссылка на несуществующий объект. Она возникает после прямого удаления данных минуя контроль ссылочной целостности, при сбоях обмена или восстановления базы. В интерфейсе такая ссылка отображается как «<Объект не найден> (77e5...)» с фрагментом идентификатора.

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

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

Типичные ошибки
01
Передача навигационной ссылки коллеге из другой базы — ссылка не откроется или откроет чужой объект
02
Поиск объекта по наименованию или номеру вместо GUID — при совпадениях находится не та запись
03
Использование ПолучитьСсылку() без проверки существования — в реквизитах появляются битые ссылки
04
Удаление элемента до проверки «Найти ссылки на объект» — в документах остаются значения «<Объект не найден>»
05
Запуск «Тестирования и исправления» без резервной копии — необратимая потеря данных при ошибке

Выбор способа под задачу

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

Сравнение способов

Меню «Ещё» → «Получить ссылку»

Подходит для передачи объекта коллеге в той же базе; не требует прав и навыков, но не даёт GUID

Код УникальныйИдентификатор() / ПолучитьСсылку()

Нужен для обменов и поиска по GUID; требует доступа к консоли кода или конфигуратору

Команда «Найти ссылки на объект»

Единственный штатный способ увидеть все места использования объекта; на больших базах работает долго

Универсальные обработки поиска по GUID

Находят объект, когда тип неизвестен; требуют прав администратора и осторожности в работе

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

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

Открытие навигационной ссылки
Норма

Открывается именно тот объект, с которого копировали ссылку

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

Ошибка открытия или другой объект — ссылка вставлена не в ту базу

Проверка существования по GUID
Норма

ПолучитьОбъект() возвращает объект с корректными данными

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

Возвращается Неопределено — объекта с таким GUID в базе нет

Поиск ссылок перед удалением
Норма

Таблица найденных ссылок пуста

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

Есть строки — сначала очистите ссылки, иначе появятся «битые» значения

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

Чем навигационная ссылка отличается от GUID?

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

Можно ли найти объект по GUID, не зная его типа?

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

Почему навигационная ссылка не открывается у коллеги?

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

Что означает надпись «<Объект не найден>» в документе?

Реквизит содержит ссылку на запись, которой больше нет в базе. Такое происходит после удаления объекта без контроля ссылок или сбоя обмена. Нужно либо заменить значение на существующий объект, либо восстановить запись с тем же GUID.

Опасно ли запускать «Найти ссылки на объект» в рабочее время?

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

Меняется ли GUID при копировании объекта?

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

Итог

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

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