Уникальный идентификатор в 1С область и некоторые особенности использования

В самом названии «уникальный идентификатор» содержится два главных качества, которыми должен обладать данный объект:

  1. Он должен был уникальным;
  2. С его помощью можно легко определить, какой объект он идентифицирует.

Уникальность

Разговор про уникальность необходимо начинать с того, что такое GUID (Globally Unique Identifier) и как этот GUID формируется.

Событие, состоящее в выпадение двух абсолютно одинаковых чисел из последовательности, максимальный член которой имеет порядок 10 в 38 степени, очевидно, является маловероятным. Именно на этом и основан принцип глобального уникального идентификатора.

Каждый идентификатор содержит 128 бит информации, записанный в виде шестнадцатиричного числа ( в 1С имеет вид a96ca0cd-b164-11e6-80c2-00155d001fe4). Простенький код (Рис.1) позволяет получить УИ любого элемента базы данных.

Рис.1

Конечно, полностью гарантировать уникальность отдельно взятого значения невозможно. Однако, шансы на то, что при работе приложений и сервис возникнут два разных объекта с одинаковым GUID крайне малы.

Идентификация

Воспользовавшись вышесказанными особенностями, статистически маловероятную величину решили использовать в программировании для определения уникальности того или иного объекта. Базы данных 1С также используют эту возможность.

Каждая ссылка в 1С на тот или иной объект данных состоит из двух частей, которые позволяют максимально полно его описать:

  • Уникальный идентификатор (УИ), можно называть его GUID;
  • Типа ссылки (описание объекта метаданных).

Таким образом, даже если случится маловероятное событие и генератор случайных чисел выдаст для еще одного объекта базы идентификатор уже существующего элемента, внутри одной таблицы (одного типа метаданных) такие два объекта существовать не будут.

Важно понимать, что УИ в базах 1С не позволяет идентифицировать элементы необъектного типа, в частности строки табличных частей документов и справочников. В случае возникновения такой необходимости, её придется прописывать самостоятельно.

Область использования уникального идентификатора

Исходя из свойств этого поля, вырисовываются и направления его применения:

  1. Обмен данными между конфигурациями;
  2. Поиск необходимого объекта;
  3. Восстановление неправильно удаленных объектов.

Один интересный факт: до записи объекта в базу данных 1С он имеет идентификатор, состоящий из нолей (00000000-0000-0000-0000-000000000000).

Обмен данными

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

Рис.2

Синхронизация подобным образом позволяет без проблем производить выгрузку в обоих направлениях, не опасаясь пересортицы и задвоения элементов.

Поиск объекта

Поиск по строковому идентификатору – операция не характерная для объектноориентированной базы данных, однако, в отсутствии других возможностей, можно использовать и его. Следует понимать, что в общем случае осуществить поиск по УИ в базе данных невозможно, необходимо четко знать, в какой таблице необходимо осуществлять поиск.

Восстановление объектов

Зачастую при формировании отчетов пользователи сталкиваются со строкой (рис.3).

Рис.3

Причин её возникновения может быть несколько, главная – игнорирование ссылочной целостности базы данных при удалении объектов. Рассмотрев строку поближе и зная о GUID и уникальных идентификаторах можно заметить, что она состоит из двух частей:

  1. Несколько цифр до двоеточия;
  2. Шестнадцатеричный код после.

Последовательность действий по восстановлению:

  1. В первую очередь необходимо выяснить, какой тип данных у удаленного объекта. Для этого можно: уточнить тип поля у отчета, посмотреть, какие дополнительные отчеты открываются при щелчке по нему, попробовать сформировать подобный отчет на сохраненной копии. В нашем случае это элемент справочника «Номенклатура», в первичных документах у табличных частей будет вид (Рис.4); Рис.4
  2. Проверить в выгрузках, в старых копиях наличие удаленного элемента;
  3. Выгрузить его поля и табличные части в любой удобный для последующей загрузки формат (xml, dbf, xls);
  4. Загрузить данные в базу.

Очень важно понимать, что возможности по использованию уникального ID не ограничиваются этими тремя направлениями.



Установка конфигурации 1С 8.3
Где скачать бесплатную версию типовой конфигурации 1С. Распаковка шаблонов конфигураций и создание новой базы. Отличия демо базы от пустой ...
Форма статистического наблюдения № П-2 (инвест) за 2017 год
Утверждена годовая форма статистического наблюдения № П-2 (инвест) "Сведения об инвестиционной деятельности и средствах на долевое строительство" для отчета за ...
Форма статистического наблюдения № П-2 для 2018 года
Утверждена квартальная форма статистического наблюдения № П-2 "Сведения об инвестициях в нефинансовые активы" для применения в 2018 году. Приказ Росстата ...
Подсистема Вики - интеграция 1С и сайта под управлением MediaWiki
Редактирование статей сайта Mediawiki из 1С. Формирование функционального описания конфигурации на сайте Вики ...
Выйти на рынок ЕС с программой 1С – не просто, а очень просто
Статья предназначена для компаний-разработчиков из России или из стран СНГ. В статье рассматривается вариант эффективного выхода на рынок Европы со ...
1С "Весовая ред. 2.0". Конфигурация "Весовая" ред. 2.0  для Платформы 8.3
Конфигурация "Весовая" ред. 2.0 для "1С:Предприятие 8.3" - это решение для организации контроля движения грузов через весовую и остатков на ...
Форма статистического наблюдения № С-1 для 2018 года
Утверждена месячная форма статистического наблюдения № С-1 "Сведения о вводе в эксплуатацию зданий и сооружений" для отчетности 2018 года. Приказ ...
Форма статистического наблюдения № ИЖС для 2018 года
Утверждена форма статистического наблюдения № ИЖС "Сведения о построенных населением жилых домах" для применения в 2018 году. Приказ Росстата от ...
Изменение способа списания МПЗ в БП 3.0
Вопрос: Как изменить способ списания МПЗ с ФИФО на средню? В учетной политике настройка не доступна. Ответ: Возможно, настройка не ...
Как провести вводный инструктаж по охране труда
Вводный инструктаж входит в первый этап обучения работника охране труда – он проводится до того, как работник приступит к выполнению ...
Оперативное планирование продаж по договорам в ERP
Вопрос: ERP 2.4.1.189 В документации в главе 12 (Бюджетирование) несколько раз упоминается о получении данных из Планирования (План продаж) в ...
Тест 1С:Зарплата и управление персоналом 8 (Ред. 3.1)  - 5 вопросов от 21.9.2017
Проверь свои профессиональные навыки по программе "1С:Зарплата и управление персоналом 8 (Ред. 3.1)". Пройди тест! Всего 5 вопросов:Документ Работа в ...
Тест 1С:ERP Управление предприятием (Ред. 2.2)  - 7 вопросов от 21.9.2017
Проверь свои профессиональные навыки по программе "1С:ERP Управление предприятием (Ред. 2.2)". Пройди тест! Всего 7 вопросов:Возможность автоматического формирования потребностей в ...
Тест 1С:Бухгалтерия 8.3  - 10 вопросов от 21.9.2017
Проверь свои профессиональные навыки по программе "1С:Бухгалтерия 8.3". Пройди тест! Всего 10 вопросов:Команда Поиск панели инструментов выполняет...В программе 1С:Бухгалтерия 8 ...
Тест Платформа 1С:Предприятия 8  - 7 вопросов от 21.9.2017
Проверь свои профессиональные навыки по программе "Платформа 1С:Предприятия 8". Пройди тест! Всего 7 вопросов:Для получения почты напрямую с почтового сервера ...