|
Можно ли получить ГУИД элемента справочника напрямую из БД |
☑ |
0
Начинаю
11.06.13
✎
10:59
|
Можно ли получить ГУИД элемента справочника напрямую из БД через внешние источники данных (или через внешюю программу на C#)? Т.е. значение ячейки _IDRRef (массив байтов) преобразовать в GUID?
|
|
1
Beduin
11.06.13
✎
11:00
|
УникальныйИдентификатор()
|
|
2
Начинаю
11.06.13
✎
11:03
|
да (1)
|
|
3
Maxus43
11.06.13
✎
11:03
|
можно, но противоречит лицензионному соглашению 1с.
|
|
4
Defender aka LINN
11.06.13
✎
11:04
|
(0) cast(_IDRRef as uniqueidentifier)
|
|
5
МихаилМ
11.06.13
✎
11:06
|
(0)
всего путаете GUID и его представление. у 1с и Ms разные представления 8 байт
на этом форуме есть примеры -> в поиск
|
|
6
Матадор
11.06.13
✎
11:06
|
select Cast(cast(_IDRRef as uniqueidentifier) as char(36))
|
|
7
Начинаю
11.06.13
✎
11:08
|
(6) попробую
|
|
8
Начинаю
11.06.13
✎
11:45
|
(6) УникальныйИдентификатор() в 1С не совпадает с Cast(cast(_IDRRef as uniqueidentifier) as char(36)) в С#
|
|
9
МихаилМ
11.06.13
✎
11:46
|
(8)
Вам в (5) на это было указано.
|
|
10
Начинаю
11.06.13
✎
12:22
|
(5) ничего не нашел
|
|
11
Jaap Vduul
11.06.13
✎
12:42
|
(8)
В 1цэ части гуида местами переставлены.
Где-то у меня была функция на t-sql для такой модификации...
|
|
12
Матадор
11.06.13
✎
12:43
|
(8)
Функция Guid1S(GuidSql) Экспорт
Возврат Нрег(Сред(GuidSql,29,8)+Сред(GuidSql,24,5)+Сред(GuidSql,19,5)+"-"+Сред(GuidSql,7,2)+Сред(GuidSql,5,2)+
"-"+Сред(GuidSql,3,2)+Сред(GuidSql,1,2)+Сред(GuidSql,12,2)+Сред(GuidSql,10,2)+Сред(GuidSql,17,2)+Сред(GuidSql,15,2));
КонецФункции
|
|
13
Начинаю
11.06.13
✎
12:53
|
(12) то что надо! спасибо Матадор!
|
|
14
Jaap Vduul
11.06.13
✎
12:58
|
+11
Вот, держи, на всякий случай:
create function getStringUUID (@binaryUUID binary(16))
returns char(36)
as
begin
declare @buffer char(32)
select @buffer = replace(convert(char(36),cast(@binaryUUID as uniqueidentifier)), '-', '')
return right(@buffer, 8) + '-' +
substring(@buffer, 21, 4) + '-' +
substring(@buffer, 17, 4) + '-' +
substring(@buffer, 7, 2) +
substring(@buffer, 5, 2) + '-' +
left(@buffer, 4) +
substring(@buffer, 11, 2) +
substring(@buffer, 9, 2) +
substring(@buffer, 13, 4)
end
|
|
15
Начинаю
11.06.13
✎
13:01
|
(14) благодарю
|
|