Имя: Пароль:
1C
1С v8
Возможно ли найти одинаковые внутренние идентификаторы в двух разных базах 1С
,
0 Сияющий Асинхраль
 
21.01.12
12:32
При условии, что между этими базами не было обменов, т.е. эти ИД появились в базе просто при вводе пользователем независимо новых объектов в базах... Или все-таки вероятность стремится к нулю?
1 zak555
 
21.01.12
12:34
вероятность есть
2 zak555
 
21.01.12
12:34
*всегда
3 Сияющий Асинхраль
 
21.01.12
12:37
Просто ваяю перенос между уже работающими базами, соответственно встал вопрос можно или не желательно синхронизировать по внутренним идентификаторам...
4 rs_trade
 
21.01.12
12:59
(3) не можно, а нужно. вероятность встретить одинаковый пренебрежительно мала
5 Упанишады
 
21.01.12
13:34
(3)Ситуацию, когда внутренний ИД повторяется, тоже можно обработать. Но это скорее будет обработка "на всякий случай". Если синхронизировать по коду и наименованию, то геморроя будет гораздо больше и обрабатывать ошибки при таком подходе придется гарантированно.
6 Aleksey
 
21.01.12
13:40
Они не просто должны повторяться, но и повторятся в рамках одного вида, а не всей базы
7 Odin1C
 
21.01.12
13:46
(0) практически невозможно, за 3 года в 5 базах не возникло ни разу )
8 Сияющий Асинхраль
 
21.01.12
13:50
(6) речь про uid-ы
9 Aleksey
 
21.01.12
13:51
(8) А я про что?
10 Aleksey
 
21.01.12
13:51
УИД живут в таблицы. Причем для каждого документа/справочника свой уид. Нельзя без вида по УИДу найти объект (ну только если перебором всех таблиц)
11 Aleksey
 
21.01.12
13:53
Отсюда вывод, уид уникальный должен быть в рамках вида, а не всей базы. Т.е. с точки зренич программы могут быть номенклатура и контрагент с одинаковым уидом, но вот 2 элемента номенклатуры с одним уидоом - этот нонсенс
12 ASU_Diamond
 
21.01.12
13:54
(11) в уид в восьмерке включен вид метаданных, уид из 2х частей состоит.
13 Aleksey
 
21.01.12
14:01
(12) внутренний ИД не содержит вида
14 i-rek
 
21.01.12
16:54
можно даже в одной и той же базе найти.
К примеру, в одной из типовых версикй типового обмена между УТ11 и БП20 из одного документа (кажется ПТУ) делалось 2: ПТУ и допрасходы. Так вот у обоих одинаковый идентификатор. Что приводило к ошибке при заполнении книги покупок
15 Aleksey
 
21.01.12
17:03
(14) Книга покупок по внутренним кодам работает?
16 Aleksey
 
21.01.12
17:04
Для составных полей там по любому вид будет
17 25-11
 
21.01.12
17:18
Почитай v8: Как из плана обмена вытащить GUID внешнего объекта
В двух разных базах ГУИДы могут быть одинаковыми тогда и только тогда, когда объект перенесем из одной базы в другую. Или сама получена копированием (частный случай массового переноса объектов)
18 Zixxx
 
21.01.12
18:17
(0) Вероятность что у тебя образуется вагина от мутаций куда больше, чем в id попасть
19 Sammo
 
21.01.12
18:48
Маловероятно.
Но могли вносить руками
20 zak555
 
21.01.12
21:34
про какой объект в частности говоришь ?
21 PVV65
 
21.01.12
21:39
(11) Бред. Даже обосновывать не хочется.
22 Aleksey
 
21.01.12
21:41
Что именно бред, что не может быть номенклатуры и контрагента с одинаковым внутренним кодом?
23 Aleksey
 
21.01.12
21:42
или например документа поступления и с таким же кодом документ реализация?
24 PVV65
 
21.01.12
21:42
Да, если это не сделано руками.
25 Aleksey
 
21.01.12
21:51
(24) Стоп. Я лишь уточнил сабж. Т.е. берем разные 2 базы. База А и база Б, которые жили своей жизнью. Далее решили настроить обмен по внутренним идентификатору между базами. Соответственно был вопрос могут ли эти коду повторятся. Я лишь уточнил, что для обмена не важно что код номенклатуры в базе А точно такой же как и код у контрагента в базе Б (мы же можем допустить что 2 разных вида справочника в разных базах по какой то причине получили одинаковый код?) Для обмена и для 1С это все равно будут разные элементы, потому что идентификация идет по паре вид + уникальный идентификатор, а не только по внутренним идентификатору

Ты же пишешь что это бред, и типа даже объяснять не буду

P.S. для буквоедов в тексте под кодом имеется ввиду внутренний уникальный идентификатор, который без вида
26 PVV65
 
21.01.12
21:58
(25) Съехал.

Из (11) >> Отсюда вывод, уид уникальный должен быть в рамках вида, а не всей базы

Это бред.
27 Aleksey
 
21.01.12
21:59
(26) А по твоему для идентификации объекта внутренний уникальный идентификатор должен быть уникальный для всей базы?
28 Aleksey
 
21.01.12
21:59
При условии что этот идентификатор не содержит вид?
29 Aleksey
 
21.01.12
22:00
Или мы о разных вещах говорим, или кто-то заблуждается
30 PVV65
 
21.01.12
22:04
(29) я говорю об УникальномИндетификатре, а ты говоришь о Ссылке. И полностью с тобой согласен в части поиска объектов, но не в части (повторюсь) >> Отсюда вывод, уид уникальный ДОЛЖЕН БЫТЬ в рамках вида, а не всей базы
31 PVV65
 
21.01.12
22:05
+(29) он ДОЛЖЕН БЫТЬ уникальным везде. Если не уникален - кто то накосячил.
32 Aleksey
 
21.01.12
22:08
(30) Что есть УникальномИндетификатре?

Я почему справшиваю, запустил у себя в базе (в БП)

справочники.СтатьиЗатрат.СписаниеНДСНаРасходы.УникальныйИдентификатор()

вернуло
6a99979c-b822-417f-bc35-2df9f6d0af10

И где тут вид?
33 Aleksey
 
21.01.12
22:11
тоже самое

КлючУникальности = Новый УникальныйИдентификатор;

Вернет тоже 32 символа (если черточек не считать), без привязки к виду. Т.е. в терминах 1С УникальныйИдентификатор не привязан к виду, и программа вполне себя хорошо чувствует, когда УникальныйИдентификатор одинаковый у номенклатуры и контрагента
34 Aleksey
 
21.01.12
22:14
при этом не зная вида, кроме как перебором видов, нельзя найти что это за элемент с 6a99979c-b822-417f-bc35-2df9f6d0af10
35 PVV65
 
21.01.12
22:19
(34) Давеча писал - "Нет не решаемых задач - есть не рациональные решения".
36 Aleksey
 
21.01.12
22:21
(35) А по теме?
37 AAlexandra
 
21.01.12
22:40
(0) Вероятность совпадения ГУИДов в двух независимых базах есть и она больше нуля. ИМХО, этого уже достаточно, чтобы НЕ использовать ГУИД как единственный ключ для сопоставления объектов в двух независимых базах..
Если особо интересно, вероятность эту можно посчитать.. грубо 16^32 вариантов ГУИДов, количество объектов в БД тоже примерно прикинуть можно..
Из практики, на моей прошлой работе был настроен обмен: не по ГУИДам (32 байта), а по части ГУИДа (то-ли 28 байт, то-ли 30 уже точно не помню). Пару лет все было нормально. А потом начались совпадения.
38 Torquader
 
21.01.12
22:50
Изначально GUID делался как глобальный уникальный идентификатор. То есть для его генерации используются данные компьютера, MAC-адрес сетевой карты, время генерации и другие параметры, которые должны обеспечить его уникальность - так в теории.
Но на практике оказывается, что все данные могут совпадать (а с учётом использования нескольких ядер в процессорах - то даже на одной машине).
Кроме того - значительное число "верующих в уникальность GUID" привело к тому, что его стали слишком часто использовать - а совпадений тем больше, чем большее число раз он создаётся.
39 25-11
 
22.01.12
12:30
(37),(38) - может представить из жизни пример совпавших ГУИДов, созданных 1С?
(37) - "настоящих", полноразмерных
40 Сияющий Асинхраль
 
22.01.12
13:06
(37) Естественно не единсвенный, сначала по Гуиду, потом по полям поиска, хотя было бы здорово, если бы в КД была возможность сделать обратную последовательность - сначала по полям поиска, а потом по Гуидам...
Ошибка? Это не ошибка, это системная функция.