Администрирование · 8 мин
Как посмотреть уникальный идентификатор объекта в 1С
Как узнать уникальный идентификатор GUID объекта в 1С: через конфигуратор, встроенный язык, запрос и внешние обработки. Пошаговые способы и типичные ошибки.
Уникальный идентификатор (GUID) в 1С — это внутренняя ссылка на объект базы: элемент справочника, документ, запись регистра. Он нужен при обмене данными между базами, при отладке интеграций, при поиске «потерянного» объекта по ссылке из ошибки и при написании запросов к внешним источникам. В пользовательском интерфейсе GUID напрямую не отображается, поэтому приходится использовать специальные приёмы.
Существует несколько рабочих способов узнать идентификатор: через встроенный язык, через консоль запросов, через адресную строку веб-клиента, через XML-выгрузку и через готовые обработки. Выбор зависит от того, есть ли у вас доступ к конфигуратору, работаете вы в тонком или веб-клиенте, и нужен GUID одного объекта или массово.
Что такое GUID в 1С и когда он нужен
GUID (глобально уникальный идентификатор) — это 36-символьная строка вида 8a3f5c2e-1b7d-4e9a-9c3f-2d8e6a1b5c4f, которую платформа присваивает каждому объекту при создании. Идентификатор не меняется при переименовании объекта, изменении кода или номера — именно поэтому обмены данными опираются на GUID, а не на человекочитаемые реквизиты.
Типовые ситуации, когда нужно посмотреть идентификатор: в журнале регистрации или в тексте ошибки фигурирует ссылка вида «Объект не найден (734:b8b200155d64...)»; требуется сопоставить записи двух баз при ручной сверке; разработчик внешней системы просит передать GUID товара или контрагента для API-интеграции.
Как получить GUID через встроенный язык
Самый надёжный способ — метод УникальныйИдентификатор(), доступный у любой ссылки. Если у вас есть права на выполнение произвольного кода (консоль кода, внешняя обработка или пункт «Выполнить код» в инструментах разработчика), достаточно одной строки.
Ссылка = Справочники.Номенклатура.НайтиПоКоду("000000123");
Сообщить(Строка(Ссылка.УникальныйИдентификатор()));Обратная задача — найти объект по известному GUID — решается конструктором Новый УникальныйИдентификатор("строка") и методом ПолучитьСсылку(). После этого проверьте, что объект существует: запросите у ссылки любой реквизит или используйте проверку на битую ссылку.
Ид = Новый УникальныйИдентификатор("8a3f5c2e-1b7d-4e9a-9c3f-2d8e6a1b5c4f");
Ссылка = Справочники.Номенклатура.ПолучитьСсылку(Ид);
Если Ссылка.ПолучитьОбъект() = Неопределено Тогда
Сообщить("Объект не найден");
КонецЕсли;Как посмотреть GUID через консоль запросов
Если установлена консоль запросов (типовая «Консоль запросов» с диска ИТС или аналогичная разработка), идентификатор можно вывести для целого списка объектов. В языке запросов есть функция УникальныйИдентификатор(), которая принимает ссылку.
ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка,
Номенклатура.Наименование КАК Наименование,
УникальныйИдентификатор(Номенклатура.Ссылка) КАК 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 объекта получают методом УникальныйИдентификатор(), запросом, через адресную строку веб-клиента или внешнюю обработку. Идентификатор не меняется в течение жизни объекта, а значение из ошибки «Объект не найден» требует преобразования байтов.
Частые вопросы
Можно ли изменить GUID существующего объекта?
Штатными средствами — нет, идентификатор назначается при создании и не редактируется. Косвенный способ — создать новый объект с нужным GUID через ПолучитьСсылку() и перенести данные, но это рискованная операция, требующая корректировки всех ссылок.
Одинаковы ли GUID у объекта в главной и подчинённой базах РИБ?
Да, при обмене по правилам конвертации и в РИБ идентификаторы синхронизируются — именно по GUID узлы понимают, что речь об одном объекте. Расхождение GUID обычно означает, что объект создавался независимо в обеих базах.
Как найти GUID документа, если известен только его номер?
Найдите документ методом НайтиПоНомеру() с указанием даты (номер уникален только в пределах периода), затем вызовите УникальныйИдентификатор() у полученной ссылки.
Почему GUID из 1С не совпадает с тем, что видит внешняя система?
Частая причина — регистр букв или обрамление скобками: некоторые системы хранят GUID в верхнем регистре и с фигурными скобками. Приводите строки к единому виду перед сравнением.
Можно ли посмотреть GUID в мобильном клиенте 1С?
Напрямую в интерфейсе мобильного клиента идентификатор не отображается. Используйте встроенный язык через отладку или выведите GUID в дополнительный реквизит формы средствами расширения конфигурации.