Что такое GUID и для чего он используется?
GUID — это 128-битное значение, которое используется в платформе «1С:Предприятие» для уникальной идентификации объектов базы данных. В текстовом представлении этот идентификатор выглядит как строка из 32 шестнадцатеричных цифр, сгруппированных в формате 8-4-4-4-12 и разделённых дефисами, например:
8f9676e5-5710-11e8-9c2d-fa7ae01bbebc
GUID служит «паспортом» для каждого объекта в базе данных 1С — будь то элемент справочника, документ или любой другой ссылочный объект. Основная сфера применения GUID — это задачи интеграции и обмена данными:
- Глобальная уникальность: Вероятность того, что два разных GUID совпадут, ничтожно мала, что гарантирует их уникальность не только в рамках одной базы, но и во всём мире.
- Идентификация при обмене: GUID позволяют однозначно идентифицировать одни и те же объекты (например, контрагентов или номенклатуру) в разных информационных базах 1С или при интеграции с внешними системами.
UUID и GUID: есть ли разница?
UUID (Universally Unique Identifier) — стандарт универсальных уникальных идентификаторов, описанный в RFC 4122 и его последующих редакциях. UUID определяет формат хранения данных, правила генерации и представления идентификатора.
GUID (Globally Unique Identifier) — термин, используемый Microsoft для обозначения UUID. Фактически GUID является реализацией UUID в экосистеме Microsoft.
С точки зрения структуры данных GUID и UUID представляют собой один и тот же 128-битный идентификатор и обычно имеют одинаковое строковое представление. В платформе 1С используется тип данных УникальныйИдентификатор, который хранит 128-битный идентификатор в формате, совместимом с GUID/UUID.
Как получить GUID
В 1С есть несколько практических способов получить GUID, и выбор зависит от того, нужен ли новый идентификатор или идентификатор уже существующего объекта.
Генерация нового GUID:
НовыйGUID = Новый УникальныйИдентификатор();Получение GUID существующего объекта:
Ссылка = Справочники.Номенклатура.НайтиПоКоду("00001");
GUIDЭлемента = Ссылка.УникальныйИдентификатор();Получение ссылки по известному GUID:
СтрокаGUID = "a763cfbb-f94f-4c67-8e13-0e96a3a7f353";
Ссылка = Справочники.Клиенты.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаGUID));