В процессе работы с платформой 1С:Предприятие разработчики часто задаются вопросом: гарантирована ли уникальность GUID (глобального уникального идентификатора) для всех объектов системы? Разберем эту ситуацию детально, проанализируем механизмы хранения и риски, с которыми можно столкнуться при администрировании баз данных.
GUID представляет собой 128-битное число, которое должно обеспечивать уникальность объекта в глобальном масштабе. В платформе 1С алгоритм генерации GUID учитывает отметку времени и параметры оборудования (например, MAC-адрес сетевой карты). Однако важно понимать, что при определенных условиях эта «гарантия» может быть нарушена:
Да, это возможно. В архитектуре 1С каждый объект метаданных (например, Документ.РеализацияТоваровУслуг или Справочник.Номенклатура) хранится в своей отдельной таблице СУБД. База данных идентифицирует объект по составному ключу, который включает в себя ссылку на таблицу метаданных и сам GUID. Следовательно, наличие одного и того же GUID в разных таблицах — это допустимая ситуация, которая не вызывает сбоев в работе системы.
В пределах одного типа документа (одной таблицы) GUID является первичным ключом. Платформа 1С на программном уровне препятствует созданию двух объектов с одинаковым идентификатором в рамках одной информационной базы. Попытка принудительной записи объекта с уже существующим GUID вызовет ошибку. Однако, как отмечают эксперты, существуют исключения, связанные с архитектурой разделения данных.
При использовании механизмов разделения данных (например, в облачных архитектурах), объекты могут физически храниться в одной таблице, но логически принадлежать разным областям данных (арендаторам). Здесь ситуация меняется:
GUID для объектов, относящихся к разным областям. Платформа изолирует их друг от друга, и они воспринимаются как независимые записи.Чтобы избежать проблем с «пропаданием» документов и дублированием данных, придерживайтесь следующих правил:
GUID не является абсолютной функцией МоментВремени(). Это разные сущности.GUID, но разными типами регистраторов.Подводя итог, можно сказать, что GUID в 1С — это надежный инструмент, но он требует правильной настройки инфраструктуры. При возникновении «странностей» в данных в первую очередь стоит проверить корректность работы обменов и отсутствие дублирующихся сред, созданных путем клонирования.