Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Ещё один вопрос про GUID

Ещё один вопрос про GUID
Я
   grasshoper
 
02.08.19 - 15:50
Уникальны ли GUID в пределах одного типа объектов (Документов)? Есть документы Перемещений и Реализаций, может ли быть так, что у одного документа Перемещения появится GUID который есть в документах Реализации, вероятно ли такое или GUID уникальны в пределах типов объектов?
 
 
   asady
 
1 - 02.08.19 - 15:51
(0) в пределах базы уиды уникальны в принципе - исключение уиды объектов импортированные из других баз - там может быть всё
   Михаил Козлов
 
2 - 02.08.19 - 15:52
Можно программно задать GUID Перемещения = GUID Реализация.
Например, Реализацию перекинуть в Поступление с тем же GUID.
   ДНН
 
3 - 02.08.19 - 15:53
(0) Уникальный идентификатор уникален в пределах одной таблицы. Но если перемещения и реализации создавались только в одной базе, то с вероятностью 99,99% они не совпадают
   asady
 
4 - 02.08.19 - 15:54
(2) ну ты сейчас насоветуешь :))))
За такое могут и дрюкнуть
   grasshoper
 
5 - 02.08.19 - 15:55
То есть если взять все GUID документов Перемещений и документов Реализаций среди них не будет повторяющихся?
   scanduta
 
6 - 02.08.19 - 15:57
(0)GUID не имеет разрезов уникальности

(5) GUID может повторяться , но веорятность этого крайне мала
   Garykom
 
7 - 02.08.19 - 16:02
(5) Контроля в базе нет может быть (2)

Новые объекты при создании/записи по умолчанию получают уникально-случайные УИДы.
Но если УстановитьСсылкуНового то можно сделать дублю.
При записи в тот же объект метаданных будет глюка или затрет короче хз. При обмене по РИБ затирает.
   grasshoper
 
8 - 02.08.19 - 16:03
Я читал что GUID состоит из времени создания до миллисекунд + Макадрес + Большое случайное число

http://catalog.mista.ru/public/635159/
   Михаил Козлов
 
9 - 02.08.19 - 16:10
(4) Делал, работает (почти "интеркампани"). И в разных БД и в одной.
   Cyberhawk
 
10 - 02.08.19 - 16:14
Не слушай чувачка из (1)
   Cyberhawk
 
11 - 02.08.19 - 16:23
Даже если не рассматривать случаи ручной генерации УИДов или импорта УИДов из сторонних инфобаз, т.е. когда рассматриваем только штатную выдачу УИДов, то штатная генерация УИДов будет последовательной и уникальной _только в пределах одного соединения_.
Если после очередного такта выдачи пачки УИДов (в пачке то ли 32, то ли 64) произойдет смена (откат) времени на хосте сервера приложений (по любой причине), плюс совпадут звезды, то существует вероятность что сеансу инфобазы, где выполняется запись нового ссылочного объекта БД или установка ссылки новому объекту БД через менеджер, будут выдан УИДы, который ранее уже выдавался. В случае если тип объекта БД совпадает, он просто не запишется в БД, а если не совпадает, то запишется с таким же УИДом.

Таким образом, ответ на вопрос "может ли быть так, что у одного документа Перемещения появится GUID который есть в документах Реализации" - да, даже без ручной генерации УИДов и использования обменов с другими инфобазами.
   grasshoper
 
12 - 02.08.19 - 16:25
(11) Спасибо за ответ.
   bugug
 
13 - 02.08.19 - 16:30
(10) +1
   asady
 
14 - 02.08.19 - 16:30
(11) И эти люди как-то пытаются вести учет больших объемов данных потом с такими уидами....
   palsergeich
 
15 - 02.08.19 - 16:31
Гарантируется уникальность уид только в рамках одной таблицы. Всё.
   asady
 
16 - 02.08.19 - 16:32
Проверка уникальности УИД должна быть в принципе в платформе и только так.
то что ее нет в 1С это беда.
   Жан Пердежон
 
17 - 02.08.19 - 16:32
(16) не мели ерунды
   palsergeich
 
18 - 02.08.19 - 16:33
(16) она есть.
Но на одну таблицу.
То что один уид может быть в 2 и более таблицах - запланированное поведение
   asady
 
19 - 02.08.19 - 16:33
(15) я знаю что не гарантируется - но вероятность совпадения мала и ничто не мешает наладить контроль уникальности УИДов
   asady
 
20 - 02.08.19 - 16:34
(17) ты что-нить кроме 1С видел когда-нить большое.
   H A D G E H O G s
 
21 - 02.08.19 - 16:35
(19) КОнтроль есть и он лежит на СУБД
   H A D G E H O G s
 
22 - 02.08.19 - 16:36
(20) Я видел Боинг 777
   palsergeich
 
23 - 02.08.19 - 16:36
(19) при обменах создавать сущность, которой нет в источнике, например подчинённый передаваемому объекту с тем же гуидом, рядовое событие.
(20) у МС есть фейл когда в xp 2 объекта с одним гуидом были
   asady
 
24 - 02.08.19 - 16:37
(21) субд контролирует уникальность уида  только в пределах одной таблицы
это понятно. Это как раньше было в мускульных базах везде инкрементный ид целого типа
   asady
 
25 - 02.08.19 - 16:38
(22) в боинге партнамберы все уникальны иначе он не взлетит
   H A D G E H O G s
 
26 - 02.08.19 - 16:39
(24) В пределах всех таблиц не получится контролировать
   asady
 
27 - 02.08.19 - 16:40
(26) почему?
что мешает генерить их заранее и накапливать в буфере и раздавать по требованию из одного очка.
   H A D G E H O G s
 
28 - 02.08.19 - 16:40
(27) Так и делается.
   H A D G E H O G s
 
29 - 02.08.19 - 16:41
Но это не позволяет контролировать уникальность.

Парадокс, да?
   asady
 
30 - 02.08.19 - 16:42
(28) тогда гуиды уникальны в принципе.
Проблемы когда время на среваке слетело - это не в счет - в серьезных системах за это будут иметь во все дыры сисадминов без вазелина.
 
 Рекламное место пустует
   bugug
 
31 - 02.08.19 - 16:47
(30) признайся, ты не знал что могут гуиды быть в разных таблицах одинаковые, все тебя простят) для этого и есть форум.
   asady
 
32 - 02.08.19 - 16:51
(31) Я признаюсь в том что проектирую свою платформу и УИДы в ней уникальны в принципе.
Про неуникальность УИДов в пределах одной базы уже много много раз перетиралось и тут не в чем признаваться.
Ты наверное новичок здесь.
мы обсуждаем здесь не только то что есть в 1С как таковое но и как должно быть.
И каждый может написать свое мнение.
Ты что сам думаешь по этому поводу?
   Вафель
 
33 - 02.08.19 - 16:52
а зачем уникальность в пределах базы?
   scanduta
 
34 - 02.08.19 - 16:54
(32) Странный ты архитектор, GUID  может использоваться не только как  primary key.
   Cyberhawk
 
35 - 02.08.19 - 16:55
(14) Одинаковые УИДы разных типов метаданных не только никак не мешают вести какой-то там "учет больших данных", но и помогают это делать. Типовые обмены "один ко многим" все на это заточены.
   asady
 
36 - 02.08.19 - 17:01
(35) например... приведи пример оправдывающий это.

Со своей стороны напишу:

если один объект транслируется в два разных объекта - это значит что
1) либо это одноразовая операция (выгрузка в новую базу типа  УТ 10 -> УТ 11)
что бывает но никак не оправдывает дублирование УИДов
2) либо это ошибка архитектора - который допустил деление сущности на две разные и оставил один УИД у них.
   ДядяМитяй
 
37 - 02.08.19 - 17:32
Вы там не забыли что значит буква G в слове GUID?
   Жан Пердежон
 
38 - 02.08.19 - 17:48
(36) внезапно, задача ключа в таблице - однозначно определять запись в этой же таблице,
а то, что у тебя на него есть какие-то фантазии - исключительно твоя проблема.
(32) надеюсь, мы её никогда не увидим;
(37) вот поэтому все кроме Microsoft его называют UUID.
   asady
 
39 - 02.08.19 - 17:51
(38) UUID (англ. universally unique identifier "универсальный уникальный идентификатор") — это стандарт идентификации, используемый в создании программного обеспечения, стандартизированный Open Software Foundation (OSF) как часть DCE — среды распределённых вычислений (Distributed Computing Environment (англ.)). Основное назначение UUID — это позволить распределённым системам уникально идентифицировать информацию без центра координации. Таким образом, любой может создать UUID и использовать его для идентификации чего-либо с приемлемым уровнем уверенности, что данный идентификатор непреднамеренно никогда не будет использован для чего-то ещё. Поэтому информация, помеченная с помощью UUID, может быть помещена позже в общую базу данных, без необходимости разрешения конфликта имен. Наиболее распространённым использованием данного стандарта является Globally Unique Identifier (GUID) фирмы Microsoft. Другими значительными пользователями являются Linux (файловая система ext2/ext3, LUKS шифрованные разделы, GNOME, KDE) и Mac OS X — все они применяют реализацию, полученную из библиотеки uuid, находящейся в пакете e2fsprogs.
https://ru.wikipedia.org/wiki/UUID

это не мои фантазии а твои вкупе с 1С
   Жан Пердежон
 
40 - 02.08.19 - 18:06
(39) и? сам хоть читал?
хотя, глядя на (4), (16) и (19) с тобой и так всё ясно
   Cyberhawk
 
41 - 02.08.19 - 18:08
(36) Пока складывается ощущение, что мало ты обменов в инфобазах видел, раз для тебя "один ко многим" это что-то нерядовое.
Навскидку сразу же приходит на ум один документ Авизо в БП ПРОФ и восемь документов Авизо в КОРПе. Гоняются туда-сюда с синхронизацией по УИДам. А уж про превращение ПТУ одной базы в РТУ другой вообще молчу.
   asady
 
42 - 02.08.19 - 23:57
(40) ну дык я это давно знаю, а тебе бы неплохо было бы вчитаться.



(41) обмены один ко многим в 1с не редкость и это не есть норма.
Твой пример с авизо чуть разверни пожалуйста. Какие документы с одним уидом из корп бп гоняются в бп проф?


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.