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


Экзамен Специалист-консультант 1C:ERP, 1C:УТ. Правила аттестации. Уточнения и пояснения
И снова об экзаменах 1С:Специалист-консультант по "1С:ERP Управление предприятием 2" и "1С:Управление торговлей". Сегодня в выпуске: — уточнения в правилах ...
02.12 Мастер-класс по мобильной разработке на платформе в 1С:Предприятие 8
Мастер-класс по мобильной разработке в 1С отВиталия Рыбалки, эксперта по технологической платформе 1С:Предприятия 8. Виталий расскажет вам не только о ...
1С:ERP Урок 46. Управление доставкой. Часть 2
Сорок шестой видеоурок вводного курса по «1С:ERP Управление предприятием». Это заключительный урок по подсистеме "Склад и доставка". Тема на сегодня ...
29.11 Игра "Монополия". Урок 3.
Третий урок курса "Многопользовательская система с экономической составляющей" в рамках которого школьники смогут сами доработать игру "Монополия", написанную на платформе ...
30.11 Управление разработкой программных продуктов. Урок 3
Третий урок школьного курса "Управление разработкой программных продуктов" из серии сертифицированных курсов 1С:Клуба программистов - https://club.1c.ru Курс рассчитан для подготовки ...
28.11 Программирование в 1С для школьников. Урок 7
Урок 7 школьного курса "Программирование в 1С:Предприятие 8.3", посвященный третьей задаче профиля "Автоматизация бизнес-процессов" https://kpk.1c.ru/nti ...
Переход на раздельный учет НДС в 1С:Бухгалтерии 8
В «1С:Бухгалтерии 8» начиная с версии 3.0.73 при переходе на раздельный учет НДС больше не нужно вводить остатки вручную. Вся ...
Начало работы с подсистемой расчета окладов преподавателей в 1С:ЗКГУ 8
В видеоуроке эксперты 1С демонстрируют, как в программе «1С:Зарплата и кадры государственного учреждения 8» редакции 3.1 начать работу с подсистемой ...
27.11 Программирование в 1С для школьников. Урок 6
Шестой урок школьного курса "Программирование в 1С:Предприятие 8.3", посвященный третьей задаче профиля "Автоматизация бизнес-процессов" https://kpk.1c.ru/nti Задача откроется 29 ноября (пятница) ...
Сравнение первичной и корректировочной декларации в 1С:Бухгалтерии 8
В «1С:Бухгалтерии 8» начиная с версии 3.0.74 можно сравнивать в рамках одного отчетного периода первичные и корректирующие налоговые декларации, бухгалтерскую ...
Настраиваемая структура каталога товаров в интернет-магазине. Новая версия 1С:УНФ 1.6.19.
Появилась возможность настроить уникальную структуру каталога товаров на сайте. С новой настройкой можно синхронизировать каталоги товаров 1С:УНФ и интернет-магазина c ...
Контроль доли вычетов по НДС в 1С:Бухгалтерии 8
Начиная с версии 3.0.74 можно контролировать безопасную долю вычетов НДС. Как это сделать, смотрите в видеоуроке экспертов 1С. Видеоролик выполнен ...
Удержание НДФЛ при выплате командировочных в межрасчетный период в 1С:ЗУП ред. 3
Из этого урока экспертов 1С вы узнаете, как в программе «1С:Зарплата и управление персоналом 8» редакции 3 зарегистрировать удержание НДФЛ ...
Сложные вопросы учета основных средств. Как «опознать» недвижимость? (Прямой эфир 27.12.2019)
Оформить заявку на участие в онлайн-семинаре "Сложные вопросы учета основных средств. Как «опознать» недвижимость?" https://buhexpert8.ru/dostup#buh Программа семинара: 1. Актуальные новшества ...