Имя: Пароль:
1C
1С v8
Народ как сложить УИДы ?
🠗 (Волшебник 25.01.2021 10:44)
0 tmk315
 
25.01.21
09:17
Перекидывают в другую базу объекты система Датарион(шина) , обычно объект в объект , а тут в одном месте не хорошо сделали . Надо бы поправить , свести задачку к их механизму .
1 ДенисЧ
 
25.01.21
09:18
уид3 = уид1+уид2
2 tmk315
 
25.01.21
09:22
Не так преобразование к числу не может быть выполнено
3 tmk315
 
25.01.21
09:23
Как то наверно можно из 2 уникальных значений получить третье .
4 Йохохо
 
25.01.21
09:25
(3) хеш
5 Малыш Джон
 
25.01.21
09:27
(2) значит надо преобразовать...
6 Bigbro
 
25.01.21
09:27
(3) легко
уид3 = ""+уид1+уид2;
7 tmk315
 
25.01.21
09:29
(6) мне его после обратно в УИД надо
8 ДенисЧ
 
25.01.21
09:30
(7) Нам, тебе намекают, вообще не понятно, что тебе надо.
9 tmk315
 
25.01.21
09:30
Начал писать функцию по символьно сложу через аски коды может получится.
10 ДенисЧ
 
25.01.21
09:31
А может, лучше передать задачу тому, кто понимает, что в ней нужно сделать?
11 Bigbro
 
25.01.21
09:31
(9) не надо так..
12 butterbean
 
25.01.21
09:31
(0) имхо самое надежно - сделать регистр/таблицу в которой просто хранить 2 УИДа истоничника и 3-й УИД - результат. Может быть даже не формировать 3-й УИД, а просто где-то хранить связь 1го и 2го, а пользоваться только одним из них при передаче
13 tmk315
 
25.01.21
09:32
(8) Есть два УИДА нужно получить из них новый один УИД
14 Малыш Джон
 
25.01.21
09:33
(9) о, боже...

ЧислоИзШестнадцатеричнойСтроки("0x"+СтрЗаменить(Строка(уид1),"-",""))+ЧислоИзШестнадцатеричнойСтроки("0x"+СтрЗаменить(Строка(уид2),"-",""))
15 Irbis
 
25.01.21
09:33
(0) Можешь рассмотреть их как два числа в 16ричной записи и сложить. Но такая фигня получится...
16 Bigbro
 
25.01.21
09:33
сейчас автор сложит гантелю со шваброй и получит пачку доширака.
и придет с новой темой - почему остатки не совпадают после переноса ))
17 tmk315
 
25.01.21
09:34
(12) система сопоставление сделана уже  и работает , 1 объект = 1 уид при транспортировку в другую базу ,  есть один случай когда документ с тч сотрудники транслируется в разные документы .
18 Малыш Джон
 
25.01.21
09:34
(13) НовыйУИД= Новый УникальныйИдентификатор;

самый надежный способ
19 tmk315
 
25.01.21
09:38
(14) Обрадовался ,не работает
новый УникальныйИдентификатор(ЧислоИзШестнадцатеричнойСтроки("0x"+СтрЗаменить(Строка(Уид1),"-",""))+ЧислоИзШестнадцатеричнойСтроки("0x"+СтрЗаменить(Строка(Уид2),"-","")))
20 Малыш Джон
 
25.01.21
09:40
(19) ясен пень, не работает
в (14) шестнадцатеричное число получается, а не строковое представление уида
21 tmk315
 
25.01.21
09:44
Нужная же вещь как то должно просто выполняться ?
22 Garykom
 
гуру
25.01.21
09:46
(21) может для тебя и сортировка просто, а по факту там куча алгоритмов и целая теория https://ru.wikipedia.org/wiki/Алгоритм_сортировки
23 Garykom
 
гуру
25.01.21
09:48
Теоретически можно из двух уид получить третий но обратная операция низзя.
И есть некоторая вероятность что этот третий мог быть получен не первоначальной парой уидов а совсем другой ))
24 butterbean
 
25.01.21
09:50
(21) чем  не подходит (12)?? просто делаешь таблицу сопоставления 3-х УИДов
25 Lama12
 
25.01.21
09:51
(17) GUID  конечно сложить можно, только учти, что при простом складывании можешь получить величину превышающую максимальное значение UID. Как альтернатива, можно складывать по XOR, это тебе даст и обратное преобразование. Как вариант, можно конечно по символьно складывать, а результат обрезать по модулю 16. ИМХО, все это баловство.
Если тебе нужно таб часть раскидать, то может в саму табчасть добавить GUID? Если нельзя менять таб часть, то можно создать регистр сведений в который одно измерение ссылка на документ, а во второй хэш строки, а в ресурсе новый GUID.
26 tmk315
 
25.01.21
09:54
(24) хочется вписаться в существующий механизм .
27 Garykom
 
гуру
25.01.21
09:54
(26) ты плохо механизм изучил, там вероятно есть механизм замены чужих уидов
28 tmk315
 
25.01.21
09:57
(25) спасибо с УИД в тч , подойдет , если не получится найти способ сложить 2 уида , интересно уже как сложить .
29 Вафель
 
25.01.21
09:58
добавь в док 2 реквизита
30 Bigbro
 
25.01.21
09:59
(28) ответь на (16) - что ты складываешь и что хочешь получить в итоге.
от этого зависит и ответ на твой вопрос.
31 lEvGl
 
гуру
25.01.21
10:02
"сложить 2 уида" это как? и зачем? после первого ответа спроси "зачем" еще 2 раза и вероятно вопрос отпадет
32 fisher
 
25.01.21
10:09
(28) А что сложного-то? В чем у тебя затык? Преобразовать из одной системы исчисления в другую? Ну, загугли. Это азы.
33 fisher
 
25.01.21
10:14
А вообще, присоединяюсь к (25)
34 PloAl
 
25.01.21
10:21
(0) В (4) все написали.
Получить строку из двух УИДов.
Получить Хеш МД5 от этой строки.
Расставить "-" в полученном Хеше МД5.
35 H A D G E H O G s
 
25.01.21
10:40
Весело тут у вас. И конкурсы интересные.
36 lEvGl
 
гуру
25.01.21
10:41
(34) что это за извращения такие продвигаются
37 Dzenn
 
гуру
25.01.21
10:53
Если у тебя возник такой вопрос, значит, где-то в твоём решении заложена неправильная логика, и тебе нужен другой способ решения
38 Обработка
 
25.01.21
10:58
Объясните простому смертному для чего складывают гуиды? Что это дает?
А то мне кажется как в математике на 1 м курсе сложение матриц транспонирование матриц итп.
Не говорю уж про комплексные числа и работа сними.
39 Йохохо
 
25.01.21
10:59
(38) он хочет изоморфизм многие ко многим
40 Garykom
 
гуру
25.01.21
11:34
Разделить конечный уид3 пополам и настроить какое то однозначное соответствие чтобы уид1 попадал в первую половину уид3, а уид2 во вторую половину уид3

Условно это:
уид3 = уид1/2 + уид2/2
41 Garykom
 
гуру
25.01.21
11:35
(40)+ хотя нет не так, правильней:

уид3 = уид1/2 + max(уид)/2 + уид2/2
42 Гений 1С
 
гуру
14.05.21
09:27
(0) используй конвертацию в систему счисления.
43 Serg_1960
 
14.05.21
10:47
[юмор] Если вместе сложить маму и папу - то получатся дети. Они могут быть похожи на маму или папу, но не факт. Хорошо если на дедушку/бабушку, а что делать если станут похожи на соседа или на друга папы? :))
44 Serg_1960
 
14.05.21
10:56
PS: я могу предложить методику GUID_1 ==> GUID_2 ==> GUID_1... но лучше автору сделать регистр сведений, подобный "СоответствияОбъектовИнформационныхБаз" типовых конфигураций.
45 ДедМорроз
 
15.05.21
14:30
Можножество гуид - конечное.
Соответственно,не существует возможности однозначно сопоставить паре идентификаторов один.
Если же идентификаторы определяют объекты,то,конечно,паре объектов можно сопоставить один третий объект,но такое сопоставление выходит за рамки программирования.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн