v8: Где взять описание GUID, который в 1С 8? продолжение #526200


#0 by Mikhail Volkov
Все же остались сомнения: GUID и UUID одно и то же? В предыдущей части [b]H A D G E H O G s[/b] писал: [q]GUID 1С-а представленный в 1С, например Сообщить(Строка(Ссылка.УникальныйИдентификатор)); отличается от фактически хранимого в базе на некоторые перемешанные значения Например, в 1С он выглядит как 6F9619FF-8B86-D011-B42D-00CF4FC964FF В базе (фактически) он имеет значение: 6F9619FF-D011-8B86-B42D-00CF4FC964FF [/q] Так же приводятся функции преобразования GUID в UUID и обратно... Мне хочется точно это знать, чтобы синхронизировать 1Сv8 базы по GUID, например УПП - УТ - РТ. А GUID-ы были присвоены (получены) из баз 1Сv7, их перенес в 1Сv8. По Сообщить(Строка(Ссылка.УникальныйИдентификатор)); все ОК, совпадает! А на самом деле? Потом GUID не поменять...
#1 by hhhh
это не преобразование, это представление. В таком виде вылазит на экран. А внутри всё одинаково.
#2 by Новиков
>> В предыдущей части Ссылку на предыдущую часть желательно б конечно указать.
#3 by Лефмихалыч
>GUID-ы были присвоены (получены) из баз 1Сv7 это ты еще с нового года не протрезвел или просто не так выразился?
#4 by IamAlexy
а чего странного.. в 7ке тоже можно было получить эти самые UINы правда они непохожи ни разу на то что в 8ке... зы: в вроде как всегда было так что что в 7ке, что в 8ке уникальность этих "уникальных иднентификаторов" поддерживается в рамках одной базы...
#5 by Лефмихалыч
да вот это всё и странно
#6 by SergoOd
В 7ке в рамках БД. В 8-ке уникальность глобальна.
#7 by SergoOd
(+6) Там UIN ( в 7.7.).  Здесь GUID (в 8-ке)
#8 by ДенисЧ
"В 8-ке уникальность глобальна" блаженны надеющиеся...
#9 by SergoOd
Остается надеяться :)
#10 by Новиков
"Блажен кто верует. Легко ему на свете" (с)
#11 by SergoOd
GUID - Globally Unique Identifier - шестнадцатибайтный двоичный массив, обеспечивающий, по-идее, идентификаторы, которые не повторяются нигде и никогда. "Нигде" обеспечивается включением в код MAC-адреса сетевого интерфейса (при его отсутствии - какого-то суррогата). "Никогда" - это генерация меток времени с точностью до 1 нс размером 8 байт. Так делает Microsoft, B называет ID  глобальным. Вопрос к Новикову - есть факты, что 1С генерит повторяющиеся GUIDы? Этоя не для спора пишу - мне хочется услышать тех, кто реально столкнулся с этим.
#12 by ДенисЧ
МС уже давно не пихает мак в гуиды...
#13 by MM
1C генерирует GUIDы уникально, но последовательными блоками (не вызывая каждый раз функцию ОС), это нужно для борьбы с диапазонными блокировками в БД работающими в автоматическом режим блокировок.
#14 by SergoOd
Согласен. Но от этого он не перестал быть GUID
#15 by ДенисЧ
скажем так. Я 5 лет назад натолкнулся на дублирование гуидов, генерируемых mssql. Причем они были сгененированы гарантированно в разное время.
#16 by SergoOd
Коллеги, можете иронизировать насчет "блаженных" :), кто верует, но я продолжаю надеяться, что 1С здесь на повторение не попадет. Разве, что люди руками не влезут. Это обсуждалось. Спасибо за терпение.
#17 by Новиков
чисто гипотетически предположу, что твой вопрос - это не тонкий троллинг, а все такие действительно тяга к светлому. К знаньям то бишь. Исходя из этого и не умоляя общности исследований, могу дополнить Грибоедовский афоризм следующими утверждением: мне не известны факты, когда платформа 1С, без участия маленьких, потненьких, шаловливых ручонков, делала не уникальные гуиды. Но это совсем не означает, что одинаковых гуидов с присутсвием уже упомянутых маленьких и потненьких - нет. Конечно есть. Причем, обычно я их наблюдаю там, где пишутся какие-то скулевские апдейты, где есть какие-то мега-исправлялки неправильных обменов. Где есть приямые выгружалки из тисов акккурат куда-то в 8.x - и т.д. Практически всегда, если запустить соотв. обработки, мы увидим одинаковые гуиды ;)
#18 by SergoOd
Та какой там троллинг... Тем более тонкий. Намечаются как раз массовые обмены в одном проекте. Вот и ищу мнения опытных людей. Про "потные руки" я как раз и писал в , в ссылке на обсуждение. "Причем, обычно я их наблюдаю там, где пишутся какие-то скулевские апдейты, где есть какие-то мега-исправлялки неправильных обменов." Сам этого боюсь.
#19 by hhhh
ну, 1С разрешает программисту самому генерить эти коды. А если этот инструмент попадет в руки Новикову, тогда мама не горюй.
#20 by H A D G E H O G s
Опять GUID-о спор. Ты прям ясно видел, как NewID возвращает одинаковые GUID ?
#21 by ДенисЧ
Я прям ясно видел, что у меня 2 элемента справочника (в 77, кастомно) имеют одинаковый гуид, из-за чего я попал на штуку рублей...
#22 by Новиков
я надеюсь массовые обмены между 7.7 и 8.хэ? =)
#23 by SergoOd
НЕ могу удержаться... Блажен, кто верует, - ТЕПЛО ему на свете! - А. Грибоедов, "Горе от ума", (Чацкий), 1824 Тепло - не легко. Это опят же не для спора - просто тем, кто верует, все-таки тоже не легко. Никого не хочу обидеть.
#24 by H A D G E H O G s
1с77 использует в качестве UID GUID? Вроде longint всегда был.
#25 by ДенисЧ
Специально для одарённых написал "кастомно". Введён был отдельный реквизит, который заполнялся триггером.
#26 by Новиков
"ай да Пушкин! ай да сукин сын!" (с)
#27 by SergoOd
Видимо вопрос ко мне.  Именно между 77 и 8. :((
#28 by SergoOd
все - больше ни слова не напишу.
#29 by H A D G E H O G s
Вооот. Ближе к телу. А то всякий хрень говоришь, "кастомно"... И как же этот реквизит заполнялся?
#30 by ДенисЧ
для очень особо одарённых написал - "по триггеру". OnInsert, если шо.
#31 by H A D G E H O G s
Вот так появляются возрастные комплексы... Прокатили ДенисЧ на штуку пять лет назад, с тех пор верует, что GUID неуникален. Может просто руки - крюки?
#32 by ДенисЧ
да, разумеется. Только у писателей newid...
#33 by H A D G E H O G s
Ты счаст прикалываешься, да? Как бы пофиг, в какой момент реквизит заполнялся, важно, заполнялся ли он NewID-ом, или там что свое писалось.
#34 by ДенисЧ
Ну я не знаю, уж насколько одарённым нужно быть, чтобы мои посты не понимать...
#35 by Новиков
а вот не подеретесь! а вот не подеретесь! ;)
#36 by H A D G E H O G s
Все же newId ? Версию SQL не вспомнишь? 2000-ая? А то можно проверить.
#37 by Immortal
так вроде обсасывали этот вопрос уже.. автор, поищи на форуме ветки
#38 by Mikhail Volkov
to Новиков предыдущая часть здесь to Лефмихалыч в базах 1Cv7 GUID-ы были навешаны надстройкой Агент+ для обмена с КПК торговых агентов. to hhhh значит просто представление, а не преобразование? Если я объекту присвоил GUID следующим образом: МойСправочник.УстановитьСсылкуНового(Ссылка); А потом проверяю: КонецЦикла; то так оно и есть?
#39 by Aleksey
А ты попробуй
#40 by Mikhail Volkov
В этом и дело, что в обоих вариантах для данного примера вижу "4E49CD44-EB96-48B0-86CB-2795436898F9" - то что задал. Сомнение вызывает высказывание H A D G E H O G s: "GUID 1С-а представленный в 1С, например Сообщить(Строка(Ссылка.УникальныйИдентификатор)); отличается от фактически хранимого в базе на некоторые перемешанные значения Например, в 1С он выглядит как 6F9619FF-8B86-D011-B42D-00CF4FC964FF В базе (фактически) он имеет значение: 6F9619FF-D011-8B86-B42D-00CF4FC964FF" - типа не верь глазам своим...
#41 by ДенисЧ
#42 by Immortal
и в скл тоже?
#43 by Immortal
ну т.е. что там видишь в БД
#44 by H A D G E H O G s
Залезь в SQL Enterprise Manager-ом и посмотри, что там фактически лежит.
#45 by H A D G E H O G s
Неее, такой древности я у себя не найду.
#46 by Immortal
одинаковые гуиды возможны в РИБ.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям