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

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

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

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

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

Парадокс, да?
30 asady
 
02.08.19
16:42
(28) тогда гуиды уникальны в принципе.
Проблемы когда время на среваке слетело - это не в счет - в серьезных системах за это будут иметь во все дыры сисадминов без вазелина.
31 bugug
 
02.08.19
16:47
(30) признайся, ты не знал что могут гуиды быть в разных таблицах одинаковые, все тебя простят) для этого и есть форум.
32 asady
 
02.08.19
16:51
(31) Я признаюсь в том что проектирую свою платформу и УИДы в ней уникальны в принципе.
Про неуникальность УИДов в пределах одной базы уже много много раз перетиралось и тут не в чем признаваться.
Ты наверное новичок здесь.
мы обсуждаем здесь не только то что есть в 1С как таковое но и как должно быть.
И каждый может написать свое мнение.
Ты что сам думаешь по этому поводу?
33 Вафель
 
02.08.19
16:52
а зачем уникальность в пределах базы?
34 scanduta
 
02.08.19
16:54
(32) Странный ты архитектор, GUID  может использоваться не только как  primary key.
35 Cyberhawk
 
02.08.19
16:55
(14) Одинаковые УИДы разных типов метаданных не только никак не мешают вести какой-то там "учет больших данных", но и помогают это делать. Типовые обмены "один ко многим" все на это заточены.
36 asady
 
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.
39 asady
 
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) с тобой и так всё ясно
41 Cyberhawk
 
02.08.19
18:08
(36) Пока складывается ощущение, что мало ты обменов в инфобазах видел, раз для тебя "один ко многим" это что-то нерядовое.
Навскидку сразу же приходит на ум один документ Авизо в БП ПРОФ и восемь документов Авизо в КОРПе. Гоняются туда-сюда с синхронизацией по УИДам. А уж про превращение ПТУ одной базы в РТУ другой вообще молчу.
42 asady
 
02.08.19
23:57
(40) ну дык я это давно знаю, а тебе бы неплохо было бы вчитаться.



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