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

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

Как посмотреть уникальный идентификатор объекта в 1С

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

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

Существует несколько рабочих способов узнать идентификатор: через встроенный язык, через консоль запросов, через адресную строку веб-клиента, через XML-выгрузку и через готовые обработки. Выбор зависит от того, есть ли у вас доступ к конфигуратору, работаете вы в тонком или веб-клиенте, и нужен GUID одного объекта или массово.

Что такое GUID в 1С и когда он нужен

GUID (глобально уникальный идентификатор) — это 36-символьная строка вида 8a3f5c2e-1b7d-4e9a-9c3f-2d8e6a1b5c4f, которую платформа присваивает каждому объекту при создании. Идентификатор не меняется при переименовании объекта, изменении кода или номера — именно поэтому обмены данными опираются на GUID, а не на человекочитаемые реквизиты.

Типовые ситуации, когда нужно посмотреть идентификатор: в журнале регистрации или в тексте ошибки фигурирует ссылка вида «Объект не найден (734:b8b200155d64...)»; требуется сопоставить записи двух баз при ручной сверке; разработчик внешней системы просит передать GUID товара или контрагента для API-интеграции.

Как получить GUID через встроенный язык

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

1c
Ссылка = Справочники.Номенклатура.НайтиПоКоду("000000123");
Сообщить(Строка(Ссылка.УникальныйИдентификатор()));

Обратная задача — найти объект по известному GUID — решается конструктором Новый УникальныйИдентификатор("строка") и методом ПолучитьСсылку(). После этого проверьте, что объект существует: запросите у ссылки любой реквизит или используйте проверку на битую ссылку.

1c
Ид = Новый УникальныйИдентификатор("8a3f5c2e-1b7d-4e9a-9c3f-2d8e6a1b5c4f");
Ссылка = Справочники.Номенклатура.ПолучитьСсылку(Ид);
Если Ссылка.ПолучитьОбъект() = Неопределено Тогда
    Сообщить("Объект не найден");
КонецЕсли;

Как посмотреть GUID через консоль запросов

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

1c-query
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка,
    Номенклатура.Наименование КАК Наименование,
    УникальныйИдентификатор(Номенклатура.Ссылка) КАК GUID
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    НЕ Номенклатура.ПометкаУдаления

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

Как узнать GUID без конфигуратора: веб-клиент и готовые обработки

В веб-клиенте идентификатор объекта виден прямо в адресной строке браузера. Откройте элемент справочника или документ — в URL после параметра ref= или в конце адреса будет закодированное представление ссылки, содержащее GUID. Способ не требует никаких прав, кроме доступа к самому объекту.

В тонком клиенте адресной строки нет, поэтому без прав разработчика используют готовые внешние обработки «Показать GUID» — их легко найти на профильных ресурсах. Такая обработка открывается через «Файл → Открыть» и выводит идентификатор выбранной ссылки. Перед запуском любой внешней обработки убедитесь, что она получена из доверенного источника.

GUID из XML-выгрузки и из адреса «Объект не найден»

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

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

Как проверить результат и типичные ошибки

После получения идентификатора убедитесь, что он корректен: строка должна содержать 36 символов с четырьмя дефисами и состоять из шестнадцатеричных цифр. Проверка обратным поиском — по полученному GUID платформа должна вернуть тот же объект.

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

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

Формат строки
Норма

36 символов, 4 дефиса, только 0-9 и a-f

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

Лишние символы, фигурные скобки, кириллица

Обратный поиск по GUID
Норма

ПолучитьСсылку() возвращает тот же объект

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

Ссылка пустая или объект не найден

Сравнение двух баз
Норма

GUID совпадает для одного и того же объекта

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

GUID разные — объекты были созданы независимо

Типичные ошибки
01
Копирование GUID вместе с фигурными скобками или кавычками — встроенный язык не принимает такую строку, конструктор выдаёт ошибку.
02
Попытка использовать код или номер вместо GUID при обмене — после перенумерации сопоставление ломается.
03
Поиск объекта по GUID в неправильном типе справочника — ПолучитьСсылку вернёт ссылку, но объекта в этом виде нет.
04
Сравнение GUID как ссылок оператором равенства вместо сравнения строк — из-за регистра символов возможны ложные несовпадения.

Выбор способа под вашу ситуацию

Маршрут решения

Как выбрать действие

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

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

GUID объекта получают методом УникальныйИдентификатор(), запросом, через адресную строку веб-клиента или внешнюю обработку. Идентификатор не меняется в течение жизни объекта, а значение из ошибки «Объект не найден» требует преобразования байтов.

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

Можно ли изменить GUID существующего объекта?

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

Одинаковы ли GUID у объекта в главной и подчинённой базах РИБ?

Да, при обмене по правилам конвертации и в РИБ идентификаторы синхронизируются — именно по GUID узлы понимают, что речь об одном объекте. Расхождение GUID обычно означает, что объект создавался независимо в обеих базах.

Как найти GUID документа, если известен только его номер?

Найдите документ методом НайтиПоНомеру() с указанием даты (номер уникален только в пределах периода), затем вызовите УникальныйИдентификатор() у полученной ссылки.

Почему GUID из 1С не совпадает с тем, что видит внешняя система?

Частая причина — регистр букв или обрамление скобками: некоторые системы хранят GUID в верхнем регистре и с фигурными скобками. Приводите строки к единому виду перед сравнением.

Можно ли посмотреть GUID в мобильном клиенте 1С?

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