Уникальный идентификатор в 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 не ограничиваются этими тремя направлениями.


Добавить комментарий

Ваш e-mail не будет опубликован.

*

code


Маркировка лекарств: вышла редакция 2.1 «1С:Медицина. Больничная аптека»
Фирма «1С» выпустила новую редакцию программного продукта «1С: Медицина. Больничная аптека» с поддержкой системы маркировки лекарств ...
За стеклом: «Ашан» внедряет ПО для учета посещаемости сотрудников
Торговая сеть «Ашан Ритейл Россия» начала использовать интеллектуальную систему учета времени работы своих сотрудников. Программное обеспечение было разработано специалистами ИТ-компании ...
Онлайн-кассы: продажа через торговые автоматы и комментарии экспертов из ФНС
Сегодня расскажем об изменениях в законодательстве, касающихся продаж через торговые автоматы; внесенных в реестр новых моделях фискальных накопителей, а также ...
Инвестиции в блокчейн: Wall Street Journal как бы намекает
Американское деловое издание The Wall Street Journal опубликовало список из 25 перспективных ИТ-проектов, в которые стоит вложить деньги в этом ...
Гудбай Ebay? Таможня хочет обложить пошлиной все иностранные покупки
Федеральная таможенная служба задумалась о том, чтобы поддержать отечественных онлайн-ритейлеров. Наилучшей идеей для этого ведомство посчитало введение пошлины за любой ...
Создаем сайт ресторана на OneScript
В статье изучаются возможности http-сервисов OneScript по созданию web-приложений на примере сайта ресторана ...
Управление состоянием формы через конечный автомат
Взаимодействие пользователя с интерфейсом приводит к изменению состояния формы и её элементов. Элементы отражают текущее состояние формы через свойства: видимости, ...
Разъяснение порядка заполнения 6-НДФЛ.
Разъяснение порядка заполнения 6-НДФЛ. Письмо ФНС от 8 июня 2018 г. № БС-4-11/11115@ ...
Проект. Планируется бессрочно установить тариф взносов на ОПС.
Планируется бессрочно установить тариф взносов на обязательное пенсионное страхование. Проект ФЗ № 489169-7 ...
Проект. Планируется утвердить новые коэффициенты к размерам платы за НВОС.
Планируется утвердить новые коэффициенты к размерам платы за НВОС. Проект Постановления Правительства РФ "О внесении изменений в Постановление Правительства Российской ...
Свершилось: обмен с ФГИС «Меркурий» встроили в типовые конфигурации 1С
В связи с введением 1 июля 2018 года обязательной электронной сертификации продукции животного происхождения, разработчики фирмы «1С» реализовали в основных ...
«Эльбрус» не за горами: создан сервер, поддерживающий российские процессоры
Отечественные процессоры все еще остаются скорее теоретической разработкой, чем практичным инструментом для повсеместного использования. Но «Ростех» намерен изменить такое положение ...
Непрофстандартные: ИТ-специалист и сегодня – больше призвание, чем профессия
На XIII Международном конгрессе ИТ-директоров «Белые ночи» одной и центральных тем стала кадровая политика в сфере ИТ. Аналитик Инфостарта побеседовал ...
«Лабораторию Касперского» хотят выгнать из Европы, но в компании не унывают
«Лаборатория Касперского» может потерять европейский рынок из-за отказа главы компании Евгения Касперского сотрудничать с Европолом. Однако в компании не отчаиваются ...
Для создателей будущего: новые разработки от Intel представлены на Computex 2018
Концептуальный ноутбук, линейка игровых устройств, 28-ядерный процессор, твердотельный накопитель и многое другое от Intel было представлено на Тайбэйской международной выставке ...