![]() |
![]() |
![]() |
|
Ссылка - > UUID, а в обратную сторону??? | ☑ | ||
---|---|---|---|---|
0
trinoo
29.09.04
✎
14:45
|
Насколько я понимаю философию v8 (сдав на Профа и Спеца), со ссылками дела обстоят следующим образом:
На каждый объект, _записанный в базу_ можно ссылаться. Пока объект не записан, ссылаться нельзя. Ссылка, фактически, - это UUID (УникальныйИдентификатор), т.е. уникальная строка. Ссылку я всегда могу преобразовать в UUID(метод .УникальныйИдентификатор()), а по UUID - получить ссылку(.ПолучитьСсылку(UUID)). НО... так почему нет функционала, позволяющего для еще _не записанного в базу_ объекта получать ссылку на него??? ведь UUID сгенерировать можно и без записи в базу. ;\ Или я где то прое..ся ? |
|||
1
trinoo
29.09.04
✎
14:46
|
Вот с названием темы я точно прое..ся :)
|
|||
2
SnarkHunter
29.09.04
✎
14:47
|
Вот такие у нас "Профы и Спецы"...
|
|||
3
trinoo
29.09.04
✎
14:50
|
Решение так очевидно??? или ты на счет лексики? :)
|
|||
4
Волшебник
29.09.04
✎
14:58
|
||||
5
trinoo
29.09.04
✎
15:17
|
поясню:
Сотрудник = Справочники.Сотрудники.СоздатьЭлемент(); Сотрудник.Наименование = "Тест ссылок"; Задача = Документы.Задача.СоздатьДокумент(); Задача.Дата = ТекущаяДата(); Задача.Исполнитель = Сотрудник.Ссылка; Задача.Записать(); Сотрудник.Записать(); После записи обоих объектов, Документ.Исполнитель ссылается вникуда. Ссылки была пустой, пустой и осталась. Зато если сначала выполнить Сотрудник.Записать();, тогда на него можно ссылаться. Мне вообще эта возможность нужна, чтобы организовывать ссылку объектов друг на друга при их одновременном создании и до их записи. Приходится писать корявый код с сохранением объектов по нескольку раз. |
|||
6
Волшебник
29.09.04
✎
15:21
|
(5) Вполне нормальный код.
|
|||
7
SnarkHunter
29.09.04
✎
15:31
|
ИД нового объекта создается при записи... Было бы странно, если б иначе...
|
|||
8
v8
29.09.04
✎
15:37
|
7 для нового объекта тоже можно
УстановитьСсылкуНового(<Ссылка>) Параметры: <Ссылка> обязательный Тип: СправочникСсылка.<Имя справочника>. Ссылка, которая будет назначена при записи нового объекта. Описание: Позволяет для нового (созданного и еще не записанного) объекта установить значение, которое будет назначено при записи в качестве ссылки. Значение не может равняться ссылке какого-либо из имеющихся в базе данных объекта данного типа. Уникальность ссылки проверяется при записи объекта. |
|||
9
trinoo
29.09.04
✎
15:39
|
Ну да, и он дает нормальный результат
ИсполнительПустой = ?(Задача.Исполнитель.Пустая(),"Да","Нет"); // ИсполнительПустой = "Да" // а хотелось бы ИсполнительПустой = "Нет" |
|||
10
trinoo
29.09.04
✎
15:44
|
(8)
Нашелся таки функционал. v8 (человеку, а не платформе) - большое спасибо. |
|||
11
SnarkHunter
29.09.04
✎
16:06
|
И что случится, если при проверке уникальности ссылки во время записи объекта выяснится, что проверка не пройдена?
|
|||
12
Волшебник
29.09.04
✎
20:36
|
(11) Исключение.
|
|||
13
Asmody
29.09.04
✎
20:49
|
(11) а ты пробовал проверять UUID'ы на уникальность? какова вероятность появления двух одинаковых UUID'ов?
|
|||
14
SnarkHunter
29.09.04
✎
21:26
|
(13)Только не надо меня лечить... В 60-е годы утверждалось, что США в конце века будет достаточно десятка мейнфреймов, сейчас утверждается, что уникальность ИД гарантирована...
|
|||
15
Волшебник
29.09.04
✎
21:27
|
(14) Одно дело экспертные прогнозы, другое - чистая статистика.
|
|||
16
SnarkHunter
29.09.04
✎
21:59
|
:-)
|
|||
17
Asmody
30.09.04
✎
00:00
|
(14) да, а еще БГ как то сказал, что всеем хватит 640 кб...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |