|
Возможно ли найти одинаковые внутренние идентификаторы в двух разных базах 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) Естественно не единсвенный, сначала по Гуиду, потом по полям поиска, хотя было бы здорово, если бы в КД была возможность сделать обратную последовательность - сначала по полям поиска, а потом по Гуидам...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |