Имя: Пароль:
1C
1С v8
Самый простой способ получить пустой уникальный идентификатор?
0 TormozIT
 
гуру
05.08.18
10:02
Знаю такой способ №1:

Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000")

Но запоминать количество нулей и даже писать их - напрягает.

Также знаю способ №2:

б = Новый ОписаниеТипов("УникальныйИдентификатор");
б = б.ПривестиЗначение();

Но 2 присвоения писать иногда неудобно, т.к. хочется прямо в выражении такое значение написать.
1 Dmitry1c
 
05.08.18
10:12
Жесть, а я думал это мне в воскресенье заняться нечем.
2 PuhUfa
 
05.08.18
10:33
(0) а зачем? а так вообще ctrl+f1
3 TormozIT
 
гуру
05.08.18
10:39
(2) Спасибо. Теперь все ясно. (Сарказм)
5 Лефмихалыч
 
05.08.18
11:01
МойСуперМодульДляВсякойВажнойХрени.ПустойУИД()
6 TormozIT
 
гуру
05.08.18
11:08
(5) Без общих модулей хотелось бы, т.к. иногда нужно писать и выполнять код через Выполнить() в чужих конфигурациях, которые менять нельзя.
7 DrShad
 
05.08.18
11:10
тогда запихни в макет и оттуда читай
8 Лефмихалыч
 
05.08.18
11:50
(6) МойСуперМодульДляВсякойВажнойХрени= ВнешниеОбработки.Создать(ПолноеИмяФайла);
9 RomanYS
 
05.08.18
12:06
Справочники.Валюты.ПустаяСсылка().УникальныйИдентификатор()

но это тоже не унивеверсально
10 mszsuz
 
05.08.18
14:33
Ещё вариант: добавить в шаблон и выбирать по Ctrl-Q
11 sechs
 
05.08.18
14:48
(10) Запоминать сочетание клавиш и необходимость нажимать их - напрягает.

[=
12 TormozIT
 
гуру
05.08.18
15:39
(10) Да. Пока придется использовать шаблон. Но файл шаблонов обновлять в каждой учетке ОС тоже бывает напряжно, если их много.
13 TormozIT
 
гуру
05.08.18
15:42
(9) Неплохой вариант, но только тогда уж
Справочники[Метаданные.Справочники[0].Имя].ПустаяСсылка().УникальныйИдентификатор()
Но например в чистой конфигурации не будет работать.
14 RomanYS
 
05.08.18
16:04
(13) да плохой вариант
Никакой альтернативы Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000") нет, и лень не повод её искать
15 sechs
 
05.08.18
16:10
(13) Еще через создание пользователя информационной базы можно. Ну, если прав хватит (=
16 sechs
 
05.08.18
16:11
А еще можно завести себе в обработке пустой реквизит и читать оттуда
17 RomanYS
 
05.08.18
16:22
(15)
ПользователиИнформационнойБазы.СоздатьПользователя().УникальныйИдентификатор

Реально работает, но за такое надо руки, наверное, рубить )
18 sechs
 
05.08.18
16:24
(17) Голову же (=
19 Сияющий в темноте
 
06.08.18
14:32
на какие только ухищрения не идут люди,чтобы не писать 32 нуля и четыре черточки
а зачем вообще нужен нулевой идентификатор,если для каждой ссылки можно пустоту проверить?
20 s03
 
06.08.18
14:38
(19) в некоторых реквизитах именно УИД хранится и при отборе по пустому значению бывает надо
21 иубиповец
 
06.08.18
14:54
еще способ:)
Стр = "";
для ин = 1 по 32 цикл
Если ин = 9 или ин = 14 или ин = 19 или ин = 24 тогда
Стр = стр +"-";
КонецЕсли;
Стр = Стр + "0";

КонецЦикла;
УИД = Новый УникальныйИдентификатор(стр);
:)
22 иубиповец
 
06.08.18
14:56
ну по крайней мере смысл такой, а отлаживать подобную дичь не очень охота:)
23 Fragster
 
гуру
06.08.18
14:56
Новый УникальныйИдентификатор(XMLСтрока(ЛюбойСправочник.ПустаяСсылка()))
24 Fragster
 
гуру
06.08.18
15:03
ЛюбойСправочник.ПустаяСсылка().УникальныйИдентификатор()
25 Xapac
 
06.08.18
15:10
Новый УникальныйИдентификатор()

а так что не нравится?
26 Eiffil123
 
06.08.18
15:13
вообще как часто пустой УИД нужно создавать? ЭТож какие задачи нужно решать.

Для таких особо ценных случаев нужно завести текстовый документ и в него записать.
27 Eiffil123
 
06.08.18
15:14
(25) так он же не пустой
28 Xapac
 
06.08.18
15:33
(27)ааа надо пустой получить.
а зачем?
29 Вафель
 
06.08.18
15:34
Сохрани на гисте или еще где этот код и копируй его )))
30 Вафель
 
06.08.18
15:35
ну или юзай турбоконф/снегопат
31 stix2010
 
06.08.18
15:37
а если так  
Новый  ОписаниеТипов("УникальныйИдентификатор").ПривестиЗначение();
32 singlych
 
06.08.18
15:51
Ну если прям сильно в одну строку надо

СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Новый УникальныйИдентификатор(), "1", "0"), "2", "0"), "3", "0"), "4", "0"), "5", "0"), "6", "0"), "7", "0"), "8", "0"), "9", "0"), "a", "0"), "b", "0"), "c", "0"), "d", "0"), "e", "0"), "f", "0");
33 Deon
 
06.08.18
16:02
(31) не, не фурычит
34 Вафель
 
06.08.18
16:09
(33) там скобочек не хватает
35 Deon
 
06.08.18
16:12
(34) Где?
36 Вафель
 
06.08.18
16:12
(35) это задачка на сообразительность
37 Deon
 
06.08.18
16:13
(36) Я сдаюсь.
38 Вафель
 
06.08.18
16:14
(37) тогда это останется для тебя загадкой на всю жизнь )))
39 palsergeich
 
06.08.18
16:16
(32) А ты хорош.
40 Deon
 
06.08.18
16:17
(38) Думаю, ты меня напарил
41 youalex
 
06.08.18
16:41
А Вычислить("") можно считать одной строкой по условию?
42 Локи-13
 
06.08.18
17:07
(0) >>>Но запоминать количество нулей и даже писать их - напрягает.

Ctrl+C - Ctrl+V
43 youalex
 
06.08.18
17:08
типа такого:
Вычислить("Новый ОписаниеТипов(""УникальныйИдентификатор"")").ПривестиЗначение()
44 Локи-13
 
06.08.18
17:13
и вообще чо там запоминать: 8, 3 по 4, 12
это проще чем все остальное написанное
45 Сияющий в темноте
 
06.08.18
22:40
У меня,например,в си вывод гуида в строку выглядит достаточно интересно через чтение массива параметров разбора.а гуид этл всего лишь 16 байт или 4 32битных числа