![]() |
![]() |
![]() |
|
v8: Где взять описание GUID, который в 1С 8? продолжение | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
08.01.11
✎
12:10
|
Все же остались сомнения: 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
hhhh
08.01.11
✎
12:17
|
(0) это не преобразование, это представление. В таком виде вылазит на экран. А внутри всё одинаково.
|
|||
2
Новиков
08.01.11
✎
12:21
|
>> В предыдущей части
Ссылку на предыдущую часть желательно б конечно указать. |
|||
3
Лефмихалыч
08.01.11
✎
12:59
|
(0) >GUID-ы были присвоены (получены) из баз 1Сv7
это ты еще с нового года не протрезвел или просто не так выразился? |
|||
4
IamAlexy
08.01.11
✎
13:01
|
(3) а чего странного.. в 7ке тоже можно было получить эти самые UINы
правда они непохожи ни разу на то что в 8ке... зы: в вроде как всегда было так что что в 7ке, что в 8ке уникальность этих "уникальных иднентификаторов" поддерживается в рамках одной базы... |
|||
5
Лефмихалыч
08.01.11
✎
13:13
|
(4) да вот это всё и странно
|
|||
6
SergoOd
08.01.11
✎
13:31
|
(4) В 7ке в рамках БД. В 8-ке уникальность глобальна.
|
|||
7
SergoOd
08.01.11
✎
13:32
|
(+6) Там UIN ( в 7.7.). Здесь GUID (в 8-ке)
|
|||
8
ДенисЧ
08.01.11
✎
13:32
|
(6) "В 8-ке уникальность глобальна"
блаженны надеющиеся... |
|||
9
SergoOd
08.01.11
✎
13:33
|
(8) Остается надеяться :)
|
|||
10
Новиков
08.01.11
✎
13:34
|
(8) "Блажен кто верует. Легко ему на свете" (с)
|
|||
11
SergoOd
08.01.11
✎
13:43
|
(10) GUID - Globally Unique Identifier - шестнадцатибайтный двоичный массив, обеспечивающий, по-идее, идентификаторы, которые не повторяются нигде и никогда.
"Нигде" обеспечивается включением в код MAC-адреса сетевого интерфейса (при его отсутствии - какого-то суррогата). "Никогда" - это генерация меток времени с точностью до 1 нс размером 8 байт. Так делает Microsoft, B называет ID глобальным. Вопрос к Новикову - есть факты, что 1С генерит повторяющиеся GUIDы? Этоя не для спора пишу - мне хочется услышать тех, кто реально столкнулся с этим. |
|||
12
ДенисЧ
08.01.11
✎
13:45
|
(11) МС уже давно не пихает мак в гуиды...
|
|||
13
MM
08.01.11
✎
13:47
|
1C генерирует GUIDы уникально, но последовательными блоками (не вызывая каждый раз функцию ОС), это нужно для борьбы с диапазонными блокировками в БД работающими в автоматическом режим блокировок.
|
|||
14
SergoOd
08.01.11
✎
13:47
|
(12) Согласен. Но от этого он не перестал быть GUID
|
|||
15
ДенисЧ
08.01.11
✎
13:50
|
(14) скажем так. Я 5 лет назад натолкнулся на дублирование гуидов, генерируемых mssql.
Причем они были сгененированы гарантированно в разное время. |
|||
16
SergoOd
08.01.11
✎
13:52
|
Коллеги, можете иронизировать насчет "блаженных" :), кто верует, но я продолжаю надеяться, что 1С здесь на повторение не попадет. Разве, что люди руками не влезут.
http://www.1c-pro.ru/index.php?showtopic=26426 Это обсуждалось. Спасибо за терпение. |
|||
17
Новиков
08.01.11
✎
13:54
|
(14) чисто гипотетически предположу, что твой вопрос - это не тонкий троллинг, а все такие действительно тяга к светлому. К знаньям то бишь. Исходя из этого и не умоляя общности исследований, могу дополнить Грибоедовский афоризм следующими утверждением: мне не известны факты, когда платформа 1С, без участия маленьких, потненьких, шаловливых ручонков, делала не уникальные гуиды. Но это совсем не означает, что одинаковых гуидов с присутсвием уже упомянутых маленьких и потненьких - нет. Конечно есть. Причем, обычно я их наблюдаю там, где пишутся какие-то скулевские апдейты, где есть какие-то мега-исправлялки неправильных обменов. Где есть приямые выгружалки из тисов акккурат куда-то в 8.x - и т.д. Практически всегда, если запустить соотв. обработки, мы увидим одинаковые гуиды ;)
|
|||
18
SergoOd
08.01.11
✎
13:59
|
(17) Та какой там троллинг... Тем более тонкий.
Намечаются как раз массовые обмены в одном проекте. Вот и ищу мнения опытных людей. Про "потные руки" я как раз и писал в (16), в ссылке на обсуждение. "Причем, обычно я их наблюдаю там, где пишутся какие-то скулевские апдейты, где есть какие-то мега-исправлялки неправильных обменов." Сам этого боюсь. |
|||
19
hhhh
08.01.11
✎
14:00
|
(11) ну, 1С разрешает программисту самому генерить эти коды. А если этот инструмент попадет в руки Новикову, тогда мама не горюй.
|
|||
20
H A D G E H O G s
08.01.11
✎
14:01
|
Опять GUID-о спор.
(15) Ты прям ясно видел, как NewID() возвращает одинаковые GUID ? |
|||
21
ДенисЧ
08.01.11
✎
14:01
|
(20) Я прям ясно видел, что у меня 2 элемента справочника (в 77, кастомно) имеют одинаковый гуид, из-за чего я попал на штуку рублей...
|
|||
22
Новиков
08.01.11
✎
14:02
|
(19) я надеюсь массовые обмены между 7.7 и 8.хэ? =)
|
|||
23
SergoOd
08.01.11
✎
14:03
|
(17) НЕ могу удержаться...
Блажен, кто верует, - ТЕПЛО ему на свете! - А. Грибоедов, "Горе от ума", (Чацкий), 1824 Тепло - не легко. Это опят же не для спора - просто тем, кто верует, все-таки тоже не легко. Никого не хочу обидеть. |
|||
24
H A D G E H O G s
08.01.11
✎
14:04
|
(21) 1с77 использует в качестве UID GUID? Вроде longint всегда был.
|
|||
25
ДенисЧ
08.01.11
✎
14:05
|
(24) Специально для одарённых написал "кастомно". Введён был отдельный реквизит, который заполнялся триггером.
|
|||
26
Новиков
08.01.11
✎
14:05
|
(23) "ай да Пушкин! ай да сукин сын!" (с)
//тонкий троллинг все-таки детектид |
|||
27
SergoOd
08.01.11
✎
14:06
|
(22) Видимо вопрос ко мне. Именно между 77 и 8. :((
|
|||
28
SergoOd
08.01.11
✎
14:07
|
(26) все - больше ни слова не напишу.
|
|||
29
H A D G E H O G s
08.01.11
✎
14:08
|
(25) Вооот. Ближе к телу. А то всякий хрень говоришь, "кастомно"...
И как же этот реквизит заполнялся? |
|||
30
ДенисЧ
08.01.11
✎
14:10
|
(29) для очень особо одарённых написал - "по триггеру". OnInsert, если шо.
|
|||
31
H A D G E H O G s
08.01.11
✎
14:10
|
(25) Вот так появляются возрастные комплексы...
Прокатили ДенисЧ на штуку пять лет назад, с тех пор верует, что GUID неуникален. Может просто руки - крюки? |
|||
32
ДенисЧ
08.01.11
✎
14:11
|
(31) да, разумеется. Только у писателей newid()...
|
|||
33
H A D G E H O G s
08.01.11
✎
14:11
|
(30) Ты счаст прикалываешься, да?
Как бы пофиг, в какой момент реквизит заполнялся, важно, заполнялся ли он NewID()-ом, или там что свое писалось. |
|||
34
ДенисЧ
08.01.11
✎
14:13
|
(33) Ну я не знаю, уж насколько одарённым нужно быть, чтобы мои посты не понимать...
|
|||
35
Новиков
08.01.11
✎
14:17
|
а вот не подеретесь!
а вот не подеретесь! ;) |
|||
36
H A D G E H O G s
08.01.11
✎
14:31
|
(32) Все же newId() ?
Версию SQL не вспомнишь? 2000-ая? А то можно проверить. |
|||
37
Immortal
08.01.11
✎
15:05
|
так вроде обсасывали этот вопрос уже..
автор, поищи на форуме ветки |
|||
38
Mikhail Volkov
08.01.11
✎
15:41
|
to Новиков предыдущая часть здесь v8: Где взять описание GUID, который в 1С 8?
to Лефмихалыч в базах 1Cv7 GUID-ы были навешаны надстройкой Агент+ http://www.agentplus.ru/ для обмена с КПК торговых агентов. to hhhh значит просто представление, а не преобразование? Если я объекту присвоил GUID следующим образом: Ссылка = Справочники.МойСправочник.ПолучитьСсылку(Новый УникальныйИдентификатор("4E49CD44-EB96-48B0-86CB-2795436898F9")); МойСправочник.УстановитьСсылкуНового(Ссылка); А потом проверяю: Выборка = Справочники.МойСправочник.Выбрать(); Пока Выборка.Следующий() Цикл Сообщить("Объект: " + Выборка.Наименование + ", идентификатор: " + Выборка.Ссылка.УникальныйИдентификатор()); // или так (тот же результат вижу) Сообщить("Объект: " + Выборка.Наименование + ", идентификатор: " + XMLСтрока(Выборка.Ссылка)); КонецЦикла; то так оно и есть? |
|||
39
Aleksey
08.01.11
✎
16:23
|
(38) А ты попробуй
|
|||
40
Mikhail Volkov
08.01.11
✎
17:10
|
В этом и дело, что в обоих вариантах для данного примера вижу "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
ДенисЧ
08.01.11
✎
17:47
|
(36) 7й
|
|||
42
Immortal
08.01.11
✎
19:56
|
(40)и в скл тоже?
|
|||
43
Immortal
08.01.11
✎
19:56
|
ну т.е. что там видишь в БД
|
|||
44
H A D G E H O G s
08.01.11
✎
20:00
|
(40) Залезь в SQL Enterprise Manager-ом и посмотри, что там фактически лежит.
|
|||
45
H A D G E H O G s
08.01.11
✎
20:00
|
(41) Неее, такой древности я у себя не найду.
|
|||
46
Immortal
08.01.11
✎
21:46
|
(17) одинаковые гуиды возможны в РИБ.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |