Имя: Пароль:
1C
1С v8
Может ли быть одинаковый GUID и двух документов разного типа?
0 Oblako486
 
13.03.21
17:11
...
1 RomanYS
 
13.03.21
17:13
может
2 Oblako486
 
13.03.21
17:19
(1) а у двух документов одного типа?
3 Oblako486
 
13.03.21
17:20
в одной базе
4 RomanYS
 
13.03.21
17:20
(2) нет
5 Garykom
 
гуру
13.03.21
17:21
(2) (3) нет
на этом основан глюк который может быть при РИБ когда объекты (в т.ч. документы) пропадают
6 Garykom
 
гуру
13.03.21
17:23
(5)+ на миллионах документах в год при РИБ на 160+ точек на 1С 8.1 два раза сталкивался лично
одинаковый гуид в разных ПБ (винду админы накатывали клонированием) и прилетая в ЦБ последний затирает предыдущий
7 vi0
 
13.03.21
17:23
(2) оба вопроса легко проверить - назначаешь какой хочешь уид новым объектам и записываешь
8 vi0
 
13.03.21
17:24
+ если нужно просто проверить теоритическую возможность хранения
9 Oblako486
 
13.03.21
17:45
получается GUID, если использовать его для однозначной идентификации в пределах одного типа документа, равносилен значению функции МоментВремени()?
10 Garykom
 
гуру
13.03.21
17:46
(9) + идентификатор железки + random
11 RomanYS
 
13.03.21
18:00
(9) теплое с мягким сравнил
12 ДенисЧ
 
13.03.21
18:02
13 ДедМорроз
 
13.03.21
18:24
При генерации guid используется отметка времени и данные уникальности компьютера.
К сожалению,реально,но первое ни второе уникальностью не отличается.
Особенно с учётом возможности запускать виртуальные машины.
Поэтому,реально guid гарантированно уникален только в пределах одного компьютера.

В 1с каждый объект хранится в своей таблице,поэтому,ничего не мешает иметь одинаковые идентификаторы в разных таблицах.
Но,регистр идентификаторов объектов информационных баз содержит только guid без указания типа объекта,что может приводить к достаточно странным последствиям,если в разные таблицы записать одинаковые идентификаторы.
14 Cthulhu
 
13.03.21
18:26
(13): "странным" - довольно милый эпитет в этой ситуации...
15 Anton1307
 
13.03.21
21:02
(9) Да. МоментВремени() = Дата + GUID
16 RomanYS
 
13.03.21
21:09
(15) момент = дата + ссылка
ссылка = тип + гуид
17 vsg-work
 
14.03.21
11:26
(1) Не может, вне зависимости от типа объекта, любой объект имеет разный GUID в базе и повторяться не может.
18 acht
 
14.03.21
11:40
(17) Какое смелое заявление
19 ДенисЧ
 
14.03.21
12:48
20 Конструктор1С
 
14.03.21
13:25
(0) гуид документу может быть назначен
21 Fragster
 
гуру
14.03.21
13:26
(4) может, если есть разделители ;)
22 RomanYS
 
14.03.21
13:54
(21) О! Не задумывался о таком. Т.е. Документы[Вид].ПолучитьСсылку(ГУИД) и XMLЗначение() будут выдавать разный результат в зависимости от значений параметров сеанса?
По логике - да, хотя в СП не встретил упоминаний об этом.
23 Fragster
 
гуру
14.03.21
14:04
(22) нет, результат будет одинаковым, ведь ид один и тот же. а вот строки в таблица СУБД будет две
24 RomanYS
 
14.03.21
14:12
(23) Неточно выразился, сама ссылка одинаковая, но вот уже представление и данные объекта будут зависеть от разделителя.
Ну и кстати в ПолучитьОбъект в СП тоже никаких упоминаний про разделители...
25 acanta
 
14.03.21
14:22
В чем проблема? Скопировать базу и в списке клиентов и товаров изменить название и реквизиты, а затем соединить их в РИБ это вообще святое.
26 Конструктор1С
 
14.03.21
15:19
(22) если поле составного типа, то на уровне СУБД это поле будет образовано из двух полей: поле со ссылкой на таблицу и поле с гуидом. Т.е. в одном регистре спокойно могут существовать два регистратора с одинаковым гуидом
27 RomanYS
 
14.03.21
18:39
(26) Это ещё в (1) выяснили - вопроса и проблем с двумя таблицами никаких.
Речь про одну таблицу и (21)
28 Garykom
 
гуру
14.03.21
18:43
(27) Надо провести эксперимент но подозреваю подвох с разделителями
29 Garykom
 
гуру
14.03.21
18:48
(28)+ Ага

"Свойство Использование разделяемых данных определяет возможность использования данных разделенных объектов конфигурации в том случае, если в режиме 1С:Предприятие разделитель не используется:

● Значение Независимо – запрещается любое обращение к разделенным объектам (кроме планов обмена, подробнее см. здесь), если в текущем сеансе работы с информационной базой разделитель не используется. При этом разделитель недоступен в объектной модели, в языке запросов, в формате выгрузки в XML и XDTO, а также ограничениях доступа к данным. При записи разделенных данных система автоматически заполняет значения общего реквизита значениями, установленными в текущем сеансе.

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

ВНИМАНИЕ! В этом режиме ссылки объектов базы данных могут быть одинаковыми для объектов, записанных в разных областях данных.

● Значение Независимо и совместно – разрешается работа с разделяемыми объектами независимо от использования разделителя в сеансе. Для такого режима будет доступна область данных, которую определяют значения используемых разделителей. При этом разделитель доступен в объектной модели, в языке запросов, в формате выгрузки в XML и XDTO, а также в ограничениях доступа к данным. В этом режиме невозможно создание предопределенных элементов для объектов, входящих в состав такого разделителя. Если в сеансе используются не все разделители, в состав которых входит объект, то работа с этим объектом будет менее эффективной.

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

ВНИМАНИЕ! В этом режиме ссылки объектов базы данных не могут быть одинаковыми для разных объектов, записанных в разных областях данных."
https://its.1c.ru/db/v838doc#bookmark:dev:TI000000878
30 RomanYS
 
14.03.21
19:24
(29) Вроде всё логично. Надо признать, что 1С удалось встроить довольно органично разделители не поломав кучу всего
31 ДедМорроз
 
14.03.21
19:59
(29) можно предположить,что в режиме Независимо для таблиц используется view с явно заданными разделителями,и верх их просто не видит,в принципе.