Имя: Пароль:
1C
1С v8
Проверить входной параметр УИД (строка) как УникальныйИдентификатор
, ,
0 palpetrovich
 
21.07.21
18:01
Результат = Справочники.Товары.ПолучитьСсылку(Новый УникальныйИдентификатор(УИД));

ПолучитьСсылку работает если в УИД тип значения и "УникальныйИдентификатор" и "Строка". Есть какая-то стандартная проверка "Строки" на соответствие правилам построения УИД?

к примеру:
Новый УникальныйИдентификатор(""бла-бла-бла-бла-бла"")    {(1)}: Ошибка при вызове конструктора (УникальныйИдентификатор)    
Новый УникальныйИдентификатор("714579b5-49d2-11e6-80c3-005056a817fa")    714579b5-49d2-11e6-80c3-005056a817fa    УникальныйИдентификатор

как отследить что передано корректное значение? ... использовать попытку что то не хочется
1 Ёпрст
 
21.07.21
18:04
Попытка ..быстрее всего
2 palpetrovich
 
21.07.21
18:05
+0 может вообще не париться?
все равно
Справочники.Товары.ПолучитьСсылку(Новый УникальныйИдентификатор("бла-бла-бла-бла-бла"))
ничего не вернет... да и ругаться не будет наверное
3 Ёпрст
 
21.07.21
18:05
(2) вернёт ошибку
4 Ёпрст
 
21.07.21
18:05
и будет ругаться
5 Ёпрст
 
21.07.21
18:05
и будет ошибка исполнения кода
6 palpetrovich
 
21.07.21
18:06
(3) прав
7 ДенисЧ
 
21.07.21
18:06
Попытка
уид = новый УникальныйИдентификатор(строкаИД);
исключение
  сообщить("Ты втираешь мне чушь, а не гуид!");
КонеЦПопытка
8 palpetrovich
 
21.07.21
18:09
(7) да вот не хотелось попытку. Но если по другому никак - прийдется
9 ДенисЧ
 
21.07.21
18:10
(8) Кто тебе мешает распарсить строку? Формат гуида известен... Но тут уже из области занятий кота, которому делать нечего...
10 Вафель
 
21.07.21
18:12
чтож вы так попытки то не любите
11 mikecool
 
21.07.21
18:12
12 mikecool
 
21.07.21
18:12
+11 без попыток
UUID:
^[0-9A-Fa-f]{8}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{12}$
13 ДенисЧ
 
21.07.21
18:13
Во. Вместо того, чтобы дать платформе сделать своё дело, будем городить лес из подпорок и костылей. Вместо цемента, разумеется, всё по госту ГОСТ 26074-84
14 palpetrovich
 
21.07.21
18:13
(12) круто! )
15 mikecool
 
21.07.21
18:13
и вообще - пора на NanoID переходить ))
16 palpetrovich
 
21.07.21
18:14
(13) :)
17 polosov
 
21.07.21
18:17
СтроковыеФункцииКлиентСервер.ЭтоУникальныйИдентификатор()
18 TormozIT
 
гуру
21.07.21
22:36
(12) У всех движков регулярных выражений есть флаг не чувствительности к регистру букв. Чтобы не захламлять рег. выражение обоими вариантами регистра, лучше использовать только один регистр букв и включать этот флаг.
19 palpetrovich
 
22.07.21
10:09
(17) Спасибо, годится