Администрирование · 11 мин
Как найти ссылку на объект 1С
Как найти ссылку на объект 1С: уникальный идентификатор, навигационная ссылка, поиск ссылок на объект в базе. Пошаговые инструкции для пользователя и разработчика.
Под «ссылкой на объект» в 1С понимают три разные вещи: внутреннюю ссылку (указатель на запись в базе данных), уникальный идентификатор объекта (GUID) и навигационную ссылку, которую можно передать коллеге или вставить в письмо. Прежде чем искать, определите, какая именно ссылка вам нужна: для обмена данными между базами нужен GUID, для быстрого перехода к документу — навигационная ссылка, а для поиска всех мест использования объекта — специальная команда.
Способы получения ссылки различаются в зависимости от режима работы: в тонком клиенте и веб-клиенте доступны одни инструменты, в конфигураторе и через встроенный язык — другие. Ниже разобраны все практические сценарии: от простого копирования навигационной ссылки до поиска объекта по известному GUID и обработки «битых» ссылок.
Большинство операций не требуют прав администратора и выполняются штатными средствами платформы. Однако некоторые действия — например, работа с универсальными обработками или прямые запросы к базе — требуют осторожности и понимания последствий.
Что такое ссылка на объект в 1С и какие виды ссылок существуют
В платформе 1С:Предприятие каждый объект базы данных — документ, элемент справочника, запись регистра — имеет внутреннюю ссылку. Это не текстовый адрес, а структура данных, которая однозначно указывает на конкретную запись в конкретной таблице. Именно такие ссылки хранятся в реквизитах: например, в поле «Контрагент» документа хранится ссылка на элемент справочника контрагентов.
Для практических задач используются три представления ссылки. Первое — GUID, уникальный идентификатор из 32 шестнадцатеричных символов, который сохраняется у объекта в течение всей его жизни и используется при обмене данными между базами. Второе — навигационная ссылка вида e1cib/data/Документ.РеализацияТоваровУслуг?ref=..., которую платформа умеет открывать как гиперссылку. Третье — строковое представление (например, «Реализация товаров и услуг 0000-000123 от 15.03.2026»), которое удобно человеку, но не подходит для однозначной идентификации, так как номера и наименования могут совпадать.
Как скопировать навигационную ссылку через интерфейс
Самый простой способ поделиться объектом с коллегой — навигационная ссылка. Откройте нужный документ или элемент справочника, нажмите кнопку «Ещё» в командной панели формы и выберите пункт «Получить ссылку» (в некоторых конфигурациях — «Вывести ссылку» или аналогичный). Платформа покажет окно с адресом, который можно скопировать в буфер обмена.
Полученная ссылка выглядит примерно так: e1cib/data/Справочник.Номенклатура?ref=812a001b7a2f9c0a11ed.... Если вставить её в поле «Перейти по ссылке» (меню «Сервис» или кнопка перехода в главном окне) в той же информационной базе, откроется именно этот объект. Во многих конфигурациях навигационные ссылки можно вставлять прямо в текст писем и задач внутри системы — они останутся кликабельными.
- 1Откройте нужный документ или элемент справочника
- 2Нажмите «Ещё» в командной панели формы
- 3Выберите «Получить ссылку» и скопируйте адрес
- 4Проверьте: вставьте ссылку через «Перейти по ссылке» — должен открыться тот же объект
Учтите ограничение: навигационная ссылка работает только внутри той же информационной базы. Если коллега работает в другой базе (например, в тестовой копии), открыть объект по этой ссылке он не сможет — либо получит ошибку, либо откроется совершенно другой объект, если совпадёт внутренний идентификатор таблицы.
Как узнать GUID объекта
Уникальный идентификатор нужен при настройке обменов, разборе ошибок синхронизации и поиске объекта по данным из внешних систем. В пользовательском интерфейсе GUID напрямую не показывается, поэтому его получают одним из трёх способов.
Первый способ — через навигационную ссылку. В адресе вида ?ref=812a001b7a2f9c0a11ed... после параметра ref закодирован тот же идентификатор, но в «перевёрнутом» виде: байты внутри групп идут в обратном порядке. Для разовых задач удобнее не перекодировать вручную, а воспользоваться вторым способом — внешней обработкой или консолью кода, где выполняется строка:
Сообщить(Объект.Ссылка.УникальныйИдентификатор());
Третий способ — типовые механизмы конфигурации. В некоторых решениях (например, при включённой синхронизации данных) идентификатор объекта можно увидеть в регистрах соответствия или в служебных реквизитах формы. Если у вас есть доступ к конфигуратору, GUID также виден при просмотре объекта через «Вывести список» с добавлением поля «Ссылка» в отладчике.
// Получить GUID ссылки
ИД = Ссылка.УникальныйИдентификатор();
Сообщить(ИД);
// Найти объект по GUID
Ссылка = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор("a1b2c3d4-..."));
Если Ссылка.ПолучитьОбъект() = Неопределено Тогда
Сообщить("Объект не найден");
КонецЕсли;Как найти объект по известной ссылке или GUID
Обратная задача возникает, когда из журнала обмена, ошибки или письма у вас есть только идентификатор, а нужно найти сам объект. Если известен тип объекта (справочник «Номенклатура», документ «Заказ»), используйте метод ПолучитьСсылку() с конструктором Новый УникальныйИдентификатор(...), как в примере выше. Затем проверьте существование объекта попыткой получить его данные.
Если тип объекта неизвестен, задача сложнее: GUID сам по себе не содержит информации о таблице. В этом случае применяют универсальные обработки «Поиск объекта по GUID», которые перебирают все ссылочные таблицы метаданных и ищут совпадение. Такие обработки есть в составе типовых инструментов разработчика и на диске ИТС. Перебор всех таблиц в большой базе занимает заметное время — запускайте поиск в нерабочие часы или сначала сузьте круг кандидатов по контексту (например, ищите только среди документов, если идентификатор пришёл из журнала проведения).
Как найти все места, где используется объект
Частая практическая задача: перед удалением элемента справочника узнать, в каких документах и регистрах он задействован. Для этого в платформе есть штатная команда. Выделите объект в списке, нажмите «Ещё» и выберите «Найти ссылки на объект» (в некоторых конфигурациях команда называется «Показать ссылки» или находится в меню «Все функции» → «Поиск ссылок на объекты»).
Платформа построит таблицу: слева — найденные объекты (документы, элементы справочников), справа — в каких реквизитах или движениях встречается ссылка. Из этой таблицы можно открыть любой объект двойным щелчком и убрать ссылку вручную. Только после очистки всех вхождений объект безопасно удалять или помечать на удаление.
В файловом варианте базы поиск ссылок может занимать минуты — платформа последовательно проверяет все таблицы. В клиент-серверном варианте операция выполняется быстрее, но тоже создаёт нагрузку, поэтому массовые проверки лучше не запускать в разгар рабочего дня.
Что делать с «битыми» ссылками
«Битая» ссылка — это ссылка на несуществующий объект. Она возникает после прямого удаления данных минуя контроль ссылочной целостности, при сбоях обмена или восстановления базы. В интерфейсе такая ссылка отображается как «<Объект не найден> (77e5...)» с фрагментом идентификатора.
Идентификатор из текста сообщения позволяет попытаться восстановить объект: если известно, из какой таблицы пропала запись, создают новый объект и через обработку присваивают ему нужный GUID методом УстановитьСсылкуНового(). Это стандартный приём при восстановлении данных после сбоев обмена, когда объект есть в другой базе и его можно перенести с сохранением идентификатора.
Профилактически битые ссылки ищут штатной проверкой «Тестирование и исправление» в конфигураторе (режим «Проверка ссылочной целостности») или типовой обработкой поиска и удаления дублей. Перед запуском тестирования и исправления обязательно сделайте резервную копию: режимы исправления могут безвозвратно изменять и удалять данные.
Выбор способа под задачу
Для разовых пользовательских задач достаточно интерфейсных команд: «Получить ссылку» и «Найти ссылки на объект» закрывают большинство потребностей без программирования. Программные методы нужны разработчикам и администраторам при настройке обменов, диагностике ошибок синхронизации и восстановлении данных.
Сравнение способов
Подходит для передачи объекта коллеге в той же базе; не требует прав и навыков, но не даёт GUID
Нужен для обменов и поиска по GUID; требует доступа к консоли кода или конфигуратору
Единственный штатный способ увидеть все места использования объекта; на больших базах работает долго
Находят объект, когда тип неизвестен; требуют прав администратора и осторожности в работе
Как проверить результат
Открывается именно тот объект, с которого копировали ссылку
Ошибка открытия или другой объект — ссылка вставлена не в ту базу
ПолучитьОбъект() возвращает объект с корректными данными
Возвращается Неопределено — объекта с таким GUID в базе нет
Таблица найденных ссылок пуста
Есть строки — сначала очистите ссылки, иначе появятся «битые» значения
Частые вопросы
Чем навигационная ссылка отличается от GUID?
Навигационная ссылка — это адрес для открытия объекта в интерфейсе конкретной базы, GUID — неизменный идентификатор записи, не зависящий от базы-получателя. Для передачи коллеге используйте навигационную ссылку, для обмена между базами — GUID.
Можно ли найти объект по GUID, не зная его типа?
Да, но только перебором: специальные обработки последовательно проверяют все ссылочные таблицы метаданных. В большой базе это долго, поэтому по возможности сужайте поиск по контексту — например, только по справочникам или только по документам.
Почему навигационная ссылка не открывается у коллеги?
Скорее всего, коллега работает в другой информационной базе — навигационные ссылки действуют только внутри той базы, где были получены. Также проверьте, что у коллеги есть права на просмотр этого объекта.
Что означает надпись «<Объект не найден>» в документе?
Реквизит содержит ссылку на запись, которой больше нет в базе. Такое происходит после удаления объекта без контроля ссылок или сбоя обмена. Нужно либо заменить значение на существующий объект, либо восстановить запись с тем же GUID.
Опасно ли запускать «Найти ссылки на объект» в рабочее время?
Сама команда не изменяет данные и безопасна, но в файловых базах и при большом объёме данных она может заметно нагружать систему. Опасен не поиск, а последующее удаление объекта без анализа найденных ссылок.
Меняется ли GUID при копировании объекта?
Да. При интерактивном копировании платформа создаёт новый объект с новым идентификатором. Сохранить GUID можно только программно — через УстановитьСсылкуНового() при записи нового объекта.
Что важно запомнить
Для передачи объекта коллеге копируйте навигационную ссылку через «Ещё» → «Получить ссылку», для обменов используйте GUID, а перед удалением объекта всегда проверяйте места его использования командой «Найти ссылки на объект». Навигационные ссылки работают только в своей базе, а любые операции восстановления и исправления данных выполняйте после создания резервной копии.