Имя: Пароль:
1C
 
Про разные формы записи ГУИД.
0 Гений 1С
 
гуру
04.12.08
15:40
ГУИД можно записать так: e6f51714-91cb-4dce-94fe-90ae3e3e1ad3
А в 1с он еще бывает пишется так: <Объект не найден> (96:94fe90ae3e3e1ad34dce91cbe6f51714).

Как по-научному называются две эти формы записи GUID.
Есть ли у кого функция по переконвертации туда и обратно?
1 H A D G E H O G s
 
04.12.08
15:43
Серега жжет

   ГУИДИнверсныйСтр = СтрЗаменить(ГУИДИнверсный,"0x","");
   ГУИД = Сред(ГУИДИнверсныйСтр,25,8)+"-"+Сред(ГУИДИнверсныйСтр,21,4)+"-"+Сред(ГУИДИнверсныйСтр,17,4)+"-"+Сред(ГУИДИнверсныйСтр,1,4)+"-"+Сред(ГУИДИнверсныйСтр,5,12);
2 Medved_1
 
04.12.08
15:44
(0) если заметить, то видно, что в <Объект не найден> сначала идет предпоследний сегмент, потом последний, потом с 3го к первому.

выдача в виде <Объект не найден> - это, имхо, платформенная фича 1Ски, ибо пока аналогичную выжачу  гуида в таком виде ниде не видел.

руками написать можно
3 Гений 1С
 
гуру
04.12.08
15:52
(2) А как она называется, неужели действительно GUID инверсный?
4 Гений 1С
 
гуру
04.12.08
15:52
(1) Сенька, а в обратную сторону?
5 Medved_1
 
04.12.08
15:54
(3) не знаю. я ж грю - не сталкивался пока нигде именно с таким форматом
6 wPa
 
04.12.08
16:21
(2) какой им смысел путать сигменты местами?
7 Гений 1С
 
гуру
04.12.08
16:25
Функция ГУИДВИнверсный(_С)
   С = СтрЗаменить(_С, "-", "");
   //ГУИД = Сред(С,25,8)+"-"+Сред(С,21,4)+"-"+Сред(С,17,4)+"-"+Сред(С,1,4)+"-"+Сред(С,5,12);
   Возврат Сред(С,17,16)+Сред(С,13,4)+Сред(С,9,4)+Сред(С,1,4)+Сред(С,5,4);
КонецФункции

Функция ГУИДИзИнверсного(С)
   Возврат Сред(С,25,8)+"-"+Сред(С,21,4)+"-"+Сред(С,17,4)+"-"+Сред(С,1,4)+"-"+Сред(С,5,12);
КонецФункции
8 H A D G E H O G s
 
04.12.08
16:26
(7) Умничка..
9 Rebelx
 
04.12.08
16:46
это скорее всего связано с понятиями big-endian И little-endian
10 Гений 1С
 
гуру
04.12.08
21:03
(9) Не фига себе темы
11 TormozIT
 
гуру
04.12.08
22:34
Кто по номеру таблицы тип научился определять?
12 Lama12
 
04.12.08
23:14
Вроде это связано с текстовым представлением GUID. Т.е. GUID это определенный тип данных и при преобразовании в текстовый формат происходит такая конвертация. Сталкивался с таким преобразованием в sybase и access.
13 H A D G E H O G s
 
05.12.08
00:41
(11) Только перебором по метаданным
ИстинаГдетоРядом=Ложь;
Для Каждого Метаданное Из Метаданные.Справочники Цикл
ПустущаяСсылка=Справочники[Метаданное.Имя].ПустаяСсылка();
Если Сред(ЗначениеВСтрокуВнутр(Справочники.Склад.ПустаяСсылка()),43,СтрДлина(Строка(ИскомыйНомер)))=ИскомыйНомер Тогда
ИстинаГдетоРядом=Истина;
Прервать;
КонецЕсли;
КонецЦикла;

Если ИстинаГдеТоРядом Тогда
ВотОноНашеСтрашилище=ТипЗнч(ПустущаяСсылка);
ИМетаДАННОЕСвышеКонфигуратором=Метаданное;
КонецЕсли;
14 TormozIT
 
гуру
05.12.08
01:37
(13) Как то очень ... прямолинейно ;)