| 
    
            
         
         | 
    
  | 
UUID (ГУИДы) | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        _Дайвер_    
     24.08.17 
            ✎
    11:12 
 | 
         
        Доброго времени суток друзья!
 
        Встал вопрос касательно ГУИДов в системе 1С, расскажите пожалуйста подробнее на основании каких данных он формируется?  | 
|||
| 
    1
    
        Ёпрст    
     гуру 
    24.08.17 
            ✎
    11:13 
 | 
         
        нажми на "Я" справа вверху.     
         | 
|||
| 
    2
    
        Волшебник    
     модератор 
    24.08.17 
            ✎
    11:13 
 | 
         
        зачем тебе?     
         | 
|||
| 
    3
    
        _Дайвер_    
     24.08.17 
            ✎
    11:21 
 | 
         
        (1) Искал, не могу найти на основании каких данных он формируется, Дата + Время + Код + еще что то там. (2) Возник вопрос, если в 2-х базах, будет идентичные объекты, гуид совпадет или нет. Может он просто как код формируется типа сначало 0000001 потом 0000002 и т.д.     
         | 
|||
| 
    4
    
        arsik    
     гуру 
    24.08.17 
            ✎
    11:23 
 | 
         
        (3) нет     
         | 
|||
| 
    5
    
        aleks_default    
     24.08.17 
            ✎
    11:23 
 | 
         
        "Искал, не могу найти" - возьми на полке такую толстую книжку     
         | 
|||
| 
    6
    
        Волшебник    
     модератор 
    24.08.17 
            ✎
    11:23 
 | 
         
        (3) Не совпадёт.     
         | 
|||
| 
    7
    
        SSSSS_AAAAA    
     24.08.17 
            ✎
    11:24 
 | 
         
        (3) Объекты, созданные в разных базах, будут иметь разные идентификаторы даже если все остальное в них будет абсолютно одинаковым.     
         | 
|||
| 
    8
    
        Ёпрст    
     гуру 
    24.08.17 
            ✎
    11:24 
 | 
         
        (4,6) совпадает.
 
        Пример есть :)  | 
|||
| 
    9
    
        Вафель    
     24.08.17 
            ✎
    11:24 
 | 
         
        Даже не мисте этот вопрос раз 100 обсуждался     
         | 
|||
| 
    10
    
        _Дайвер_    
     24.08.17 
            ✎
    11:26 
 | 
         
        Есть какая нибудь литература касательно ГУИДов в 1С? Отдельная статья)     
         | 
|||
| 
    11
    
        Ёпрст    
     гуру 
    24.08.17 
            ✎
    11:27 
 | 
         
        если вторая база была получена путём клонирования первой, то с большой долей вероятности в ней будут объекты одного типа с одинаковой ссылкой.     
         | 
|||
| 
    12
    
        _Дайвер_    
     24.08.17 
            ✎
    11:27 
 | 
         
        (7) Вопрос, на основании чего он разный получится?)     
         | 
|||
| 
    13
    
        Волшебник    
     модератор 
    24.08.17 
            ✎
    11:28 
 | 
         
        (11) Да, это вполне реально.     
         | 
|||
| 
    14
    
        dezss    
     24.08.17 
            ✎
    11:31 
 | 
||||
| 
    15
    
        Ёпрст    
     гуру 
    24.08.17 
            ✎
    11:31 
 | 
         
        +11 я на это нарвался, при переносе в общую базу, когда объеты одной базы "перетёрли" объекты другой базы при сонхронизации по внутреннему идентификатору. Базы создавались лет 5 назад из одной общей.
 
        Пришлось делать синхронизацию по полям поиска. :(  | 
|||
| 
    16
    
        SSSSS_AAAAA    
     24.08.17 
            ✎
    11:35 
 | 
         
        (12) На основании алгоритма его расчета.     
         | 
|||
| 
    17
    
        h-sp    
     24.08.17 
            ✎
    11:36 
 | 
         
        да, тоже постоянно сталкиваюсь например слить две базы с разными организациями, при переносе 2 организации сливаются в одну.     
         | 
|||
| 
    18
    
        _Дайвер_    
     24.08.17 
            ✎
    11:37 
 | 
         
        может такое произойти что в разных базах создались 2 идентичных гуида, и скажем при переносе они встретятся (16) Алгоритм и интересует)     
         | 
