|
Из чего состоит уникальный идентификатор? | ☑ | ||
---|---|---|---|---|
0
1Сергей
25.01.16
✎
12:35
|
348a0be9-7ee7-11e5-80ba-00155d1e0800
Первая часть, как мне кажется, уникальна во всей базе. Нет? Третья похожа на дату или код сеанса. Подскажите, плз |
|||
1
GROOVY
25.01.16
✎
12:37
|
||||
2
vicof
25.01.16
✎
12:37
|
Без бутылки не разберешься.
|
|||
3
zak555
25.01.16
✎
12:37
|
уникальна в пределах таблицы
|
|||
4
1Сергей
25.01.16
✎
12:38
|
(3) а есть ли ID таблицы в нём?
|
|||
5
los_hooliganos
25.01.16
✎
12:39
|
(0) Очевидно что ИД состоит из цифр и букв, которые на самом деле хранятся в компе в виде 0 и 1, те битов.
|
|||
6
los_hooliganos
25.01.16
✎
12:40
|
(4) Нет
|
|||
7
H A D G E H O G s
25.01.16
✎
12:40
|
(0) Карты. Деньги. Два ствола.
|
|||
8
Повелитель
25.01.16
✎
12:40
|
(0) Строится из букв, цифр и дефиса.
|
|||
9
1Сергей
25.01.16
✎
12:42
|
Неужели никто не разбирался?
|
|||
10
Godofsin
25.01.16
✎
12:44
|
А чо там разбираться? Рандом.
|
|||
11
Nuobu
25.01.16
✎
12:44
|
||||
12
1Сергей
25.01.16
✎
12:46
|
(11) О, там заложено время создания ссылки, уже что-то
|
|||
13
Dmitrii
гуру
25.01.16
✎
12:48
|
(12) И что оно тебе даст?....
|
|||
14
hhhh
25.01.16
✎
12:48
|
(12) когда добавляешь подряд два совершенно разных документа, они различаются всего на один битик. Поэтому таблицы там точно нет.
|
|||
15
Nuobu
25.01.16
✎
12:49
|
(13) Как что? "время создания ссылки" в (12) же написано!))
|
|||
16
1Сергей
25.01.16
✎
12:49
|
(10) рандом, да?
5e15ad81-8e78-11e5-8d7e-e839df40b089 - Расходная накладная ГО-00001819 от 19.11.2015 11:39:32 5e15ad82-8e78-11e5-8d7e-e839df40b089 - Расходная накладная ГО-00001820 от 19.11.2015 11:39:33 5e15ad83-8e78-11e5-8d7e-e839df40b089 - Расходная накладная ГО-00001821 от 19.11.2015 11:39:34 5e15ad84-8e78-11e5-8d7e-e839df40b089 - Расходная накладная ГО-00001822 от 19.11.2015 11:39:35 5e15ad85-8e78-11e5-8d7e-e839df40b089 - Расходная накладная ГО-00001823 от 19.11.2015 11:39:36 5e15ad86-8e78-11e5-8d7e-e839df40b089 - Расходная накладная ГО-00001824 от 19.11.2015 11:39:37 5e15ad87-8e78-11e5-8d7e-e839df40b089 - Расходная накладная ГО-00001825 от 19.11.2015 11:39:38 5e15ad88-8e78-11e5-8d7e-e839df40b089 - Расходная накладная ГО-00001826 от 19.11.2015 11:39:39 5e15ad89-8e78-11e5-8d7e-e839df40b089 - Расходная накладная ГО-00001827 от 19.11.2015 11:39:40 5e15ad8a-8e78-11e5-8d7e-e839df40b089 - Расходная накладная ГО-00001828 от 19.11.2015 11:39:41 |
|||
17
Живой Ископаемый
25.01.16
✎
12:51
|
2(16) да. первый получается рандомом, остальные - инкрементом. Что еще хотел узнать?
|
|||
18
hhhh
25.01.16
✎
12:51
|
(16) да, похоже рандом.
|
|||
19
1Сергей
25.01.16
✎
12:51
|
Из (11) понятно, что первые три параметра - время создания ссылки
|
|||
20
vicof
25.01.16
✎
12:52
|
(16) Ты можешь создать объект по любой ссылке.
|
|||
21
yukon
25.01.16
✎
12:53
|
(17) Там вроде пачка из 32-х с инкрементом формируется, потом опять рандом.
|
|||
22
Живой Ископаемый
25.01.16
✎
12:54
|
+(20) более того, сгенерить один UUID и насоздавать разных объектов с этим уидом.
|
|||
23
hhhh
25.01.16
✎
12:57
|
(19) в (16) у тебя - не время создания ссылки, а время проведения документа.
|
|||
24
1Сергей
25.01.16
✎
12:58
|
(23) нет, скорее просто время документа
|
|||
25
Живой Ископаемый
25.01.16
✎
12:58
|
2(23) Время он изменит, а uid уже не изменится...
|
|||
26
1Сергей
25.01.16
✎
12:59
|
(25) +1
|
|||
27
Cyberhawk
25.01.16
✎
12:59
|
У документов - дата создания + рандом
У справочников - рандом Информации о типе (таблице) в ГУИДе нет |
|||
28
1Сергей
25.01.16
✎
13:01
|
мне просто необходимо генерить некий уникальный идентификатор для документов и справочников, стараясь уложиться в несколько символов
|
|||
29
Nuobu
25.01.16
✎
13:01
|
(27) Прям тема для диссертации.
|
|||
30
Nuobu
25.01.16
✎
13:02
|
(28) Во сколько символов нужно уложиться?
|
|||
31
Cyberhawk
25.01.16
✎
13:03
|
(29) Вроде такие темы должны укладываться в одно предложение
(28) Зачем? Интересно, расскажи |
|||
32
Живой Ископаемый
25.01.16
✎
13:03
|
2(28) Генери UUID, просто конверти его из 16-ричной в 36 или 46 ричную систему, будет короче
|
|||
33
1Сергей
25.01.16
✎
13:03
|
(31) для передачи в другую систему
|
|||
34
Живой Ископаемый
25.01.16
✎
13:04
|
2(31) Видел как генерятся короткие ссылки на веб-странички?Например для этого
|
|||
35
Живой Ископаемый
25.01.16
✎
13:04
|
36- ричная - это латинские символы. 46-ричная - латинские+цифры
|
|||
36
1Сергей
25.01.16
✎
13:05
|
(35) наивный юноша :)
Давно в латинском алфавите 36 символов? |
|||
37
Cyberhawk
25.01.16
✎
13:06
|
(34) Больше на сжатие последовательности символов (как архиватор) напоминает
А потом в приемнике разворачивать обратно в исходную последовательность надо? |
|||
38
Dotoshin
25.01.16
✎
13:07
|
(28) и в пределах чего он должен быть уникален?
|
|||
39
1Сергей
25.01.16
✎
13:07
|
(37) нет, только для уникальности записи:
Документ + Справочник + Справочник = 18 символов |
|||
40
1Сергей
25.01.16
✎
13:07
|
(38) в пределах базы
|
|||
41
1Сергей
25.01.16
✎
13:08
|
в 36-ричную систему переводить я умею, спасибо
|
|||
42
Drac0
25.01.16
✎
13:08
|
(33) Чем ГУИД в виде строки не подходит? Мы его юзали.
|
|||
43
Cyberhawk
25.01.16
✎
13:09
|
(39) На ум приходит только то, что только сама ссылка (у ссылочных типов данных) обеспечивает уникальность ссылочного объекта в таблице... но ее длина тебя не устраивает
|
|||
44
1Сергей
25.01.16
✎
13:09
|
(42) длинною
|
|||
45
1Сергей
25.01.16
✎
13:09
|
*длиною
|
|||
46
Cyberhawk
25.01.16
✎
13:10
|
Как ты планируешь "закодировать" разные документы с одинаковой датой и прочими всеми реквизитами?
|
|||
47
Drac0
25.01.16
✎
13:10
|
(44) Символы по карточкам выдают?
|
|||
48
1Сергей
25.01.16
✎
13:11
|
(46) видов документов не больше чем пальцев на руках, достаточно 3-4 бит
|
|||
49
1Сергей
25.01.16
✎
13:12
|
(46) справочник1 и справочник2 конкретных видов. С этим проблем быть не должно
|
|||
50
Dotoshin
25.01.16
✎
13:12
|
(47) Скорей всего он у него на выходной форме не помещается...
|
|||
51
Cyberhawk
25.01.16
✎
13:13
|
(48) Не, вопрос был как ты будешь кодировать
Документ1 вида 1 + элемент справочника 1 + элемент справочника 2 и Документ2 вида 1 + элемент справочника 1 + элемент справочника 2 ? |
|||
52
Cyberhawk
25.01.16
✎
13:13
|
Когда все реквизиты у документа1 и документа2 совпадают...
|
|||
53
1Сергей
25.01.16
✎
13:15
|
(52) вот надо найти некий ID, уникальный для Документ1 и Документ2 в пределах вида
|
|||
54
Godofsin
25.01.16
✎
13:15
|
Не пойму, чем обусловлено требование к длине строки.
Так бы просто было: Идентификатор = Врег(Строка(Новый УникальныйИдентификатор())); |
|||
55
1Сергей
25.01.16
✎
13:16
|
(54) требование принимающей системы
|
|||
56
Aceforg
25.01.16
✎
13:17
|
(55) Макисмальная длина какая?
|
|||
57
Godofsin
25.01.16
✎
13:18
|
(55) Тогда так:
Идентификатор = Лев(Врег(Строка(Новый УникальныйИдентификатор()),18); =) |
|||
58
1Сергей
25.01.16
✎
13:18
|
(56) см (39)
|
|||
59
ptiz
25.01.16
✎
13:20
|
(53) Делай отдельный регистр "уникальные ИД документов" и там лепи что хочешь.
|
|||
60
1Сергей
25.01.16
✎
13:21
|
(59) нельзя вносить изменения в конфигурацию
|
|||
61
Drac0
25.01.16
✎
13:22
|
(59) блокировки лишнии. Но других вариантов нет, имхо. Можно еще символов добавить для гуида и свернуть с их помощью в строку более короткую.
|
|||
62
Aceforg
25.01.16
✎
13:22
|
(58) при 64 символов в алфавите (кириллица + латиница + цифры) гуид можно сжать до 8 символов.
|
|||
63
Drac0
25.01.16
✎
13:23
|
(60) а куда ты генерацию и запись ид собрался добавлять?
|
|||
64
Drac0
25.01.16
✎
13:25
|
(62) за полученый ид вида "ассрорхк" можно и убить :) Лучше русский и английский не мешать.
|
|||
65
1Сергей
25.01.16
✎
13:27
|
(63) никуда, просто передавать в другую систему
|
|||
66
1Сергей
25.01.16
✎
13:28
|
128 бит гуида можно представить как 26 символов в 36ричной системе
|
|||
67
bolobol
25.01.16
✎
13:28
|
(64) А что может произойти, что "лучше не мешать"?
|
|||
68
Godofsin
25.01.16
✎
13:29
|
(65) То есть повторно передать не получится?
|
|||
69
1Сергей
25.01.16
✎
13:29
|
(68) почему?
|
|||
70
Godofsin
25.01.16
✎
13:31
|
(69) Ну ты ж не собираешься хранить ид в базе источнике. Получается, если понадобится еще раз прогрузить уже прогруженное, то у тебя сгенерируется новый ид?
|
|||
71
Drac0
25.01.16
✎
13:33
|
(67) Когда придет скриншот с ошибкой вида "ошибка в товаре с ид "ассророхк"" и попросят разобраться, то придется долго помучаться либо выбивая не скриншот, либо гадая, какие символы тут русские, а какие английские.
|
|||
72
1Сергей
25.01.16
✎
13:33
|
(70)
>>Ну ты ж не собираешься хранить ид в базе источнике вот как раз это я и не собираюсь делать. Мне нужно из уже имеющихся идентификаторов сваять уникальную строку в 18 символов. Т.е. взяв комбинацию Док1+Спр1+Спр1, и сколь угодно раз сгенерив этот код, получить один и тот же |
|||
73
Drac0
25.01.16
✎
13:35
|
(72) остается только преобразовывать гуид. Любой другой вариант в таких условиях ничего не гарантирует.
|
|||
74
Aceforg
25.01.16
✎
13:37
|
+(62) Ошибочка, Чтобы ужать гуид до 8 символов надо алфавит 512 символов )
|
|||
75
Aceforg
25.01.16
✎
13:38
|
(65) "Другая система" поддерживает unicode?
|
|||
76
bolobol
25.01.16
✎
13:39
|
(72) ГУИД - всего 16 байт. Создавайте в любом неиспользуемом справочнике служебные записи, на основе которых в недоступный пользователю регистр пишите записи (например - значения свойств объектов). Если имеется в неиспользуемом справочнике табличная часть с, например, адресами - прямо в табличную часть записывайте ГУИД-ы использованных объектов. ГУИД элемента неиспользуемого справочника - передавайте.
|
|||
77
1Сергей
25.01.16
✎
13:44
|
(76) да, я понял уже что гуиды не получится.
Сделаю проще - буду использовать Номера и Коды документов/справочников. Конечно, плохо, но деваться некуда |
|||
78
Drac0
25.01.16
✎
13:44
|
(76) человек пишет внешнюю обработку по экспорту данных в стороннюю систему. Он не может конфу менять.
|
|||
79
bolobol
25.01.16
✎
13:45
|
(78) Не читатель?
|
|||
80
Drac0
25.01.16
✎
13:45
|
(77) Блин, почему не получится? Возьми китайский (условно) алфавит и перекодируй гуид в него.
|
|||
81
PR третий
25.01.16
✎
13:46
|
(74) У меня получилось ГУИД до 13 символов ужать, больше не получится, думаю.
|
|||
82
bolobol
25.01.16
✎
13:47
|
(81) Меньше 16-ти - невозможно без архивации. Но и словаря тут недостаточно даже до сжатия до 13-ти. Рассказывайте!
|
|||
83
PR третий
25.01.16
✎
13:47
|
+(81) Маленькое дополнение. У меня было ограничение, что в итоге должен получиться штрихкод, который будет нормально сканироваться.
|
|||
84
PR третий
25.01.16
✎
13:49
|
(82) Ну да, конечно, Почта России конверты печатает и не знает, что так, оказывается, нельзя :))
|
|||
85
bolobol
25.01.16
✎
13:50
|
(80) Как не перекодировывай, хоть на китайский, хоть на марсианский - 128 бит так и останутся 128 бит. Только сжатие.
|
|||
86
bolobol
25.01.16
✎
13:52
|
(84) Не понял вашу аллегорию про Почту России... Про неё, родимую, знаю, например, девиз: "Письмо должно быть долгожданным!".
А рассказ-то о применённом алгоритме будет? |
|||
87
Живой Ископаемый
25.01.16
✎
13:52
|
Ок, 26 и 36
|
|||
88
Aceforg
25.01.16
✎
13:54
|
(0)
ГУИД = Новый УникальныйИдентификатор(); Строка = СтрЗаменить(Base64Значение(ГУИД)," ",""); 12 символов, и не надо ничего кодировать |
|||
89
Drac0
25.01.16
✎
13:54
|
(85) Ограничение на количество бит и на количество символов, блин, разные вещи.
|
|||
90
Живой Ископаемый
25.01.16
✎
13:55
|
2(88) тоже годнота
|
|||
91
kolts23381
25.01.16
✎
13:55
|
Тоже задавался вопросом а уникален ли ууид в пределах базы. Хотя вероятность повторения ничтожно мала. В пользу уникальности говорит наличие составных типов данных.
|
|||
92
Живой Ископаемый
25.01.16
✎
14:00
|
2(91) э... Еще раз, сгенери объект, создай два объекта двух разных типов, присвой обоим в качестве ссылки нового этот уид. Запиши оба объекта. Они запишутся.
Создай 2 другой объект или запись регистра, в котором реквизит будет составного типа. и установи в качестве значения ссылки на первые два объекта. Тоже запишутся. |
|||
93
Drac0
25.01.16
✎
14:01
|
(88) только гуид надо к двочным данным преобразовать же.
|
|||
94
Живой Ископаемый
25.01.16
✎
14:01
|
2(93) почему?
http://screencast.com/t/Sgd4Zq2T0dtK |
|||
95
1Сергей
25.01.16
✎
14:03
|
(88) классно
|
|||
96
xxTANATORxx
25.01.16
✎
14:05
|
(72)на первый уид накинь ксором второй, на результат скором третий уид
|
|||
97
PR третий
25.01.16
✎
14:07
|
(86) Причем здесь аллегории?
Я говорю, для Почты России сделал ГУИд в 13 символов для печати штрихкода. Алгоритм следующий. Убираем из ГУИДА тире и перекодируем строку с использованием 94 символов вместо 16. 94 символа — это все возможные символы для штрихкода. |
|||
98
kolts23381
25.01.16
✎
14:08
|
(92) А что будет если присвоить этому реквизиту ссылку на один из созданных объектов? Значит помимо ссылки хранится и тип данных? Лень проверять :)
|
|||
99
PR третий
25.01.16
✎
14:10
|
(98) Давно ли у нас можно присваивать ссылки указанием ГУИДа, без указания типа при создании ссылки по ГУИДу?
|
|||
100
Lama12
25.01.16
✎
14:10
|
Было уже или нет?
1С генерит новый гуид в начале сеанса. Далее при добавлении объекта к гуиду добавляется 1. Это то, что помню с давних пор. Возможно сейчас что-то поменяли, но вряд ли. |
|||
101
Drac0
25.01.16
✎
14:10
|
(94) а, ты из строки двоичные получаешь. Забавно )
|
|||
102
forforumandspam
25.01.16
✎
14:16
|
(88) Выполни обратное преобразование.
|
|||
103
kolts23381
25.01.16
✎
14:17
|
(99) Дело не в этом. А в том, как допустим запрос вытащит нужные данные. Запрос знает что здесь сидит составной тип данных и ищет нужную ссылку соединяя таблицы с возможными типами(читал что составные типы данных замедляют запрос, собственно почему если запрос знает какой тип данных там сидит) . А если у разных типов одинаковые ууиды(а это по сути и есть ссылка) то что будет?
|
|||
104
Живой Ископаемый
25.01.16
✎
14:20
|
2(98), да, именно там ссылка по сути из двух уидов разделенных двоеточием
|
|||
105
forforumandspam
25.01.16
✎
14:20
|
||||
106
Живой Ископаемый
25.01.16
✎
14:21
|
uid таблицы : uid объекта
|
|||
107
PR третий
25.01.16
✎
14:22
|
(103) А почему ты думаешь, что тип хранится в ГУИДе?
|
|||
108
Живой Ископаемый
25.01.16
✎
14:23
|
(105) то есть из строки uid нужно бурать тире? логично
|
|||
109
kolts23381
25.01.16
✎
14:27
|
(107) Я так не думаю и уверен что это не так. Я думал что программа, встречая составной тип данных, просто ищет подходящий ууид у всех возможных вариантов(типов входящих в составной).
Вот встречал в нескольких местах что то подобное: " Ваша проблема вот здесь. В СУБД будет выполнен запрос, в котором будут сделаны соединения ко всем объектам, входящим в тип реквизита Объект, а их может быть оооооочень много. Поэтому и СУБД будет это переваривать оооооочень долго. Это можно обойти, если вы знаете заранее, какой конкретно объект вам надо отфильтровать по владельцу (договоры, например)." Зачем делать соединения ко всем типам если мы заранее знаем тип? Или все таки не знам? |
|||
110
kolts23381
25.01.16
✎
14:28
|
Поэтому советуют использовать ВЫРАЗИТЬ
|
|||
111
PR третий
25.01.16
✎
14:29
|
(109) Соединение ко все типам делается не потому, что мы не знаем тип, а потому что мы тип знаем уже после выполнения запроса. А соединение делается с учетом типа как бэ.
|
|||
112
kolts23381
25.01.16
✎
14:31
|
"Соединение ко все типам делается не потому, что мы не знаем тип, а потому что мы тип знаем уже после выполнения запроса."
Не понятно, можно другими словами? |
|||
113
PR третий
25.01.16
✎
14:33
|
(112) У тебя таблица с составным реквизитом, в ней сто записей.
Как ты ограничишь сразу соединения одной, двумя или несколькими таблицами, а не всеми, если ты не знаешь, какие таблицы нужно присоединять, а какие нет? Ты же данные еще не выбрал и не знаешь, какие типы использовались, а какие нет. |
|||
114
ObjectRelation Model
25.01.16
✎
14:34
|
(111) вот ты можешь расписать фразу "масло масляное"
|
|||
115
PR третий
25.01.16
✎
14:35
|
+(113) Грубо говоря, есть субконто.
С какими таблицами соединять субконто в проводках, если в субконто может быть контрагент, договор, товар и еще дохрена всего? Ты же не знаешь, пока не выберешь данные из проводок. Может у тебя кроме контрагентов ничего и не попадется, а может только контрагенты и договоры, а может еще и товары будут. |
|||
116
kolts23381
25.01.16
✎
14:37
|
Так понятней (113) , то есть мы выбираем набор данных и там может быть разный тип.
Почему я так дотошно, просто делаю стороннюю программу с обменом с 1С и там составной тип данных не предусмотрен и решаю на уровне уникальности ссылок. |
|||
117
PR третий
25.01.16
✎
14:38
|
(116) Ну и зря. Как раз будешь в составном типе тянуть все кавно из базы, вдруг именно там и лежит твоя ссылка.
|
|||
118
Sammo
25.01.16
✎
14:42
|
А зачем это знать?
Потому что гуид мог придти из другой базы, его могли установить руками... Так что любая логика, которая допускает наличие чего-то в гуиде некорректна. Даже сортировка по ссылке без использования даты. Видел реальный пример - для скорости в отчете использовали сортировку документов по ссылке. Мол всегда увеличивается на 1. Ага. Через полгода меняется сервер приложений, ссылка начинает формироваться по-другому и весь отчет ломается. |
|||
119
kolts23381
25.01.16
✎
14:45
|
(117)Ничего умнее на тот момент когда делал не придумал. Через двоеточие тип данных : ссылка придется переделывать много.
|
|||
120
PR третий
25.01.16
✎
14:55
|
(118) Ну да, конечно, ты еще скажи, что в значении реквизита составного типа не хранится тип, только ГУИД ссылки.
|
|||
121
PR третий
25.01.16
✎
14:56
|
(119) Я и говорю, зря.
Будешь каждый раз валюту искать не в справочнике "Валюты", а по всей базе. |
|||
122
НЕА123
25.01.16
✎
15:00
|
(118)
>Так что любая логика, которая допускает наличие чего-то в гуиде некорректна видел типа два справочника с одинаковыми гуидами элементы встречаются (связь какая-то). корявенько, но работает. (119) что переделывать?гуид уникален в таблице, но не в базе. |
|||
123
yukon
25.01.16
✎
15:02
|
(103) Ничего не будет. В том смысле, что все отработает штатно и вернет все ссылки. Ссылка, содержит тип:гуид. Т.е. ничего фатального в одинаковых ГУИДах у разных типов метаданных нет.
|
|||
124
kolts23381
25.01.16
✎
15:11
|
(121) Не по всей базе, а в нескольких таблицах, к тому же ууид используется в качестве первичного ключа и имеет индекс.
|
|||
125
bolobol
25.01.16
✎
15:24
|
(97) Вы ошиблись на ПОРЯДОК в расчётах! Чтобы получилась возможность уложиться в 13 символов длины - один символ должен содержать 920+ вариантов, а не 94!
|
|||
126
bolobol
25.01.16
✎
15:25
|
(88) С тем же успехом можно использовать Рандом(стартовый номер = ГУИД)
|
|||
127
bolobol
25.01.16
✎
15:26
|
*(126) "Рандом(стартовый номер = ГУИД*ГУИД*ГУИД)"
|
|||
128
Cyberhawk
25.01.16
✎
15:27
|
(53) Номер + дата документа, но это ненадежно (запустят перенумерацию или перепроведут оперативно в течение дня с новой датой и что делать будешь?)
|
|||
129
Карупян
25.01.16
✎
15:31
|
1 символ в утф = 4 байта. Поэтому теоретически гуид можно ужать дос троки 4. Только это будет не читабельная строка совсем
|
|||
130
PR третий
25.01.16
✎
16:30
|
(125) Выкинь кашу из своей головы.
Для кодирования ГУИДа было 36 символов, включая 4 тире на фиксированных местах. Я убрал тире. И вместо 32 символов, каждый из которых может принимать 16 вариантов, использую 13, каждый из которых может принимать 94 варианта. Какие, блеать, 920+ вариантов? |
|||
131
Drac0
25.01.16
✎
16:38
|
(126) Эм, ты знаешь, что такое Base 64 и зачем он нужен?
|
|||
132
bolobol
25.01.16
✎
16:50
|
(130) С математикой не дружим совсем? Степени, корень степени - ни о чём не говорят слова? Математика, кагбэ, строгая наука. Ёмкости множества пересчитайте и "тыкать и указывать что делать" можете себе, как только поймёте, что необходимо исправить.
|
|||
133
Карупян
25.01.16
✎
16:51
|
(132) ну реши уровнение
2^16 = 94^x |
|||
134
bolobol
25.01.16
✎
16:51
|
(131) Не представляю. Гуглить лень. Но что-то мне подсказывает, что со сжатием данных оно никак не связано, я не прав?
|
|||
135
bolobol
25.01.16
✎
16:51
|
(133) Что есть это выражение? Зачем мне его решать?
|
|||
136
Карупян
25.01.16
✎
16:51
|
вернее 2^128 = 94^x
|
|||
137
H A D G E H O G s
25.01.16
✎
16:53
|
(136) Что ты там по основанию 94 нашел такого?
|
|||
138
H A D G E H O G s
25.01.16
✎
16:54
|
(129) 1 символ в utf от 1С = 2 байта. целуйте веник.
|
|||
139
H A D G E H O G s
25.01.16
✎
16:54
|
(134) Абсолютно прав.
|
|||
140
Карупян
25.01.16
✎
16:55
|
(137) 94 буквы.
Правда x получается 19.5 |
|||
141
H A D G E H O G s
25.01.16
✎
16:55
|
(140) А, все, увидел.
|
|||
142
H A D G E H O G s
25.01.16
✎
16:57
|
(140) Кого - то поимеютъ.
|
|||
143
Карупян
25.01.16
✎
16:57
|
Чтоб 13 символов было нужно 920 букв в алфавите
|
|||
144
bolobol
25.01.16
✎
16:57
|
(136) Могу только ответ дать: вместо "2" в уравнении будет 1,586..., что говорит о том, что множество справа при степени 13 меньше в 1.26 раза.
|
|||
145
H A D G E H O G s
25.01.16
✎
16:57
|
И этот кто-то - походу - наш Красный Плащ.
|
|||
146
Карупян
25.01.16
✎
16:57
|
На утфе можно в 8 уложиться
|
|||
147
H A D G E H O G s
25.01.16
✎
16:58
|
(146) Это еще более частный случай.
|
|||
148
bolobol
25.01.16
✎
16:59
|
*(144) извиняйте, за нематематическую точность
|
|||
149
H A D G E H O G s
25.01.16
✎
17:00
|
Роман убрал тире...
|
|||
150
bolobol
25.01.16
✎
17:06
|
(149) А мой коллега потом удивляется, что посылка выйдя из Китая, обнаруживается через 1.5 месяца в Калининграде, вместо Питера...
)) |
|||
151
PR третий
25.01.16
✎
17:07
|
(132) Сейчас проверил максимальную длину штрихкода для гуида
"ffffffff-ffff-ffff-ffff-ffffffffffff", получилось не 13, а 20 символов, штрихкод "B2d~msQ*Q+5M('\99=BD". 20 символов максимум по неравенству "16^32 <= 94^x", где x получился равен 20. |
|||
152
PR третий
25.01.16
✎
17:11
|
А, вон откуда 920. Типа 920 возможных символов.
Тогда уж 921, если быть точным. У меня в моем примере со штрихкодами не забалуешь, есть 94 символа, их и грызи. В большинстве случаев одинесовский ГУИД дает 13 символов. |
|||
153
PR третий
25.01.16
✎
17:12
|
(150) Тире как бэ стоят в фиксированных местах, ага
|
|||
154
bolobol
25.01.16
✎
17:24
|
(152) Аааа, вот в чём магия!, в виде нарастающей последовательности, которая не достигает максимума, как правило. Тогда - да, всё под контролем)
|
|||
155
PR третий
25.01.16
✎
17:27
|
(154) У меня была печаль, нужен уникальный признак документа, а даже 32 символа на конверте не напечатаешь, потому что тогда в окне показывается строка совершенно непотребной длины.
А вот 13 вполне влазит, да. |
|||
156
H A D G E H O G s
25.01.16
✎
17:35
|
(154) Ну почему. Можно дождаться, что при потерях данных в 1,5 раза (а именно столько у Романа) мы будем иметь дубли в Почте России в обозримом будущем. Как вот данные там накопятся - так и можно ждать звоночка.
Роман, ты нас держи в курсе. |
|||
157
PR третий
25.01.16
✎
17:36
|
(156) Дима, какие потери, ты о чем? Это преобразование без потерь как бэ :))
|
|||
158
PR третий
25.01.16
✎
17:37
|
+(157) Если в результате преобразования получится, о, неужели!, 14 символов, а не 13, я распечатаю 14 :))
Всяко лучше, чем гарантированно 32 :)) |
|||
159
H A D G E H O G s
25.01.16
✎
17:38
|
"Если в результате преобразования получится, о, неужели!, 14 символов, а не 13, я распечатаю 14 :)"
Ахренеть. А можно алгоритм посмотреть? |
|||
160
PR третий
25.01.16
✎
17:39
|
(159) Можно. (97) :))
Или тебе прямо-таки программный код? |
|||
161
H A D G E H O G s
25.01.16
✎
17:39
|
(160) Код.
|
|||
162
PR третий
25.01.16
✎
17:41
|
(161) Тогда пожалуй не стоит. Все-таки Почта России, а не ООО "Березка" :))
Могу в почту выслать, если очень хочется. Подготовлю обфусцированный код, вышлю. Слать? |
|||
163
H A D G E H O G s
25.01.16
✎
17:46
|
(162) А нафига мне обфусцированный? Давай обычный на
[email protected] |
|||
164
dmpl
25.01.16
✎
17:47
|
(40) В пределах базы просто последовательно инкрементируемый счетчик сойдет с нужной базой (системой счисления).
|
|||
165
dmpl
25.01.16
✎
17:52
|
(78) Если типовая конфигурация - можно хранилище значения с соответствием ссылок и кодов помещать в сохраненные настройки.
|
|||
166
dmpl
25.01.16
✎
17:58
|
(97) Стандартный - не влезет менее чем в 20 символов. Какой-то нестандартный - возможно.
(98) Открой файл обмена с выгрузкой любого составного типа - и все увидишь ;) |
|||
167
dmpl
25.01.16
✎
18:02
|
(122) Гуид уникален глобально.
|
|||
168
dmpl
25.01.16
✎
18:03
|
(130) Это был не гуид. Это просто уид местечковый.
|
|||
169
PR третий
25.01.16
✎
18:51
|
(163) Выслал.
Кстати, сейчас смотрел примеры с ГУИДами, что-то 13 не получается, все 20 символов :)) Видимо, я когда искал решение, где-то в процессе получился какой-то нечитабельный сканером 13-тисимвольный код, поэтому в голове и отложилось про 13 символов. |
|||
170
PR третий
25.01.16
✎
18:52
|
(164) Вообще ГУИД как бэ уникальный в пределах земного шара вроде как.
При желании я ГУИД и в одной базе задублирую, но я говорю про уникально генерируемый. |
|||
171
Злопчинский
25.01.16
✎
18:54
|
кстати, скоро гуидов свободных не останется и наступит ппс.
обсуждаются идеи выдавать гуиды типа как dns - на время... или по подписке... |
|||
172
PR третий
25.01.16
✎
18:58
|
Чет я расстроился про 20 символов :))
То ли дело 13. А тут 20 какие-то :)) |
|||
173
Cyberhawk
25.01.16
✎
19:04
|
(172) Я не понял, так у тебя объекты инфобазы соответствуют 20-значным кодам? А при сканировании 20-значного ШК обратно разворачиваешь этот считанный ШК в ГУИД, так что ли?
|
|||
174
PR третий
25.01.16
✎
19:11
|
(173) Да. Нормально, че. Можно было на регистрах сведений соответствий запилить конечно и при этом еще соответствие генерить, случайным числом, например. Но зачем?
|
|||
175
bolobol
25.01.16
✎
19:24
|
Блиииин... А я ждал, что вот - код потоковой архивации данных на 1С, на микрословаре, получу...
Обидно, чё. |
|||
176
PR третий
25.01.16
✎
19:48
|
(175) Во всей ветке не было ни слова при архивацию
|
|||
177
bolobol
26.01.16
✎
11:32
|
(176) А как ещё сократить последовательность, кроме как сжав её?
|
|||
178
PR третий
26.01.16
✎
12:26
|
(177) Что-то у тебя по ходу вообще каша в голове.
Ты реально не понимаешь, как можно из 2 символов, каждый из которых может принимать только значение "0" или "1", сделать один, если он может принимать значения "0", "1", "2" или "3"? Основная проблема ГУИДа в моем случае, что используются только 16 из разрешенных 94 символов. Тем не менее в моем решении никакой архивации нет, хотя в итоге и получается меньшее количество символов. Архивация — это совершенно иное. |
|||
179
Карупян
26.01.16
✎
12:28
|
(175) по словарю вообще можно в 1 байт уложиться. правда если гуидов немного совсем
Подсказка РС: Номер-ГУИД |
|||
180
dmpl
26.01.16
✎
13:03
|
(175) Словарь, кстати, можно хранить отдельно от кода. В этом случае возможно сжатие.
|
|||
181
dmpl
26.01.16
✎
13:05
|
(179) Ну это крайний вариант, возможны и промежуточные.
|
|||
182
bolobol
26.01.16
✎
13:14
|
(178) У меня хоть каша есть, у вас вообще "оупен-эйр" по теме. Вы действительно уверены, что в один бит можно поместить значения 0, 1, 2 и 3?? Мне смешно с вас)
Ладно, в любом случае - дальше только офф, т.к. реализации, что я спрашивал, у вас всё равно нет. Завязываем) |
|||
183
PR третий
26.01.16
✎
14:19
|
(182) А с хрена ли один бит-то?
|
|||
184
yukon
26.01.16
✎
14:32
|
(182) Вы действительно уверены, что в один бит можно поместить значения 0, 1, 2 и 3
Вы будуте смеятся, но можно. Правда это уже будет не совсем бит, но рядом. А вообще, в (178) не "бит", а "символ". |
|||
185
Smile 8D
26.01.16
✎
15:05
|
(182) Задача, которую решают в ветке - сокращение количества символов в строке, при сохранении уникальности. Задачи сократить количество необходимой памяти (архивировать) - нет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |