Установить уникальный идентификатор 1с

ГУИД расшифровывается как Глобальный Уникальный ИДентификатор. Этот идентификатор имеет каждая запись базы данных каждого элемента конфигурации 1с. Причем, при естественной генерации, он на столько уникальный, что совершенно уникальный.

Как получить ГУИД.
_ГУИД = СсылкаНаОбъект . УникальныйИдентификатор ( ) ;
Пример:
НоменклатураСсылка = Справочники . Номенклатура . НайтиПоКоду ( "00013" ) ;
Если НЕ НоменклатураСсылка . Пустая ( ) Тогда
&nbsp Сообщить ( "GU > + НоменклатураСсылка . УникальныйИдентификатор ( ) ) ;
КонецЕсли ;

Как по ГУИДу получить ссылку.
_ГУИД = "4cd43e12-e877-11e6-80cb-000c29be4d7a" ;
_Ссылка = Документы . АктСверкиВзаиморасчетов . ПолучитьСсылку ( Новый УникальныйИдентификатор ( _ГУИД ) ) ;

Если Вам встречались в базе записи " ", то значит настала пора познакомитсья с Уникальным идентификатором .

Уникальный идентификатор – это уникальный набор символов который характерезует экземпляр метаданных объектного типа в 1С(Напрмимер, элемент справочника или документ). По сути ссылка и является уникальным идентификатором, причем даже у разных видов объектов он не может быть похож. Выглядит он примерно так:

de80b7c8-aa22-11dc-a0f4-0011d85708ff

Т.е. это набор из 32 шестнадцатеричных цифр разделенных дефисами.

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

Разберем для примера надпись: (36:9c4e0022642fda9811e10393c0d776fd)

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

Например можно написать такой код:

В ней мы находим идентификатор который в конце содержит 36 (цифры до двоеточия), но только не в составе числа( Document2836 ), а точное соответсвие. В нашем случае это следующая строка:

Reference36 Справочник.Номенклатура

Значит удаленный элемент был элементом справочника "Номенклатура".

Как Вы заметили внутри скобок находится тип объекта и уникальный идентификатор строкой.

Читайте также:  1С программное обращение к дополнительным реквизитам

Теперь мы можем на одной из архивных копий найти удаленный элемент, добавив дефисы в имеющуюся у нас строку идентификтора:

Зная все значения полей мы можем вручную или с помощью обработок воссоздать удаленный элемент, но у них будет одно главное отличие – разные Уникальные идентификаторы. А если мы хотим восстановить элемент, то и идентификатор нужно восстановить тот же. Для этого нужно использовать метод "УстановитьСсылкуНового", например так:

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

Как получить уникальный идентификатор из ссылки? При помощи свойства ссылки УникальныйИдентификатор(). Пример 1:

Уникальный идентификатор в 1С 8 имеет тип УникальныйИдентификатор, но его можно преобразовать и в строковое значение(получится строка вот такого вида: 9712e912-d0b9-11e1-b37b-0050568458ce).

Как получить ссылку имея уникальный идентификатор? При помощи метода ПолучитьСсылку( ) менеджера справочника, документа и т.п.

Пример 4 (Здесь УИН — значение типа УникальныйИдентификатор):

Пример 5(Здесь СтрокаУИН — переменная со строковым значением уникального идентификатора):

В примере 5 уникальный идентификатор получается из строкового значения при помощи конструктора Новый УникальныйИдентификатор( )

Оцените статью
Добавить комментарий

Adblock detector