Имя: Пароль:
1C
1С v8
Вероятность дубля по Гуиду
, ,
0 Anttonnio
 
17.10.16
20:48
Доброго дня

Уже сто раз было и все задам свой конкретный вопрос:

База ведётся с 2013 года, в месяц одного вида документов примерно 15тыс шт(реализации в частности)

Сейчас начинаем грузить из другой базы у них своя нумерация, а надо проводить к единой и как раньше сопоставлять по номеру и дате уже не получится.

Поэтому хочу загружать под гуидом приезжающей базы и отсюда вопрос - какова вероятность что приедет документ под тем же гуидом, что уже был заведён другой? И какие проверки предусмотреть, чтоб старый док не затереть?

З.ы. Правильно я понимаю, что в пределах только одного документа надо смотреть уникальность Гуида?
1 Dmitrii
 
гуру
17.10.16
20:51
2 Serg_1960
 
17.10.16
20:53
(0) Если не теория нужна, а практика, то это же всё просто О_О Проверить наличие ссылки объекта из источника в базе-приёмнике перед добавлением. Область проверки - в пределах вида объекта.
3 Cyberhawk
 
17.10.16
20:53
"какова вероятность что приедет документ под тем же гуидом, что уже был заведён другой?" // Зависит от того, участвовали ли эти базы в каких-нибудь обменах или переносах данных
4 Cyberhawk
 
17.10.16
20:54
Если _все_ документы заводились в каждой базе _независимо_ (не было обменов или перекачек данных), то вероятность ничтожна.
Для гарантированного учета такой ситуации см. (2)
5 Serg_1960
 
17.10.16
21:00
Эээ... забыл добавить: если базы одинаковой конфигурации, то ссылку можно использовать "напрямую", иначе - через преобразование (ГУИД объекта в УИД и из УИДа в ГУИД приёмника) Надеюсь не сложно выразился? :)
6 DrShad
 
17.10.16
21:09
вероятность 50/50
либо найдутся два одинаковых, либо нет
7 Anttonnio
 
17.10.16
21:20
Сейчас я то проверю, но это же ежемесячная выгрузка документов(видимо не правильно выразился)  и я думаю какую проверку на входе поставить, что реально документ тот же самый, а не какой-то старый или другой в принципе?
8 Cyberhawk
 
17.10.16
21:26
(7) "я думаю какую проверку на входе поставить, что реально документ тот же самый, а не какой-то старый или другой в принципе" // Ну предположим, что у того же самого документа в базе-источнике поменяли _абсолютно все_ реквизиты. Никак тогда не определишь.
Заведи в источнике неизменяемые общие реквизиты  "Инфобаза создания", "Автор создания", "Дата создания" и переноси их в базу-приемник. Тогда уже можно более надежно будет сравнивать.
9 Fragster
 
гуру
17.10.16
21:31
у меня один раз в разных узлах РИБ (правда сделанных копированием) создался документ с одинаковым ГУИДом. это было печально.
10 Boleev
 
17.10.16
21:46
(9) я и фирма 1С тебе не верим
11 Cyberhawk
 
17.10.16
21:46
(9) При создании в ГУИД кодируется штамп времени, значит документы создались в одну и ту же секунду независимо? Везунчик :)
12 craxx
 
17.10.16
21:48
(11) ага, а мог бы джекпот сорвать))
13 Fragster
 
гуру
17.10.16
22:06
(11) там не только он туда кодируется. но да, в рознице такое случается. для себя сделал вывод - не надо забивать на создание начального образа
14 xReason
 
17.10.16
22:24
(11) Туда еще подмешиваются другие данные, так что он дважды везунчик
15 Torquader
 
18.10.16
01:18
Если не вбивать MAC-адрес карты вручную (а иногда такое делать приходится), то ГУИД-ы, сформированные по отметке времени и MAC-адресу карты будут уникальными.

Если же на нескольких машинах будет один и тот же MAC-адрес (например, кто-то купить программу, привязанную к MAC-адресу, а затем подменил его в Windows), то при генерации GUID-а в один и тот же момент времени можно получить одинаковые значения.
16 Cyberhawk
 
18.10.16
13:10
(15) Откуда инфа про подмешивние МАС-адреса сетевой карты в ГУИДы объектов инфобаз? А если на ПК нет сетевых карт?
17 Garykom
 
гуру
18.10.16
13:13
Вероятность одинаковых гуидов примерно 1 на несколько миллионов.
Это если mac одинаковый и в одно время примерно параллельно создавали
18 Лефмихалыч
 
18.10.16
13:14
(1) это ветка шестилетней давности, с тех пор все сильно поменялось
19 Torquader
 
18.10.16
13:16
(16) В описании функции генерации ГУИД-а от Microsoft есть ошибка, когда система сообщает, что из-за отсутствия сетевой карты GUID будет уникальным только на данной машине.

https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa379205(v=vs.85).aspx

https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa379322(v=vs.85).aspx
20 Cyberhawk
 
18.10.16
13:28
(19) Ага, благодарю, но там же пишут "Computers with ethernet/token ring addresses generate UUIDs that are guaranteed to be globally unique" - не ясно, за счет чего обеспечивается эта глобальная уникальность...
21 Aleksey
 
18.10.16
13:43
(18) А что поменялось? 1С отказалась от ГУИД, теперь вместо ГУИД что-то 128 случайных символов?  Или что изменилось?
22 Irbis
 
18.10.16
13:45
(21) Символов больше, вероятность статистическая меньше
23 Cyberhawk
 
18.10.16
13:50
(22) "Больше"? А сколько было и сколько стало?
24 Irbis
 
18.10.16
13:52
(23) В гуиде 36 16-разрядных символов и четыре дефиса. Теперь их 128 и ХЗ какая разрядность.
25 StanleyMarsh
 
18.10.16
13:53
(0) высокая)) недавно делалась выгрузка из ЗУП в БП проводок. Гуид документа в ЗУП совпал с документом БП от 11 года. Ругался на дату запрета. Понадобилось минут 5 чтобы понять что гуиды то могут совпадать))
26 Лефмихалыч
 
18.10.16
13:53
(21) изменилось то, что сейчас все описанные там трюки по генерации одинаковых ГУИДов, не работают.
27 StanleyMarsh
 
18.10.16
13:54
(0) в пределах 1 документа, если в правилах не конвертируются один в другой.
28 Serginio1
 
18.10.16
14:15
29 Serginio1
 
18.10.16
14:16
30 Serginio1
 
18.10.16
14:17
31 Cyberhawk
 
18.10.16
15:27
(24) Так речь о ГУИДах, выдаваемых ОС? Как это относится к УИДам объектов инфобаз 1С? Там-то все по-старому?
32 Aleksey
 
18.10.16
16:21
(24) Это в какой версии? 1С 9.0?
33 Aleksey
 
18.10.16
16:22
(26) Что именно не работает?
34 SSSSS_AAAAA
 
18.10.16
16:25
(24) в GUID НЕТ никаких дефисов. Они есть в текстовом представлении GUID-а. А в самом GUID-е только байты.
35 SSSSS_AAAAA
 
18.10.16
16:26
(31) А 1С нарисовала свой GUID, не связанный никак с операционной системой? Где про сие можно почитать?
36 Serginio1
 
18.10.16
16:33
(35) Посмотри мои ссылки v8: ГУИД 1С8
37 scanduta
 
18.10.16
16:35
(0) Вероятность совпадения очень низкая, но она есть. Сам сталкивался только один раз с таким.
38 Aleksey
 
18.10.16
16:39
(26) Типовая БП 3.0.44.164 на платформе 8.3.8.2088


&НаСервереБезКонтекста
Процедура Команда1НаСервере()
    // Вставить содержимое обработчика.
    Док1 = Документы.Доверенность.СоздатьДокумент();
Док1.Дата = ТекущаяДата();
Док2 = Документы.Доверенность.СоздатьДокумент();
Док2.Дата = ТекущаяДата();
Док1.Записать();
Док2.Записать();
сообщить(Док1.Ссылка.УникальныйИдентификатор());
сообщить(Док2.Ссылка.УникальныйИдентификатор());
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
    Команда1НаСервере();
КонецПроцедуры


Результат

0481fa4a-9538-11e6-836d-14dae9151f5c
0481fa4b-9538-11e6-836d-14dae9151f5c

И что поменялось?
39 Serginio1
 
18.10.16
16:59
По аналогии
472f0b13-4079-11dd-a992-0013d3ae4805
472f0b14-4079-11dd-a992-0013d3ae4805

Смотри

0481fa4a-9538-11e6-836d-14dae9151f5c
0481fa4b-9538-11e6-836d-14dae9151f5c


Восьмой символ
40 Serginio1
 
18.10.16
17:01
39+ Прошу прощения не посмотрел кому адресовано.
Даже если бы, что то и изменилось у автора база с 2013 года
Независимо от того, куда вы едете — это в гору и против ветра!