Имя: Пароль:
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
Можножество гуид - конечное.
Соответственно,не существует возможности однозначно сопоставить паре идентификаторов один.
Если же идентификаторы определяют объекты,то,конечно,паре объектов можно сопоставить один третий объект,но такое сопоставление выходит за рамки программирования.