Уникальный идентификатор в 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


Книга "Управленческий учет" серии "1С:Академия ERP"
В серии "1С:Академия ERP" вышла новая книга "Управленческий учет". Цель книги – ознакомить неподготовленного читателя с современными подходами к обеспечению ...
Предоплата в 2018 году и доплата НДС в 1С:Бухгалтерии  8
В этом видеоуроке эксперты 1С демонстрируют, как в «1С:Бухгалтерии 8» редакции 3.0 отразить операции по НДС 20 % в переходный ...
Куда пропал помощник по учету НДС?
http://1c-bezzabot.ru/nds/ Курс "НДС: от понятия до декларации" Подписаться на рассылку "Учет без забот" и получить подарок https://учетбеззабот.рф/pervye-shagi-v-novoj-programme/main/pervye-shagi-v-novoj-programme/besplatnye-knigi-iz-serii-uchet-bez-zabot ...
Настройка начальной страницы программы 1С:ЗУП ред.3
В программу «1С:Зарплата и управление персоналом 8» начиная с версии 3.1.8 на начальную страницу добавлены новые разделы: «Текущие дела» и ...
1С:Договоры
Обзорная экскурсия по программе "1С:Договоры" ...
23 января приглашаем на вебинар "Повторные продажи в 1С:УНФ"
23 января в 11-00 МСК приглашаем руководителей малого и среднего бизнеса на бесплатный вебинар «Повторные продажи в 1С:УНФ, или Как ...
Выплата командировочных вместе с авансом в 1С:ЗУП ред.3
Работнику, находящемуся в командировке, положен аванс наравне с другими сотрудниками. Рассчитать аванс можно с учетом командировочных. Как это сделать в ...
Для тех, кто устал от монитора – свежий номер Infostart Journal
Подводить итоги года нужно не перед рабочим компьютером, а под домашним торшером в уютном кресле у камина и... с журналом ...
ФСБ использует искусственный интеллект для анализа настроений в социальных сетях
Группировка Digital Revolution раскрыла информацию о новой разработке НИИ «Квант». Сотрудники института создавали для ФСБ интеллектуальную систему мониторинга общественного мнения ...
Разработчики заменили непристойные выражения в коде Linux на «обнимашки»
Разработчики ядра Linux заменили все непристойные и оскорбительные выражения в комментариях к коду на слово «hugs», что переводится как «объятия» ...
В 2019 году «1С» поддержит малый бизнес вместе со «Сбербанком»
Фирма «1С» продолжает развивать свои решения для малого бизнеса и запускает совместную со «Сбербанком» акцию, где начинающие предприниматели могут бесплатно ...
Утверждена форма реестра счетов-фактур по нефтяному сырью
Утверждена форма реестра счетов-фактур, выставленных налогоплательщику поставщиками нефтяного сырья лицу, имеющему свидетельство о регистрации лица, совершающего операции по переработке нефтяного ...
Рекомендуемая форма и формат налоговой декларации по НДПИ
ФНС направила рекомендуемые форму и формат налоговой декларации по НДПИ Письмо ФНС от 29.12.2018 № СД-4-3/24833@ ...
Рекомендуемая форма реестра счетов-фактур по нефтяному сырью
ФНС направила рекомендуемую форму реестра счетов-фактур, выставленных налогоплательщику поставщиками нефтяного сырья лицу, имеющему свидетельство о регистрации лица, совершающего операции по ...
Контрольные соотношения по декларации 3-НДФЛ
ФНС направила контрольные соотношения по декларации 3-НДФЛ Письмо ФНС от 20.12.2018 № БС-4-11/24887@ ...