gifts2017

GUID конвертер

Опубликовал Владимир Абакумов (knight2007) в раздел Администрирование - Сервисные утилиты

Преобразование 1С GUID в GUID Microsoft и наоборот

Ни для кого не секрет, что 1С 8 интерпретирует стандартный GUID в свой формат. Особенно при потере какого-либо документа выдается не нормальный GUID документа, а его внутреннее представление в 1С.

Данная утилита помогает конвертировать GUID, не загружая саму 1С.

Скачать файлы

Наименование Файл Версия Размер
GUID конвертер, исполняемый 101
.zip 458,01Kb
07.08.10
101
.zip 458,01Kb Скачать
GUID конвертер, исходник на Lazarus 17
.zip 195,02Kb
07.08.10
17
.zip 195,02Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Андрей Григорьев (Borisych) 11.08.10 08:39
Для чего это используется?
2. Владимир Абакумов (knight2007) 11.08.10 09:02
(1) Мне необходимо было отлавливать документы по ссылкам. GIUD который генерируется отличается от GUID хранящегося в базе 1С.
3. Вадим Ляхин (lvadim) 16.08.10 11:42
Можно так :)

// Преобразует ГУИД из формата 1С в формат SQL
Функция ГУИДдляSQL(Строка) Экспорт

Если ПустаяСтрока(Строка) Тогда
Возврат Строка;
КонецЕсли;

Результат = "";
Строка = СтрЗаменить(СтрЗаменить(СтрЗаменить(Строка, "-",""), "{", ""), "}", "");
СтрокаПозиций = "23211917272531291315091101030507";
Для к = 0 По 15 Цикл
ИсхПозиция = Число(Сред(СтрокаПозиций, к*2+1,2));
Результат = Результат + Сред(Строка, ИсхПозиция, 2);
КонецЦикла;

Возврат Врег(Сред(Результат, 1, 8)+"-"+Сред(Результат, 9, 4)+"-"+Сред(Результат, 13, 4)+"-"+Сред(Результат, 17, 4)+"-"+Сред(Результат, 21, 12));

КонецФункции // ГУИДдляSQL()

// Преобразует ГУИД из формата SQL в формат 1С
Функция ГУИДдля1С(Строка) Экспорт
Если ПустаяСтрока(Строка) Тогда
Возврат Строка;
КонецЕсли;
Результат = "";
Строка = СтрЗаменить(СтрЗаменить(СтрЗаменить(Строка, "-",""), "{", ""), "}", "");
СтрокаПозиций = "25272931212317190705030111091513";
Для к = 0 По 15 Цикл
ИсхПозиция = Число(Сред(СтрокаПозиций, к*2+1,2));
Результат = Результат + Сред(Строка, ИсхПозиция, 2);
КонецЦикла;
Возврат Врег(Сред(Результат, 1, 8)+"-"+Сред(Результат, 9, 4)+"-"+Сред(Результат, 13, 4)+"-"+Сред(Результат, 17, 4)+"-"+Сред(Результат, 21, 12));
КонецФункции
paveldv92; +1 Ответить
4. Igor Александрович (igor_1c) 13.10.11 13:14
5. arjuna (arjuna) 16.10.12 00:00
6. Владимир Абакумов (knight2007) 16.10.12 08:25
(4) igor_1c, это про 1С или про методы, помогающие ковертировать UID?
7. Владимир Абакумов (knight2007) 16.10.12 08:25
(5) arjuna, спасибо за развернутый комментарий...
8. Виталий Быков (sick_russian) 04.11.13 08:30
можно было попроще) надо же просто кусочки ключа в определенном порядке переставить)

гуид = Строка(докссылка.УникальныйИдентификатор());
Для й = 1 по СтрЧислоВхождений(гуид,"-") Цикл
гуид = СтрЗаменить(гуид,"-", Символы.ПС);
КонецЦикла;
скульныйгуид = "0x" + СтрПолучитьСтроку(гуид,4) + СтрПолучитьСтроку(гуид,5) + СтрПолучитьСтроку(гуид,3) + СтрПолучитьСтроку(гуид,2) + СтрПолучитьСтроку(гуид,1);

Сообщить(скульныйгуид);
9. Владимир Абакумов (knight2007) 04.11.13 11:17
(8) sick_russian,
да можно. Вариантов кучу уже предложили.
Но нужно было не загружая 1С :)
10. Юрий (hakim-aka) 25.12.14 15:30
В sql гуид имеет такой вид 0x91300bd4a49e7db34be9ba7f2c1bf3ee, всегда начинается с 0x . А эти функции ни чего такого не делают. И кроме того они возвращают нечто с дефисами, а в моем примере дефиса нет. Объясните пожалуйста как искать гуид в 1с есль есть гуид sql вида 0x91300bd4a49e7db34be9ba7f2c1bf3ee?
11. Сергей Самошин (saiten) 25.12.14 15:34
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа