Инструменты пользователя

Инструменты сайта


1c:общие:уид

УИД или уникальный идентификатор

Описание

УИД это определенное значение, однозначно идентифицирующее объект ссылочного типа данных, другими словами, это и есть ссылка уникальная в рамках одной конкретно взятой таблицы, например у справочника номенклатура. УИД есть у любого объекта имеющего ссылочный тип данных, из синтаксис помощника следует, что УИД имеет следующий вид: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", где Х - символы обозначающие шестнадцатеричное число. Прочитать какой текущий уникальный идентификатор существует у ссылки можно с помощью метода УникальныйИдентификатор() например:

КонтрагентПетров = Справочники.Контрагенты.НайтиПоНаименованию(«Петров Иван Сергеевич»);
УИД = КонтрагентПетров. УникальныйИдентификатор();

Использование своего УИД при создании объекта

Изменить УИД у существующего объекта, штатными средствами встроенного языка нельзя. Зато можно при создании нового объекта указать свой УИД. Для этого нужно сделать несколько действий:

  1. Сгенерировать значение типа УИД, используя нужную нам строку(или не используя, как вам будет удобно)
    СтрокаGUID = "a763cfbb-f94f-4c67-8e13-0e96a3a7f353";
    НовыйGUID = Новый УникальныйИдентификатор(СтрокаGUID);
    //или просто
    НовыйGUID = Новый УникальныйИдентификатор;
  2. Получить ссылку из уже существующего УИД, нужного нам типа:
    СсылкаСНовымКлиентом = Справочники.Клиенты.ПолучитьСсылку(НовыйGUID);
  3. Установить эту ссылку новому объекту
    НовыйКлиент = Справочник.Клиенты.СоздатьЭлемент();
    НовыйКлиент.УстановитьСсылкуНововго(СсылкаСНовымКлиентом);

Подсказка. Если мы создаем УИД из конкретно взятой строки, то мы можем получить УИД существующего объекта и следовательно в шаге два получить не новую ссылку, а вполне себе существующую. В таком случае при записи объекта полученного в шаге три, система сообщит о том, что не может записать объект с неуникальной ссылкой. Зато получение ссылки по строковому идентификтору, очень удобно использовать при синхронизации между разнородными системами(не 1С) или между разными базами.


Ссылки

Только авторизованные участники могут оставлять комментарии.
1c/общие/уид.txt · Последнее изменение: 2014/07/26 16:18 — admin