|||
| 
    19
    
        _Дайвер_    
     24.08.17 
            ✎
    11:41 
 | 
         
        Спасибо(14), H A D G E H O G Описал кстати в v8: Где взять описание GUID, который в 1С 8?
 
        GUID - ссылка - это тупо 16 байт. Формируется по особому алгоритму, гарантирующему уникальность вновь созданных ПРЕДСТАВЛЯЕТСЯ обычно в виде: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, где X - представлем в шестнадцетиричном видею Важно! GUID 1С-а представленный в 1С, например Сообщить(Строка(Ссылка.УникальныйИдентификатор())); отличается от фактически хранимого в базе на некоторые перемешанные значения Например, в 1С он выглядит как 6F9619FF-8B86-D011-B42D-00CF4FC964FF В базе (фактически) он имеет значение: 6F9619FF-D011-8B86-B42D-00CF4FC964FF (Это тупо пример, там алгоритм перестановки другой, лень споминать) Важно! GUID 1С формирует не по правилам Microsoft, а инкрементно. В начале сеанса формируется стартовый GUID, r примеру 6F9619FF-8B86-D011-B42D-00CF4FC964F0 У каждого последующего, созданного в этом сеансе ссылочного объекта GUID будет на 1 больше, к примеру: 6F9619FF-8B86-D011-B42D-00CF4FC964F1 6F9619FF-8B86-D011-B42D-00CF4FC964F1 6F9619FF-8B86-D011-B42D-00CF4FC964F1  | 
|||
| 
    20
    
        SSSSS_AAAAA    
     24.08.17 
            ✎
    11:42 
 | 
         
        (18) В разных базах не могут создасться одинаковые идентификаторы.     
         | 
|||
| 
    21
    
        Вафель    
     24.08.17 
            ✎
    11:42 
 | 
         
        Инкрементный гуид - это тоже по правилам, назывется
 
        SequentialUUID  | 
|||
| 
    22
    
        _Дайвер_    
     24.08.17 
            ✎
    11:50 
 | 
         
        (20) Почему? Их хоть и МНОГО(2 в 128 степени), но вероятность есть)     
         | 
|||
| 
    23
    
        H A D G E H O G s    
     24.08.17 
            ✎
    11:53 
 | 
         
        Все рассуждения о дублях ГУИД - это городские байки, к которым пока никто не привел фактов; при этом, на 100% я уверен, что дубли ГУИД будут вызваны какими-нибудь обменами.     
         | 
|||
| 
    24
    
        H A D G E H O G s    
     24.08.17 
            ✎
    11:55 
 | 
         
        MRStormak, кстати, раскрыл загадку переставления значений GUID - для большей монотонности значений кластерного ключа.     
         | 
|||
| 
    25
    
        H A D G E H O G s    
     24.08.17 
            ✎
    11:55 
 | 
         
        Гдето была ветка.     
         | 
|||
| 
    26
    
        Вафель    
     24.08.17 
            ✎
    11:56 
 | 
         
        (24) так это давно было известно, SeqUUID все-таки не 1с придумала     
         | 
|||
| 
    27
    
        H A D G E H O G s    
     24.08.17 
            ✎
    11:58 
 | 
         
        (26) Не знал. Думал - Российское ноухау.     
         | 
|||
| 
    28
    
        Вафель    
     24.08.17 
            ✎
    11:59 
 | 
         
        Даже в АПИ венды есть функция     
         | 
|||
| 
    29
    
        _Дайвер_    
     24.08.17 
            ✎
    12:01 
 | 
         
        (23) Если судить в пределах 1-й конфигурации, да(байки 100%), а если при обменах, то такое поведение не исключено, а если БД-х создались из 1-й, то вероятность увеличится, правильно?)     
         | 
|||
| 
    30
    
        Вафель    
     24.08.17 
            ✎
    12:03 
 | 
         
        Тут вопрос: как следующий генерится. В какой момент генерируется ключевой 0 элемент.
 
        Ну в серверной вроде при старте сервера,а в файле?  | 
|||
| 
    31
    
        SSSSS_AAAAA    
     24.08.17 
            ✎
    12:06 
 | 
         
        (29) Нет, не правильно. Научитесь таки различать СОЗДАНИЕ и ХРАНЕНИЕ. Дублирование есть результат не СОЗДАНИЯ, а обменов/передач/копирований и т.д.     
         | 
|||
| 
    32
    
        _Дайвер_    
     24.08.17 
            ✎
    12:41 
 | 
         
        (31) Я ведь тоже самое спросил, только своими словами: "Если судить в пределах 1-й конфигурации" - НЕТУ ОБМЕНОВ, "а если при обменах, то такое поведение не исключено, И если БД-х создались из 1-й" ОБМЕНЫ\ПЕРЕДАЧИ\КОПИРОВАНИЯ     
         | 
|||
| 
    33
    
        Torquader    
     27.08.17 
            ✎
    00:33 
 | 
         
        Значит так.
 
        Алгоритм генерации УИД-ов старается, чтобы они были уникальными, но внутри алгоритма используются параметры машины, такие как MAC-адрес и другие уникальные данные компьютера. Но, если кто-то уникальные данные подправит так, что на двух компьютерах они будут абсолютно одинаковыми, то есть вероятность получить два одинаковых УИД-а.  | 
|||
| 
    34
    
        Garykom    
     гуру 
    27.08.17 
            ✎
    00:44 
 | 
         
        (33) От MAC-адресов MS отказался, поэтому встает веселая трабла когда на клонированной винде в копии базы легко получить одинаковые гуиды в одно время если генерировать их в одно время.     
         | 
|||
| 
    35
    
        Garykom    
     гуру 
    27.08.17 
            ✎
    00:48 
 | 
         
        (34)+ К примеру на 100 клонированных компах в одной РИБ базе 1С 8.1 на ~2 миллиона объектов (уникальных уид) смогли получить 1 совпадение.
 
        Хотя специально не старались, просто купили кучу системников для автоматизации аптек, админы банально наклонировали винду (даже без смены лицензионных ключей), туда воткнули РИБ базы и отправили по филиалам. Затем при работе через полгода получили 1 совпадение - документ сначала был, а потом перезатерся другим (совсем другая аптека) при штатном обмене.  | 
|||
| 
    36
    
        Torquader    
     27.08.17 
            ✎
    00:58 
 | 
         
        (35) Если бы использовались непоследовательные ИД, то совпадений было бы меньше.     
         | 
|||
| 
    37
    
        Garykom    
     гуру 
    27.08.17 
            ✎
    01:02 
 | 
         
        (36) Да просто желательно знать тонкости работы железа/софта и предусматривать это в своих решениях.
 
        Не обязательно делать кста предотвращение дублей, можно и систему обнаружения и исправления трабл, что и было потом сделано.  | 
|||
| 
    38
    
        Mikhail Volkov    
     27.08.17 
            ✎
    05:20 
 | 
         
        (12) Дык, это сверх секретная информация. Билл Гейтс создал его как некий ИНН масштаба вселенной, и даже не какой-то личности, а любого эл. документа, поскольку в GUID вшивается мак-адрес сетевой карты компа, на котором создан эл. документ. Так-что все мы "под колпаком Мюллера". После конечно объявили, что GUID - нарушение прав человека, и он просто случайное 32 разрядное 16-ное число для 1С-ников.     
         | 
|||
| 
    39
    
        Tateossian    
     27.08.17 
            ✎
    15:45 
 | 
||||
| 
    40
    
        Tateossian    
     27.08.17 
            ✎
    15:46 
 | 
         
        (35) Наверное поиск этого бага был весьма трудным) Мол, куда делся документ?     
         | 
|||
| 
    41
    
        Garykom    
     гуру 
    27.08.17 
            ✎
    16:44 
 | 
         
        (40) Неа, там повезло что на основании этих доков делались "реестры рецептов", куда и ссылка на исходный документ и скопированы данные из реквизитов документа.
 
        Система предназначенная для контроля изменения документов (уже отправленных на оплату) задним числом сработала штатно.  | 
|||
| 
    42
    
        craxx    
     27.08.17 
            ✎
    17:29 
 | 
         
        (0) я в 7.7 их формировал как MD5-хэш от ЗначениеВСтрокуВнутр()     
         | 
|||
| 
    43
    
        Фигня    
     27.08.17 
            ✎
    17:50 
 | 
         
        на клонированных базах неоднократно встречался с дублированием для разных объектов. Например в периферийных. В разных базах, даже из одной конфигурации, даже при переносе данных ни разу не сталкивался.     
         | 
|||
| 
    44
    
        Живой Ископаемый    
     27.08.17 
            ✎
    22:03 
 | 
         
        Чуваки, 2к17 на дворе.... Хорош муйню давно переваренную перетирать     
         | 
|||
| 
    45
    
        Mikhail Volkov    
     28.08.17 
            ✎
    04:37 
 | 
         
        Разве может повториться случайное 32 разрядное 16-ное число? Только чисто теоретически.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |