Имя: Пароль:
1C
1С v8
Как получить GUID элемента/документа в запросе?
,
0 andrewks
 
05.01.12
09:47
сабж
1 ДенисЧ
 
05.01.12
09:49
нафея?
2 DCKiller
 
05.01.12
09:50
никаг, наверно
3 andrewks
 
05.01.12
09:50
(1) а вот хочется
4 Кириллка
 
05.01.12
09:50
так ссылка и есть гуид
5 ДенисЧ
 
05.01.12
09:51
Бери ссылку.
Потом разыменовывай
6 vmv
 
05.01.12
09:51
хмлзачение(цилка)
7 vmv
 
05.01.12
09:52
ну или в строку или короче смотри методы хмл я кофе пью
8 DCKiller
 
05.01.12
09:52
(3) рифму знаешь?
Тут не просто так эти вопросы задают. Может быть, то, для чего тебе это нужно, можно достичь и другим способом.
9 Sammo
 
05.01.12
09:52
Емнип, в 8.2.14 релизе озвучивали что стало возможно, но не проверял.
Но зуб не дам.
А так - в зависимости от дальнешего использования...
10 andrewks
 
05.01.12
09:53
хорошо, зайдём с другого угла.

если я потом в выборке буду делать Ссылка.УникальныйИдентификатор() - дополнительных вызовов сервера не будет?
11 andrewks
 
05.01.12
09:54
(8) рифму знаю. вопрос на данном этапе скорее теоретический.
12 vmv
 
05.01.12
09:54
(10) направление директив вызова УИ() религия не позволяет посмореть в СП
13 andrewks
 
05.01.12
09:55
(12) шо? там не сказано про вызов сервера
14 Кириллка
 
05.01.12
09:57
если подумать, то реализация ссылки - это представление(код или наим) + идентификатор + слжебка какая. Представление для пользователей. Идентификатор для сравнений. Я за то, что идент есть уже в объекте и за ним лезть не нужно в базу :)
15 Кириллка
 
05.01.12
09:58
+14 это если с тз разраба смотреть
16 andrewks
 
05.01.12
09:58
(14) логически-то оно, конечно, так... но это же 1с. надо проверить
17 vmv
 
05.01.12
09:59
XMLСтрока(Выборка.Ссылка) що даст, цицки жабы?
18 vmv
 
05.01.12
10:07
XMLСтрока(Ссылка) = "b2d33b65-7a92-11d9-b797-505054503030"

это в отладчике при открытии элемента справочника Контрагенты поставил точку.

морочишь голову только

зная хмл-гуид, ты знаешь сам гуид и четко идентифицируешь цилку
19 vmv
 
05.01.12
10:15
XMLСтрока(<Значение>)
....
Доступность: Сервер, толстый клиент, внешнее соединение.

Так что если обработка запроса происходит на клиенте то XMLСтрока(Выборка.Ссылка) будет "дерагать" сервер.

А чистая клиентская конструкция Строка(Выборка.Ссылка.УникальныйИдентификатор()) это не хмл-гуид, часто не соотвествует
20 andrewks
 
05.01.12
11:52
(19) что значит - "часто не соотвествует"?
т.е. выдаются разные идентификаторы? как же так?
21 vmv
 
05.01.12
12:07
(20) а ты проверь и посмотри хмл-строка и строка да разные получаються и получить потом ссылку через из строки полученной методом Строка(Выборка.Ссылка.УникальныйИдентификатор())

XMLЗначение(<Тип>, <СтрокаXML>)

хренушки часто)
22 andrewks
 
05.01.12
17:36
(21) очень часто, говоришь? именно для ссылочного типа? а можно хоть один пример?
23 vmv
 
05.01.12
17:39
(22) я просто подожду когда ты создать тему "Развалил базу, что делать", там будут примеры и твердая убежденность в том, что оперировать с гуидом как сотрокой глупо, а как с хмлстрокой верно.
24 andrewks
 
05.01.12
17:39
(23) долго ждать. может, щас всё обсудим?
25 vmv
 
05.01.12
17:42
ну сваяй цикл допустим на 10000 итераций, для тесового справочника, где создавай ссылку нового, записывай и собирай табличку где колонки

СтрокаГуид и СтрокаХМЛГуид.

Вместе посмотрим, че слабо шоли цикл написать для нормальных пацанов)
26 vmv
 
05.01.12
17:44
и треться колонка булево по значению
(СтрокаГуид = СтрокаХМЛГуид)
27 andrewks
 
05.01.12
18:15
(25) всё чётко, ни одного промаха.
у тебя были прецеденты?
28 andrewks
 
06.01.12
09:31
кто-нибудь ещё встречался с фактами несовпадения возвращаемых гуидов от УникальныйИдентификатор() и XMLСтрока()?
29 vmv
 
06.01.12
14:05
Строка(Ссылка.УникальныйИдентификатор()) и XMLСтрока(СсылкаУникальныйИдентификатор())
30 andrewks
 
06.01.12
14:12
(29) чего? можно внятно объяснить?

вот код, если ты про это


   Для пц=1 по 10000 Цикл
       ТекЭл=Справочники.Номенклатура.СоздатьЭлемент();
       ТекЭл.Наименование=Строка(пц);
       ТекЭл.Записать();
       ТекСтр=ТабРез.Добавить();
       ТекСтр.ГУИД=Строка(ТекЭл.Ссылка.УникальныйИдентификатор());
       ТекСтр.ГУИД_ХМЛ=XMLСтрока(ТекЭл.Ссылка);
       ТекСтр.Равно=(ТекСтр.ГУИД=ТекСтр.ГУИД_ХМЛ);
   КонецЦикла;
31 Лефмихалыч
 
06.01.12
14:14
(10) а проверить? счетчик обращений к серверу же не даром, что просто так добавлен, им еще и пользоваться можно :)
32 andrewks
 
06.01.12
14:15
(31) а форум тогда для чего?  ;-)