Разработка и Конфигурация · 10 мин
UUID в 1С: где найти и как получить уникальный идентификатор объекта
Как найти UUID объекта в 1С: через конфигуратор, запрос, стандартные функции и адресную строку браузера. Способы получить GUID справочника и документа.
UUID (универсальный уникальный идентификатор) в 1С — это 36-символьная строка вида 8b3a7c1e-4f2d-11ee-be56-0242ac120002, которую платформа автоматически присваивает каждому объекту базы: элементу справочника, документу, записи регистра. Он не меняется при переименовании объекта и используется для обмена данными, интеграций и поиска конкретных записей.
Задача «найти UUID» возникает в нескольких типовых ситуациях: при настройке обмена с сайтом или другой системой, при поиске «битой ссылки» (объект не найден), при отладке интеграций по API и при восстановлении удалённых данных. В зависимости от того, работаете вы в пользовательском режиме, в конфигураторе или пишете код, способы получить идентификатор различаются.
Ниже разобраны все рабочие способы: от простого копирования из адресной строки браузера до запросов и встроенных функций языка 1С, а также обратная задача — найти объект по известному UUID.
Что такое UUID в 1С и где он хранится
UUID (в терминологии 1С также GUID — глобальный уникальный идентификатор) генерируется платформой в момент создания объекта и хранится в служебном поле таблицы базы данных. Пользователь в обычных формах его не видит: в списках отображаются код, наименование, номер и дата, но не идентификатор.
Важное свойство: UUID уникален в пределах всей информационной базы и не зависит от видимых реквизитов. Если удалить элемент справочника и создать новый с тем же наименованием — UUID будет другим. Именно поэтому по идентификатору можно отличить «тот самый» объект от похожего.
UUID состоит из 36 символов (32 шестнадцатеричных знака и 4 дефиса). В сообщениях об ошибках вида «Объект не найден (84:абв...)» показывается не полный UUID, а внутреннее представление ссылки — его тоже можно преобразовать в идентификатор, об этом ниже.
Как найти UUID через адресную строку браузера
Самый быстрый способ без программирования — работа через веб-клиент или тонкий клиент с публикацией базы на веб-сервере. Откройте нужный объект (элемент справочника или документ) и посмотрите на адресную строку браузера.
В ссылке будет фрагмент вида ?ref=8b3a7c1e4f2d11eebe560242ac120002 или параметр с аналогичным значением — это и есть UUID объекта, только без дефисов. Чтобы получить канонический вид, расставьте дефисы по шаблону 8-4-4-4-12 символов.
Способ подходит для разового поиска идентификатора конкретного объекта, но неудобен для массовой выгрузки. Также учтите: если база работает только в толстом клиенте без веб-публикации, адресной строки не будет — используйте другие методы.
Как получить UUID через навигационную ссылку
В тонком клиенте у любого открытого объекта есть навигационная ссылка, содержащая идентификатор. Откройте объект, нажмите кнопку «Ещё» (или значок ссылки в заголовке формы, зависит от конфигурации) и выберите «Получить ссылку» либо «Перейти по ссылке».
Появится строка вида e1cib/data/Справочник.Номенклатура?ref=8b3a7c1e4f2d11eebe560242ac120002. Часть после ref= — UUID в шестнадцатеричном виде без дефисов. Эта же ссылка удобна для передачи коллеге: вставив её в диалог «Перейти по ссылке», он откроет именно этот объект.
- 1Откройте нужный объект в тонком клиенте 1С
- 2Нажмите «Ещё» → «Получить ссылку» (или аналогичную команду формы)
- 3Скопируйте строку и найдите в ней параметр ref=
- 4Выделите 32 символа после ref= — это UUID без дефисов
- 5При необходимости расставьте дефисы по шаблону 8-4-4-4-12
Как найти UUID через конфигуратор и код
Если у вас есть доступ к конфигуратору или консоли кода, идентификатор получается одной строкой. Основной метод — УникальныйИдентификатор() у ссылки объекта:
Ид = СсылкаНаОбъект.УникальныйИдентификатор();
Сообщить(Ид); // например: 8b3a7c1e-4f2d-11ee-be56-0242ac120002
Для массового просмотра удобна консоль запросов или произвольный запрос: выберите поле «Ссылка» и выведите его через функцию представления — во многих инструментах разработчика (например, в типовой «Консоли запросов» из состава БСП или сторонних консолях кода) есть команда показа GUID выделенной ссылки.
Обратная задача — получить ссылку по известному UUID — решается методом ПолучитьСсылку():
Ид = Новый УникальныйИдентификатор("8b3a7c1e-4f2d-11ee-be56-0242ac120002");
Ссылка = Справочники.Номенклатура.ПолучитьСсылку(Ид);
Если Ссылка.ПолучитьОбъект() = Неопределено Тогда
Сообщить("Объект не найден в базе");
КонецЕсли;
Ид = Новый УникальныйИдентификатор("8b3a7c1e-4f2d-11ee-be56-0242ac120002");
Ссылка = Справочники.Номенклатура.ПолучитьСсылку(Ид);Как найти объект по UUID из ошибки «Объект не найден»
Типичная ситуация: в журнале регистрации или при открытии документа появляется сообщение «Объект не найден» с кодом в скобках. Это внутреннее представление битой ссылки, а не чистый UUID, но из него можно восстановить идентификатор.
Практический путь: используйте обработку поиска и восстановления битых ссылок (в типовых конфигурациях — «Поиск и удаление дублей», групповая обработка справочников, либо специализированные внешние обработки). Они показывают, какие объекты ссылаются на несуществующий идентификатор, и позволяют заменить или очистить ссылку.
Если UUID пришёл из внешней системы (сайт, CRM, шина данных), сначала определите тип объекта — справочник это или документ, и какой именно. Без типа получить ссылку нельзя: метод ПолучитьСсылку() вызывается у конкретного менеджера объекта.
UUID при обмене и интеграциях: что учитывать
При обмене через планы обмена и EnterpriseData UUID — основной ключ сопоставления объектов между базами. Если в двух базах один и тот же контрагент имеет разные UUID, обмен создаст дубль. Поэтому при первичной синхронизации сначала сопоставляют объекты по кодам, ИНН или другим реквизитам, а затем фиксируют соответствие идентификаторов.
При интеграции через HTTP-сервисы, OData или REST-интерфейс типовой публикации UUID передаётся в явном виде: в стандартном OData-интерфейсе 1С ключ сущности — это поле Ref_Key, содержащее идентификатор. Его можно увидеть прямо в ответе на GET-запрос к опубликованной базе.
Учтите ограничение: при выгрузке-загрузке через универсальный обмен XML идентификаторы обычно сохраняются, а при ручном создании объектов в новой базе — нет. Если требуется перенести данные «один в один» с сохранением UUID, используйте выгрузку/загрузку информационной базы или специализированные обработки переноса.
Способы найти UUID
Быстро и без прав разработчика, но только в веб-клиенте и для одного объекта за раз
Работает в тонком клиенте, подходит для разового поиска и передачи ссылки коллеге
Требует прав и навыков, зато позволяет массовую выгрузку и обратный поиск по UUID
Подходит для внешних систем: UUID приходит в поле Ref_Key автоматически
Типичные ошибки при работе с UUID
Первая частая ошибка — путать UUID с кодом или номером объекта. Код справочника и номер документа могут повторяться между базами и меняться, UUID — никогда. Использовать код как ключ интеграции нельзя.
Вторая ошибка — неверный формат строки. Метод Новый УникальныйИдентификатор(Строка) принимает только канонический вид с дефисами; строка из 32 символов без дефисов вызовет ошибку. Также регистр букв значения не имеет, но дефисы обязательны.
Третья ошибка — попытка найти объект по UUID без указания типа. Один и тот же идентификатор теоретически может существовать у объектов разных таблиц, поэтому платформа требует явно указать менеджер: Справочники.Контрагенты, Документы.РеализацияТоваровУслуг и т.д.
Как проверить результат
После получения UUID убедитесь, что он действительно указывает на нужный объект. Пройдите по навигационной ссылке с этим идентификатором — должна открыться форма именно того элемента или документа.
При обратном поиске по UUID проверьте, что ПолучитьСсылку() вернула существующий объект: запросите у ссылки любой реквизит или проверьте ПолучитьОбъект() на Неопределено. Если объект удалён, реквизиты будут пустыми, а попытка открыть форму даст ошибку «Объект не найден».
Как проверить результат
36 символов, шаблон 8-4-4-4-12 с дефисами
32 символа без дефисов или лишние символы — конструктор выдаст ошибку
Открывается именно тот объект, который искали
Ошибка «Объект не найден» — ссылка битая или тип не совпадает
Реквизиты ссылки заполнены, объект открывается
ПолучитьОбъект() возвращает Неопределено — объект удалён или UUID из другой базы
Итог: в большинстве случаев UUID находится за минуту — через адресную строку браузера или навигационную ссылку. Для массовых задач и обратного поиска используйте методы УникальныйИдентификатор() и ПолучитьСсылку(), а при интеграциях фиксируйте соответствие идентификаторов между системами, чтобы избежать дублей.
Что важно запомнить
UUID — неизменный идентификатор объекта, видимый в адресной строке веб-клиента и навигационной ссылке; в коде его даёт метод УникальныйИдентификатор(), а обратный поиск выполняется через ПолучитьСсылку() с обязательным указанием типа объекта.
Частые вопросы
Чем UUID отличается от кода справочника?
Код — видимый реквизит, который может повторяться в разных базах, меняться и назначаться вручную. UUID генерируется платформой один раз при создании объекта, никогда не меняется и гарантированно уникален в базе. Для интеграций и обменов использовать нужно именно UUID.
Можно ли изменить UUID существующего объекта?
Штатными средствами — нет, идентификатор неизменен. Технически возможно создать новый объект с заданным UUID через УстановитьСсылкуНового(), но это фактически другой объект. Делать так в рабочей базе стоит только при восстановлении после сбоев и обязательно с резервной копией.
Как найти UUID сразу для списка объектов?
Используйте консоль запросов или консоль кода: выберите ссылки нужных объектов и выведите для каждой значение Ссылка.УникальныйИдентификатор(). Результат можно выгрузить в таблицу или файл для передачи во внешнюю систему.
Почему ПолучитьСсылку() по UUID возвращает ссылку, но объект не открывается?
Метод ПолучитьСсылку() не проверяет существование объекта — он просто формирует ссылку из идентификатора. Если объекта с таким UUID нет в таблице, при обращении к реквизитам вы получите пустые значения, а при открытии — «Объект не найден». Всегда проверяйте существование через ПолучитьОбъект() или запрос.
Где посмотреть UUID в мобильном клиенте 1С?
В мобильном клиенте адресной строки нет, поэтому UUID получают программно — через навигационную ссылку объекта или кодом. Если мобильное приложение обменивается с основной базой, идентификатор виден в данных обмена и в ответах веб-сервисов.