Имя: Пароль:
1C
1С v8
Как char преобразовать в uniqueidentifier?
0 Ivan_495
 
25.04.12
11:28
Как char преобразовать в uniqueidentifier?
1 andrewks
 
25.04.12
11:30
при помощи хитрого алгоритма
2 H A D G E H O G s
 
25.04.12
11:33
Показывайте своего друга.
3 H A D G E H O G s
 
25.04.12
11:34
cast(... as uniqueidentifier)
4 Ivan_495
 
25.04.12
11:36
Как char преобразовать в uniqueidentifier в 1с ?
5 andrewks
 
25.04.12
11:37
сдаётся мне, что речь про lpstr и GUID STRUCT, не?
6 Steel_Wheel
 
25.04.12
11:37
newChar = Новый УникальныйИдентификатор(oldChar);
7 H A D G E H O G s
 
25.04.12
11:38
Новый УникальныйИдентификатор("36e0ea1f-bc44-4bcb-86f1-3a1a57c4e7c2")
8 H A D G E H O G s
 
25.04.12
11:38
(5) Бугага.

Не.
9 andrewks
 
25.04.12
11:39
(7) а-а-а...   нормально спросить он не мог, видимо
10 H A D G E H O G s
 
25.04.12
11:40
(9) 22 см. давят на мозжечок, мешают сосредоточится.
11 Ivan_495
 
25.04.12
11:44
написал чтобы получить аналог binary(16) в sql, теперь хочу сохранить это в базе с типом
uniqueidentifier
GuidЭлемента1 =    Строка(Выборка.Ссылка.УникальныйИдентификатор());

GuidЭлемента2="0x"+Сред(GuidЭлемента1,19,18)+Сред(GuidЭлемента1,15,4) +  Сред(GuidЭлемента1,10,4)+  Сред(GuidЭлемента1,1,8);

GuidЭлемента=ВРЕГ(СтрЗаменить(GuidЭлемента2,"-",""));
12 H A D G E H O G s
 
25.04.12
11:45
Жесть какая-то
13 H A D G E H O G s
 
25.04.12
11:47
(11) В 8.2 есть тип данных - УникальныйИдентификатор - как поле таблицы.
В него и сохраняю, нафига тебе "0x"?
14 andrewks
 
25.04.12
11:48
(12) гы-гы-гы, мой телепат победил :P
15 H A D G E H O G s
 
25.04.12
11:48
(14) Ты погоди, еще не вечер...
16 H A D G E H O G s
 
25.04.12
11:49
(11) Че ты хочешь, воин клавиатуры?
17 Ivan_495
 
25.04.12
11:53
(13) а в 8.1 есть такой тип?
18 H A D G E H O G s
 
25.04.12
11:56
(17) Нет. Но и 8.1 уже мало осталось.
19 Steel_Wheel
 
25.04.12
11:58
(13) Видимо потому, что GUID -- число в 16-чной системе счисления, разбитый дефисами на группы по 4 цифры...

Вопрос: для чего это может быть надо?
20 Ivan_495
 
25.04.12
12:06
есть две выгрузки из 1с одна напрямую из sql вторая из 1с с прекрасной функцией УникальныйИдентификатор() надо настроить между ними связь..
21 H A D G E H O G s
 
25.04.12
12:09
(20) Продолжай.
22 Ivan_495
 
25.04.12
12:15
получаю guid в виде символьной строки
GuidЭлемента1 =     Строка(Выборка.Ссылка.УникальныйИдентификатор());

GuidЭлемента2="0x"+Сред(GuidЭлемента1,19,18)+Сред(GuidЭлемента1,15,4) +  Сред(GuidЭлемента1,10,4)+  Сред(GuidЭлемента1,1,8);

GuidЭлемента=ВРЕГ(СтрЗаменить(GuidЭлемента2,"-",""));

в итоге в sql один в binary другой в char

SELECT *,b.*
 FROM [OLAP].[dbo].[1C_DOGOVORY]  a
 left JOIN  [_1с80].[dbo].[СправочникДоговорыКонтрагентов] b
 on a.GuidЭлемента =cast(b.ссылка as CHAR(40))
GO
но не связыватся???
23 H A D G E H O G s
 
25.04.12
12:19
(22) Че мешает в обоих таблицах хранить как в binary, и сравнивать
on cast(a.GuidЭлемента as uniqueidentifier) =cast(b.ссылка as uniqueidentifier)
24 Ivan_495
 
25.04.12
12:23
(23) согласен | GuidЭлемента binary(16),
но как мне char запихнуть в binary?
25 H A D G E H O G s
 
25.04.12
12:31
(24) Поставить 8.2 и завести поле УникальныйИдентификатор
26 Ivan_495
 
25.04.12
12:33
(25) сделать нужно на 8.1
27 Ivan_495
 
26.04.12
10:30
все работает просто в insert неправильно писал......