|
Есть уид объекта, как проще всего получить по нему ссылку? | ☑ | ||
---|---|---|---|---|
0
izekia
24.10.11
✎
21:34
|
Я так понял надо знать конкретного менеджера типа?
|
|||
1
Лефмихалыч
24.10.11
✎
21:35
|
если тип не известен, то ни как, акромя перебора всех типов с получитьСсылку()
|
|||
2
izekia
24.10.11
✎
21:44
|
(1) тип есть на другой стороне кома, но получается в любом случае строку парсить?
|
|||
3
Лефмихалыч
24.10.11
✎
21:50
|
(2) на другой стороне кого?..
я телепатические способности в других штанах забыл, представь, что я в душе ниипу, что у тебя там происходит и попробуй сформулировать так, чтобы вопрос понятен был |
|||
4
Fragster
гуру
24.10.11
✎
21:51
|
есть что-то типа Метаданные.НайтиПоПолномуИмени, куда можно передать полное имя метаданных из кома, а у метаданных уже получить тип
|
|||
5
izekia
24.10.11
✎
21:51
|
(3) да по сути ответ на вопрос получил, спасибо ...
|
|||
6
Живой Ископаемый
24.10.11
✎
22:28
|
а еще есть СТрокаXML и ТипXML и еще несколько полезных функций
|
|||
7
Лефмихалыч
24.10.11
✎
22:30
|
(6) если кроме гуида ни чорта нет, то не поможет, хоть коленку прстрели
|
|||
8
Живой Ископаемый
24.10.11
✎
22:32
|
Это мой телепат в незабытых штанах навоображал мне что раз он в том коме имеет объект, то аргументом в эти функции может передать... но почва для этих спекуляций конечна зыбкая...
|
|||
9
izekia
24.10.11
✎
22:43
|
парни, уже все сделал через метаданные ... в смысле получил то что мне было нужно ...
суть была в том, что у меня ком соединение, и нужно получить соответствующий объект на другой стороне ... спасибо за участие |
|||
10
Живой Ископаемый
24.10.11
✎
22:44
|
но объект хоть того же типа?
|
|||
11
izekia
24.10.11
✎
22:57
|
(10) да, базы одинаковые, просто задача была в запросе нужный параметр указать, чтобы результаты выборки теми же были
|
|||
12
izekia
24.10.11
✎
22:57
|
(11) + в смысле вторая база - это копия первой
|
|||
13
Лефмихалыч
24.10.11
✎
23:06
|
(12) тогда тебе тип заранее известен
|
|||
14
izekia
25.10.11
✎
10:35
|
(12) ну да, просто стояла задача получить соответствующего менеджера ...
на самом деле еще интересно было понять ... интересно почему нет общего метода для уида, ведь фактически это уникальное значение для всех объектов |
|||
15
Рэйв
25.10.11
✎
10:40
|
Если откуда то получил гуид, что мешает получить ссылку?
|
|||
16
Рэйв
25.10.11
✎
10:40
|
не сам же ты гуид из головы взял?
|
|||
17
Fragster
гуру
25.10.11
✎
10:41
|
(14)
УИД = Новый УникальныйИдентификатор(); Спр = Справочники.Контрагенты.СоздатьЭлемент(); // или что там Спр.УстановитьСсылкуНового(Справочники.Контрагенты.ПолучитьСсылку(УИД)); Спр = Справочники.Склады.СоздатьЭлемент(); // или что там Спр.УстановитьСсылкуНового(Справочники.Склады.ПолучитьСсылку(УИД)); |
|||
18
Defender aka LINN
25.10.11
✎
10:45
|
Если с обоих сторон одна и та же конфигурация (ну, например, копия или другой узел РБД), то можно через ЗначениеВстрокуВнутр/ЗначениеИзСтрокиВнутр передать ссылку. Дешево и сердито.
|
|||
19
Defender aka LINN
25.10.11
✎
10:46
|
(14) "Фактически" и "Теоретически" путать не надо.
|
|||
20
Sammo
25.10.11
✎
10:50
|
(14) Теоретически. Практически руками возможно создать объекты разных метаданных с одинаковым уидом. (например справочник и документ)
|
|||
21
izekia
25.10.11
✎
10:54
|
(19) не понял к чему это
(20) это не тот случай (18) точно, спасибо .. надо попробовать сравнить быстродействие |
|||
22
izekia
25.10.11
✎
10:58
|
+(21) хотя в принципе в том месте быстродействие не критично:
у меня так получилось: строкаТип = значение.Метаданные().ПолноеИмя(); поз = Найти(строкаТип, "."); типСтрокой = _СоответствияЕдЧМнЧ[Лев(строкаТип, поз - 1)]; соединение[типСтрокой][Сред(строкаТип, поз +1)].ПолучитьСсылку(соединение.NewObject("УникальныйИдентификатор", Строка(значение.УникальныйИдентификатор()))); думаю из строки в строку быстрее будет в любом случае |
|||
23
Fragster
гуру
25.10.11
✎
11:16
|
(18) это если один и тот же .cf использовался прокатит. не всегда может прокатить...
|
|||
24
izekia
25.10.11
✎
11:18
|
(23) в теме речь о копии базы, соответственно cf либо идентичен либо потомок
|
|||
25
Sammo
25.10.11
✎
11:20
|
(23) Я бы даже уточнил - идентификаторы метаданных будут совпадать только в случае использования загрузки/выгрузки (поставки) конфигурации.
Если через сравнение/объединение уже без гарантий... |
|||
26
izekia
25.10.11
✎
11:22
|
(25) в случае сравнения-объединения ид существующих объектов очень редко меняются, гипотетически такая ситуация может возникнуть, но в реальности не так часто с этим сталкивался
|
|||
27
Живой Ископаемый
25.10.11
✎
11:38
|
2(22)это не православно. Православно использовать это:
http://screencast.com/t/U82iile3LODB Пока мы в своей базе: XMLСтрока(Перечисления.СтавкиНДС.БезНДС) БезНДС; //получили представление значение XMLТипЗнч(Перечисления.СтавкиНДС.БезНДС).ИмяТипа EnumRef.СтавкиНДС //получили представление типа XMLТипЗнч(Перечисления.СтавкиНДС.БезНДС).URIПространстваИмен //получили пространство имен Теперь когда мы КОМом в другой базе: ИзXMLТипа("EnumRef.СтавкиНДС","") Ставки НДС//получили тип на той стороне по представлению и пространству имен XMLЗначение(ИзXMLТипа("EnumRef.СтавкиНДС",""),"БезНДС") Без НДС//получили значение по уже собранному типу и ХМЛ-представлению объекта в твоем случае вместо ставки ндса будет типа XMLСтрока(ПланыСчетов.Хозрасчетный.Вспомогательный) a3fe5c24-1e8b-45af-84af-060de4d64254 - то есть УИД |
|||
28
Живой Ископаемый
25.10.11
✎
11:40
|
Почему метаданные неправильно... Потому что все мы помним что случилось при переходе с 8.1 на 8.2 все кто завязывался на представление типа в метаданных обломались и судорожно искали как переписать свой копрокод.
|
|||
29
Fragster
гуру
25.10.11
✎
11:41
|
(27) спасибо!
|
|||
30
izekia
25.10.11
✎
11:41
|
(27) (28) понял, спасибо ... действительно надо в эту сторону смотреть
|
|||
31
Живой Ископаемый
25.10.11
✎
11:43
|
дядьки, я аж зарделся... :)
|
|||
32
Fragster
гуру
25.10.11
✎
11:44
|
(31) мне на 8.2 только предстоит перевод моего гомункула в первом квартале - соответственно все грабли стараюсь учесть потихоньку
|
|||
33
Живой Ископаемый
25.10.11
✎
11:46
|
а!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |