Имя: Пароль:
1C
1С v8
Из чего состоит уникальный идентификатор?
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
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) Задача, которую решают в ветке - сокращение количества символов в строке, при сохранении уникальности. Задачи сократить количество необходимой памяти (архивировать) - нет.