Что такое GUID в 1С
GUID в 1С — это уникальный идентификатор объекта базы данных: элемента справочника, документа, плана видов характеристик, бизнес-процесса. В платформе 1С:Предприятие 8 он представлен типом «УникальныйИдентификатор» и хранится внутри каждой ссылки. Это 128-битное число, которое записывается 32 шестнадцатеричными символами в формате 8-4-4-4-12, например 3f2504e0-4f89-11d3-9a0c-0305e82c3301. GUID не зависит от кода, наименования и номера, не меняется при переименовании объекта и одинаков во всех копиях базы, поэтому именно по нему сопоставляют данные при обменах и интеграциях.

Содержание
Откуда берётся GUID
Когда пользователь создаёт новый элемент справочника или документ и записывает его, платформа генерирует случайный идентификатор и присваивает его ссылке. Вероятность совпадения двух случайных GUID настолько мала, что на практике ею пренебрегают. Идентификатор не виден в обычной форме объекта: пользователь работает с кодом, номером и наименованием, а GUID живёт «под капотом». В таблицах СУБД ссылка хранится в двоичном поле длиной 16 байт, причём порядок байтов там отличается от привычного текстового представления.
Сам формат GUID — общий стандарт, он используется и в других системах; о том, как он устроен в языках программирования, рассказано в статье что такое GUID в C#.
Чем GUID отличается от кода и номера
- Код и номер может изменить пользователь, они могут повторяться в разных периодах или префиксах, их перенумеровывают при свёртке базы.
- GUID задаётся один раз и больше не меняется. Даже если элемент переименовать, перенести в другую группу или поменять код, ссылка останется прежней.
- Ссылка — это пара «тип объекта + GUID». Поэтому одинаковый идентификатор теоретически может встретиться у объектов разных типов, но в пределах одного справочника он уникален.
Как получить GUID объекта
Во встроенном языке у ссылки есть метод «УникальныйИдентификатор()». Например, для элемента номенклатуры выражение Ссылка.УникальныйИдентификатор() вернёт значение, а функция Строка() превратит его в текст. Так GUID выгружают в файлы обмена, JSON для веб-сервисов или во внешние системы.
Без программирования GUID можно увидеть в навигационной ссылке: в форме объекта выберите «Получить ссылку» (Shift+F11). В ссылке вида e1cib/data/Справочник.Номенклатура?ref=… идентификатор записан 32 символами без дефисов и с другим порядком групп, поэтому напрямую сравнивать его с GUID в формате 8-4-4-4-12 нельзя — нужна перестановка.
Как найти объект по GUID
Обратная задача — получить ссылку, зная идентификатор. Сначала из строки создают значение: Новый УникальныйИдентификатор("3f2504e0-..."). Затем вызывают менеджер нужного объекта: Справочники.Номенклатура.ПолучитьСсылку(УИД). Важная деталь: метод вернёт ссылку, даже если объекта с таким GUID в базе нет — это будет «битая» ссылка. Поэтому после получения проверяют, существует ли объект, например запросом или обращением к реквизиту. Проверка корректности самой строки идентификатора описана в материале как проверить GUID.
Создание объекта с заданным GUID
При загрузке данных из другой базы часто нужно, чтобы новый элемент получил тот же идентификатор, что и в источнике. Для этого у нового объекта вызывают метод УстановитьСсылкуНового(), передав ссылку, полученную по GUID. После записи объект в приёмнике будет иметь тот же идентификатор, и повторная загрузка не создаст дубль, а обновит существующий элемент. На этом построены стандартные правила обмена и формат EnterpriseData.
Где GUID применяется на практике
- Обмены между базами. Конвертация данных, синхронизация бухгалтерии и торговли, распределённые базы — сопоставление идёт по GUID.
- Интеграции. Интернет-магазины, мобильные приложения и CRM получают из 1С идентификаторы товаров и контрагентов, чтобы не путать объекты с одинаковыми названиями.
- Государственные системы. Во ФГИС «Меркурий», ГИС ЖКХ и адресном реестре ГАР у предприятий, площадок и адресов свои GUID, которые хранятся в 1С как обычные реквизиты.
- HTTP-сервисы и OData. Запросы к базе по REST обычно адресуют объекты именно по идентификатору.
Частые ошибки
- Дубли при обмене. Если один и тот же товар завели вручную в двух базах, у элементов разные GUID, и синхронизация создаст копии. Их потом объединяют обработкой поиска и замены ссылок.
- Путаница с GUID «Меркурия». Идентификатор предприятия во ФГИС — не GUID объекта 1С, а отдельный реквизит. О том, где его взять, рассказано в статье как найти GUID в Меркурии.
- Регистр букв. Текстовое представление GUID в 1С выводится строчными буквами; при сравнении со строками из внешних систем приводите их к одному регистру.
- Пустая ссылка. У пустой ссылки идентификатор состоит из нулей: 00000000-0000-0000-0000-000000000000.
Нужно ли пользователю знать GUID
Бухгалтеру и менеджеру в повседневной работе GUID не нужен. Он важен администраторам и программистам, которые настраивают обмены, пишут обработки и интеграции, разбирают ошибки синхронизации. Но знать о нём полезно всем: если при обмене «пропали» данные или появились дубли, первым делом проверяют, совпадают ли идентификаторы объектов в обеих базах.