Получение ссылки по GUIDу в COMConnector (1Cv8)
Источник: http://kb.mista.ru/article.php?id=649&
Много вопросов вызывает процедура получения ссылки на COMобъект по строковому представлению уникального идентификатора объекта. Приведен метод получения такой ссылки и строкового образа объекта в варианте "из 1С8 смотрим в 1С8"
Ключевые слова: COMСоединение, УникальныйИдентификатор, Ссылка
Известно:
- ИмяДокумента (Тип Строка)
- УникальныйИдентификатор искомого документа в базе-источнике (тип Строка)
- COMСоединение установлено.
МД=ВнешняяБаза.XMLTypeOf(ВнешняяБаза.Документы[ИмяДокумента].ПустаяСсылка());
Попытка
тСсылка=ВнешняяБаза.XMLValue(ВнешняяБаза.FromXMLType(МД),ЭтотУникальныйИдентификатор);
Исключение
Сообщить("COM: "+ОписаниеОшибки());
возврат;
КонецПопытки;
тОбъект=тСсылка.ПолучитьОбъект();
ЗаписьXML=ВнешняяБаза.NewObject("ЗаписьXML");
ЗаписьXML.УстановитьСтроку();
ВнешняяБаза.WriteXML(ЗаписьXML,тОбъект);
тСтрXML=ЗаписьXML.Закрыть();
Для перечислений:
- ИмяПеречисления (Тип Строка)
- ИмяЗначенияПеречисления (Тип Строка)
- COMСоединение установлено.
МД=ВнешняяБаза.XMLTypeOf(ВнешняяБаза.Перечисления[ИмяПеречисления].ПустаяСсылка());
Попытка
тСсылка=ВнешняяБаза.XMLValue(ВнешняяБаза.FromXMLType(МД),ИмяЗначенияПеречисления);
Исключение
Сообщить("COM: "+ОписаниеОшибки());
возврат;
КонецПопытки;
в переменной тСсылка - лежит Ссылка на объект (тип COMОбъект)